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

更新时间:2023-09-03 04:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12

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

本章学习目标

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

7.1 Windows NT进程、线程的特点

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

返回首页

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

返回本节

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

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

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

7.1.3 线程调度

在 Windows NT中,一个线程在它的生命期中要经 历以下6种状态:

(1)就绪状态(2)备用状态

(3)运行状态(4)等待状态 (5)转换状态 (6)终止状态(如图7.1所示)

创建并初始化线程对 象 初始化 放入就绪队列 选择执行 备用 描述表切换并开 始执行(调度) 终止 重新初始化

就绪资源成为 可用的 等待完成

抢先 抢先或时间片结束

执行完成运行

转换

资源不可用 线程等待一 个对象句柄 等待

图7.1 线程的调度状态之间的转化图返回本节

7.2 UNIX进程管理

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

返回首页

7.2.1 UNIX进程状态

UNIX中共有9种进程状态:

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

(5)就绪且换出

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

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

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

内存中睡眠 4 换出 6

fork

睡眠且交换

图7.2 UNIX进程状态转化图

返回本节

7.2.2 UNIX进程描述(1)一个进程是对一个程序的执行。 ( 2 )一个进程的存在意味着系统中存在着一个常驻 内存的进程表项(proc结构),它包含着相应进程 的控制信息。 (3)对每一个进程,有一个被称为U区的数据结构, 这个结构中存放着该进程的私用控制信息。 (4)一个进程可以生成或撤销其子进程。

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

7.2.3 UNIX进程控制

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

7.2.4 UNIX进程调度

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

调度

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

N

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

CPU空闲

从就绪队列中移出

切换到该进程的上下文

恢复其执行

图7.3 UNIX进程调度算法返回本节

7.3 UNIX进程通信与同步机制

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

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

返回首页

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

返回本节

7.4 Windows NT文件系统

7.4.1 FAT文件分配表 7.4.2 NTFS文件系统

返回首页

7.4.1 FAT文件分配表

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

(1)支持长文件名。

(2)不提供本地

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

返回本节

本文来源:https://www.bwwdw.com/article/clri.html

Top