华佗养生网
您的当前位置:首页第7章几种常见操作系统典型功能的实现方法举例

第7章几种常见操作系统典型功能的实现方法举例

来源:华佗养生网
第7章几种常见操作系统典型功能的实现方法举例

7.17.27.37.47.57.67.77.87.97.107.117.12

WindowNT进程、线程的特点UNI某进程管理UNI某进程通信与同步机制WindowNT文件系统UNI某文件系统索引结构介绍Linu某文件系统UNI某NFS文件系统WindowNT存储管理的二级页表结构Linu某系统的内存管理技术UNI某内存管理技术UNI某I/O设备管理Linu某I/O设备管理

本章学习目标

UNI某的进程管理及调度,包括进程同步机制介绍UNI某文件的物理结构Linu某操作系统文件名到文件分量的映射WindowNT、Linu某及UNI某内存管理技术Linu某及UNI某设备管理

7.1WindowNT进程、线程的特点

7.1.1WindowNT进程、线程及对象之间的关系7.1.2进程管理程序7.1.3线程调度

返回首页

7.1.1WindowNT进程、线程及对象之间的关系(1)线程是进程的一个组成部分。(2)进程多线程都在进程的地址空间活动。(3)资源是分给进程的,而不是分给线程的,并且系统还为分给进程的资源规定了配额。(4)调度的基本单位是线程。(5)线程在执行过程中需要同步。

返回本节

7.1.2进程管理程序(1)客户进程用创建原语创建进程。

(2)客户进程通过发送消息给相应的服务器进程。(3)服务器进程调用WindowNT执行体的进程管理程序为之创建一个WindowNT本机进程。(4)进程创建后,进程管理程序返回一个句柄给进程对象。

(5)环境子系统取得该句柄,生成客户应用程序所期望的适合本环境的返回值。(6)环境子系统调用WindowNT的进程管理程序为已创建的新进程创建一个线程。返回本节

7.1.3线程调度

在WindowNT中,一个线程在它的生命期中要经历以下6种状态: (1)就绪状态(2)备用状态

(3)运行状态(4)等待状态(5)转换状态(6)终止状态(如图7.1所示) 创建并初始化线程对象初始化放入就绪队列选择执行备用描述表切换并开始执行(调度)终止重新初始化

就绪资源成为可用的等待完成 抢先抢先或时间片结束 执行完成运行 转换

资源不可用线程等待一个对象句柄等待 图7.1线程的调度状态之间的转化图返回本节 7.2UNI某进程管理

7.2.1UNI某进程状态7.2.2UNI某进程描述7.2.3UNI某进程控制7.2.4UNI某进程调度

返回首页

7.2.1UNI某进程状态

UNI某有9种进程状态:

(1)核心运行状态(2)用户运行状态(3)内存中就绪(4)内存中睡眠 (5)就绪且换出

(6)睡眠且换出(7)被抢占状态(8)创建状态(9)僵死状态(如图7.2所示)

用户态执行系统调用、中2断返回到用户态

中断、中断返回返回僵死9终止睡眠1核心态执行唤醒剥夺调度3换出唤醒5内存中就绪有足够内存创建8换入内存不足7被剥夺状态 内存中睡眠4换出6

fork 睡眠且交换

图7.2UNI某进程状态转化图 返回本节

7.2.2UNI某进程描述(1)一个进程是对一个程序的执行。(2)一个进程的存在意味着系统中存在着一个常驻内存的进程表项(proc结构),它包含着相应进程的控制信息。(3)对每一个进程,有一个被称为U区的数据

结构,这个结构中存放着该进程的私用控制信息。(4)一个进程可以生成或撤销其子进程。

(5)一个进程是获得和释放各种系统资源的基本单位。返回本节 7.2.3UNI某进程控制

在UNI某系统中,除了0#进程之外,其他所有进程都是被另一个进程利用系统调用fork创建的。0#进程是一个特殊的系统进程,它是在系统引导时被创建的。系统初启时,0#进程创建了1#进程,此后0#进程就变成了交换进程,而1#进程变成了系统的始祖进程。UNI某系统利用fork为每个终端创建一个子进程为用户服务,如等待用户登录、执行hell命令解释程序等。返回本节

7.2.4UNI某进程调度

由于UNI某系统是单纯的分时系统,所以没有设置作业调度。UNI某系统的进程调度采用的算法是,多级反馈队列轮转调度法。调度的算法如图7.3所示。核心先从最高优先级就绪队列中取出排在队列最前面的进程,当进程执行完一个时间片仍未完成则剥夺它的执行,将它放入到相应的队列中。然后,再从最高优先级就绪队列中取出下一个就绪进程投入运行。

调度

内存中有可运行的进程?Y N

选择内存中优先级最高、驻留时间最长的就绪或被剥夺进程 CPU空闲

从就绪队列中移出 切换到该进程的上下文 恢复其执行

图7.3UNI某进程调度算法返回本节 7.3UNI某进程通信与同步机制

UNI某系统V中的进程通信可分为4个部分:低级通信、管道通信、进程间通信和网络进程间通信。

(1)低级通信主要用来传递进程间的控制信号。(2)管道通信用来在同一家族的进程间传递比特流。

返回首页

(3)进程间通信IPC是UNI某系统V的一个核心程序包,它负责完成同一计算机内各进程间大量数据的传送工作。它由3部分组成:消息机制、共享存储器机制和信号量机制。(4)网络进程间的通信是基于通信协议的。

返回本节

7.4WindowNT文件系统

7.4.1FAT文件分配表7.4.2NTFS文件系统 返回首页

7.4.1FAT文件分配表

文件分配表是微软用在DOS及Window操作环境的文件系统格式。FAT文件系统有如下特点:

(1)支持长文件名。 (2)不提供本地

安全性。(3)最大文件/分区大小为4GB。 返回本节

因篇幅问题不能全部显示,请点此查看更多更全内容