操作系统结构与用户接口

操作系统结构与用户接口

ID:40492966

大小:265.84 KB

页数:20页

时间:2019-08-03

操作系统结构与用户接口_第1页
操作系统结构与用户接口_第2页
操作系统结构与用户接口_第3页
操作系统结构与用户接口_第4页
操作系统结构与用户接口_第5页
资源描述:

《操作系统结构与用户接口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四讲操作系统结构与用户接口授课目的与要求:了解典型操作系统结构及用户使用操作系统的方法。授课重点与难点:嵌入用户进程执行模式结构,命令解释器及系统调用实现。作业安排:8,9,10,11。2.3操作系统运行模型操作系统核心的主要功能模块介绍如下:系统初始化模块:准备系统运行环境,最后为每个终端创建一个进程,运行命令解释程序。进程管理模块:处理进程类系统调用(如进程创建/结束等)和进程调度。存储管理模块:配合进程管理,分配进程空间;处理存储类系统调用(如动态增加进程空间);在虚存系统缺页异常时调入页面进行处理。文件管理模块:处理文件类系统调用。外设管理模块:负责外设驱

2、动和中断处理。操作系统三种模型:独立运行的内核:用户程序与核心程序在分离的运行环境中运行,核心程序作为一个独立的特殊执行体运行,有自己独立的运行栈。内核程序通过中断/例外机制启动运行。内核用户进程用户进程用户进程a.独立内核模式...用户进程用户进程用户进程内核程序b.操作系统嵌入用户进程中运行进程切换嵌入用户进程执行模式:操作系统核心程序通过中断/例外机制启动运行,但运行于被打断进程的核心栈上,其并发性较好。本书以后对操作系统知识的描述都是基于这种模式。…微内核模式:核心程序只包含中断处理,系统调用总控,进程调度等功能,其他功能由用户态运行的系统进程实现,这种结构

3、开销很大。用户进程用户进程用户进程系统进程系统进程进程切换(微内核)......c.操作系统功能以系统进程运行2.4系统调用凡是涉及操作系统核心管理资源的操作必须由系统调用实现。1.主要系统调用进程管理:创建进程pid=fork()终止进程exit(status)等待子进程结束pid=waitpid(pid,…)替换进程映像s=execve(name,…)文件管理:创建文件fd=creat(name,…)打开文件fd=open(name,…)读文件n=read(fd,buffer,nbyte)写文件n=write(fd,buffer,nbyte)移动文件指针pos=

4、lseek(fd,offset,…)关闭文件s=close(fd)存储管理:动态申请/释放存储空间等;其他:设置/获得时间等。用户编程时不一定直接调用“系统调用”函数,而是调用更高层的库函数,如win32的API函数。2.自陷指令(trap)系统调用是一种特殊形式的转子程序方法,它导致处理机态的变化,为了方便编程,一般提供系统调用库,由其中的子程序来组织系统调用,用户程序调系统调用库的子程序。系统调用库程序一般格式为:..(传给核心参数按约定填入寄存器)trap.(从约定的寄存器中获得核心返回值)return系统调用库子程序功能:将要传给内核的参数按与操作系统的约定

5、填入寄存器,然后执行trap指令,之后执行指令从与操作系统约定的寄存器中获得返回值,安排好状态返回上级程序。处理机执行trap指令会导致控制转到操作系统的trap处理程序入口,trap处理程序获得参数后,按系统调用入口表转移。参数传递的一般形式如下:1)用寄存器传递参数。2)Trap指令自带参数。Trap指令是一条长指令,内核通过断点pc值加偏移获得参数。系统调用各模块关系图异步调用接口系统调用接口用户程序系统调用库内核总控系统调用处理总控Write处理磁盘控制器盘中断处理用户态核心态磁盘驱动程序用户程序3.系统调用实现举例系统调用的基本处理过程:系统调用write

6、(fd,…)是一个库子程序,该子程序用汇编语言编写,其中包含trap指令;处理机运行到Trap指令时,保护现场,转入内核总控;总控进一步保护现场,根据内中断类型转系统调用处理程序(转下页)。(续上页)系统调用处理程序根据系统调用号查系统调用入口表,得知该系统调用参数个数及处理程序入口地址,获得参数并转相应write处理程序;write处理程序将数据从用户缓冲区考入内核的系统缓冲区,…,调磁盘驱动程序启动IO函数,驱动程序生成一个磁盘请求包,启动磁盘传输(或排入磁盘请求队列),等待传输完成(保护现场,这时可重新调度进程,CPU切换到另一个进程…)。(转下页)磁盘I/O

7、完成即产生一个磁盘中断(这时正运行程序被中断打断),启动磁盘中断处理程序;磁盘中断处理程序清中断位,再从磁盘请求队列中取下一请求,启动磁盘传输;然后找到刚完成请求的请求包,标志成完成状态(这时先前进程从阻塞变成就绪,可被调度占用处理机),恢复相应栈中的现场,转write系统调用的后续处理程序...write处理程序处理结束后返回,系统调用处理总控程序将此次服务结果存入约定好的寄存器(或现场区);返回总控(这时会进行处理机调度),恢复现场,用户程序继续运行。异步调用接口系统调用接口用户程序系统调用库内核总控系统调用处理总控Write处理磁盘控制器盘中断处理用户态核

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。