«操作系统概念»(第六版)第三章 操作系统结构的翻译已经完成.详细内容请见http://www.tulipsys.com
可以从几个有利的位置来观察一个操作系统.首先是分析它所提供的服务.其次是分析它向用户与程序员提供的接口.最后是分析系统组件与这些组件之间的联系.本章我们将研究操作系统的这三个特征,并展现用户.程序员以及操作系统设计者的观点.我们要考虑:操作系统提供了什么样的服务.它是怎样提供这些服务的,以及设计这样的系统需要什么样的方法学理论. 【程序编程相关:vb6中word编程总结】 操作系统提供了执行程序的环境.在内部,操作系统的构成相当不同,它们沿着一些不同的思路组织.新的操作系统的设计是主要的工作(major task).设计之前必须要明确定义系统目标.针对所期望的系统类型选择算法与策略. 【推荐阅读:採用Direct3D實作四叉樹LOD之經】 构造像操作系统这样大型的复杂的系统就必须要将它划分成许多小块(piece,可以理解为子系统).每一小块必须是系统某一部分的详细定义,这包括输入.输出与功能.显然,不是所有的系统都有着同样的结构.然而许多现代操作系统有着同样的目标,就是支持从3.1.1节到3.1.8节所列出的系统组件. 【扩展信息:VC编程经验汇总(三)】 3.1 系统组件 3.1.1 进程管理 程序本身并不能做什么,只有在cpu执行它的指令时才能有所作为.可以把进程看作是正在运行的程序,但是当我们进一步研究时,对进程的定义将更为普遍.一个分时用户程序(如编译器)是一个进程.个人用户在pc上运行的字处理程序是一个进程.一个系统任务(如输出到打印机)也是一个进程.现在,我们认为进程是一个作业或分时程序,但是,稍后你将明白这个概念更加普遍.在第四章中将会看到我们可以提供允许进程创建与其并发执行的子进程的系统调用. 进程需要特定的资源(包括cpu时间.内存.文件与i/o设备)来完成工作.这些资源或者在进程创建时分配给它,或者在其运行时.除了在进程创建时所获得的各种物理资源与逻辑资源以外,各种各样的初始化数据(或输入)也可能一同传送.例如,考虑一个能够在终端的显示屏上显示一个文件状态的进程.这个进程将获得包含输入的文件名,并且将执行相应的指令与系统调用来获取所期望的信息并显示在终端上. 我们着重强调一个程序本身不是一个进程;程序是一个静态实体(passive entity)(像是存储在磁盘中的文件的内容),而进程是一个动态实体(active entity),它由一个程序计数器指明要执行的下一条指令.进程必须要按顺序执行.cpu执行完进程的一条指令后再执行下一条,直到进程结束.更进一步讲,最多执行一条代表该进程的指令.这样,从来就不会出现两个独立运行的序列.一个程序在运行时创建多个进程是非常普遍的. 在系统中,进程是工作单元.这样的系统由进程集合构成,有些是操作系统进程(那些执行的系统代码),其它的是用户进程(那些执行的用户代码).通过对cpu的多路复用,所有的这些进程可以被并发执行. 操作系统要负责下列与进程管理相关的工作: ·创建与撤销用户及系统进程 ·挂起与恢复进程 ·提供进程同步机制 ·提供进程通信机制 ·提供死锁处理机制... 下一页