购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.7 网络操作系统

历年试题中常将操作系统实例与操作系统原理结合起来考查,包括UNIX中的文件系统存储管理和Shell、Windows NT中的线程等概念。

1.UNIX系统
1)系统结构

UNIX是一个分时操作系统。它利用最内层硬件提供的基本服务,向外层提供全部应用程序所需要的服务。UNIX系统结构可分为3层,即最内层的UNIX操作系统核心,它包含文件管理子系统和进程控制子系统两个部分,进程控制子系统负责进程的创建、撤销、同步、通信、进程调度及存储管理;文件管理子系统负责对系统中的文件进行管理并提供高速缓冲机制。最外层是用户程序,包括许多应用软件。中间层则是Shell命令解释层、实用程序、库函数等,该层中的Shell解释程序是用户和UNIX的操作界面。

2)文件系统

UNIX中的文件可以分为3类,普通文件、目录文件和设备文件。

进程通过系统调用要求文件系统提供服务。例如Open,打开一个文件,准备读、写;Close,关闭文件;Write,写文件;Read,读文件;Stat,查询一个文件的属性;Chown,改变文件所有者;Chmod,改变文件存取许可权;Create,创建一个普通文件:Mkdir,创建一个目录文件;Cd,改变当前目录;Link,建立连接;Unlink,删除文件连接。

3)进程管理和存储管理

UNIX系统中进程控制子系统负责进程的创建、撤销、同步、通信、进程调度及存储管理。

● 系统控制:用于控制进程的系统调用有:一Fork,创建个子进程;Exec,改变执行程序的映像;Exit,结束一个进程的执行;Wait,暂停进程的执行,用于进程之间的同步,例如父进程等待子进程执行结束;Signal,控制进程对特别事件的响应;Kill,发送软中断信号;Msgsnd,发送消息;Msgrcv,接收消息。

● 进程调度方法:UNIX系统中的进程调度采用动态优先数的算法。

● 存储管理:UNIX采用段页式管理。分配的单位是块,如每块81(字节)。UNIX采用了LRU(最近最少使用算法)作为虚存中的淘汰算法。同时UNIX还使用交换技术和对换与请求调页混合的技术,可以有效地避免颠簸现象的出现。

4)Shell

UNIX系统中的命令解释程序称做Shell。命令行的一般形式是:命令名[参数,参数,…]。命令行可以带若干个参数,也可以不带参数。一个命令名对应于一个可执行文件。Shell在收到命令以后,查找相应文件,将其调入内存并且执行,命令行中的参数在相应程序执行时加以使用。

Shell向用户提供了重定向操作与管道操作。UNIX系统中有三个标准文件:标准输入文件、标准输出文件和标准错误文件,分别为0号文件、1号文件和2号文件。而且这些文件可以独立地被重新定向。例如命令ls把工作目录中的内容显示在标准输出文件上(即屏幕)。但命令:ls>Outfile,则将ls的输出重定向到当前目录下的文件Outfile上(若不存在,则创建此文件)。“>”是标准输出重定向符号。标准输入重定向的符号为“<”,标准错误重定向的符号为“2>”。另外,“>>”表示标准输出重定向且拼接。

管道是UNIX系统的一个重要特色,它允许在生产者进程与消费者进程之间传递数据流。管道机制建立了一个临时的“哑”文件(管道文件),把生产者进程的标准输出重定向到管道文件上,并启动消费者进程,将它的标准输入重定向到管道文件上(即从管道文件读),从而把两个进程的输出、输入连接起来。管道的记号为“|”。使用管道机制可以简化命令行的写法,例如三个连续的命令行:

可以表示为:

此外,UNIX系统还提供后台命令,例如:

表示用户不必等到对prog.c编译结束就可键入新的命令,Shell可以响应并处理新的命令,从而向用户提供了多个任务的并行。

2.Windows NT系统

Windows NT基于客户/服务器模式,采用微内核技术,支持对称多处理结构,支持多线程并行,支持多种硬件平台和多种网络协议。它采用16位标准字符集的单一代码方式(Unicode代码),支持国际字符集,提供性能良好的文件系统。

1)系统结构

Windows NT是一种对象式操作系统,所有的系统资源都被表示为对象。Windows NT采用层次式与客户/服务器模式相结合的系统结构。Windows NT共分三层,即用户模式、核心和硬件抽象层。

2)进程与线程

在Windows NT执行体中,进程是由对象管理器创建和删除的对象。每个进程创建时只有一个线程。根据需要,进程可以创建更多的线程。大多数进程是用户态进程,用户态进程通过系统调用访问操作系统。当核心态完成服务,在将控制权交还用户程序前将线程切换回用户态。应用程序在用户态下运行,Windows NT保护子系统也是如此。后者是提供重要的操作系统功能的用户态服务进程。

多线程进程实现的并行避免了进程之间并行的缺点:创建线程的开销比创建进程的开销要小,同一进程的线程共享进程的地址空间,所以线程的切换(处理器调度)比进程的切换快。

Windows NT内核采用优先级的方案选定线程执行的次序。高优先级线程先于低优先级线程执行。内核周期性地改变线程的优先级,以确保所有线程均能执行。

线程是进程的活动成分,它可以共享进程的资源与地址空间,通过线程的活动,进程可以同时提供多种服务(对服务器进程而言)或实行子任务并行(对用户进程而言)。每个Windows NT进程创建时只有一个线程,根据需要在运行过程中创建更多的线程(前者亦可称“主线程”)。显然,只有主线程的进程就是传统意义下的进程。内核负责线程的调度。线程的优先级可以动态地改变。采用线程机制的最大优点是节省开销。 8uVh912m7YhxE3GyEp1lrSfQm4lcXWiEM8u6s0by+LD31jy4a56a89SAvOQIzeqZ

点击中间区域
呼出菜单
上一章
目录
下一章
×