现代操作系统
分類: 图书,计算机/网络,操作系统/系统开发,其他,
作者: 汤小丹等编著
出 版 社: 电子工业出版社
出版时间: 2008-4-1字数: 758.5000版次: 1页数: 405印刷时间: 2008/04/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787121056581包装: 平装内容简介
本教材是对传统的和现代的操作系统(OS)作了较为全面的介绍。本书共分十七章:第1章为操作系统引论,介绍了OS的发展、传统的和现代的OS特征和功能,。第2~4章深入地阐述了进程(线程)管理、进程同步、处理机调度和死锁;第5、6章对连续和离散存储器管理方式及虚拟存储器进行了介绍;第7章是自下而上地对I/O系统的各个层次,作了较系统地阐述;第8、9章介绍了文件系统和磁盘存储器管理;第10章对用户接口,以及接口的实现方法做了介绍;从第11章开始到第15章,其内容都是与现代OS直接相关的。这几章的内容分别介绍多处理机OS、网络OS、多媒体OS和操作系统结构设计及系统安全性。第16、17章,介绍了一个OS实例Linux。
本教材可作为计算机硬件、软件、计算机应用和计算机通信等专业的本科生教材,也可作为研究生教材,以及从事计算机及通信工作的相关科技人员的参考。
目录
第1章操作系统引论
1.1操作系统的目标和作用
1.2操作系统的发展过程
1.3操作系统的基本特性
1.4现代操作系统的新特征
1.4.1传统0S演变为现代OS的主要因素
1.4.2多线程
1.4.3微内核
1.4.4网络化
1.4.5多媒体
1.5传统操作系统的主要功能
1.6现代操作系统新增功能
1.6.1系统安全管理
1.6.2面向网络的功能和服务
1.6.3多媒体功能
习题
第2章进程的描述与控制
2.1前趋图和程序执行
2.2进程的描述
2.2.1进程的定义和特征
2.2.2进程的基本状态及转换
2.2.3挂起操作和进程状态的转换
2.2.4进程管理中的数据结构
2.3进程控制
2.4线程的基本概念
2.4.1线程的引入
2.4.2线程与进程的比较
2.4.3线程的状态和线程控制块
2.4.4线程的类犁和多线程模犁
2.5线程的实现
2.5.1线程的实现方式
2.5.2线程的实现
2.5.3线程的创建和终止
习题
第3章进程的同步与通信
3.1进程同步的基本概念
3.2信号量机制
3.2.1整型信号量和记录型信号量
3.2.2AND型信号量和信号量集
3.2.3信号量的应用
3.3管程机制
3.3.1管程的定义
3.3.2条件变量
3.3.3利用管程解决生产者-消费者问题
3.4经典进程的同步问题
3.4.1牛产者-消费者问题
3.4.2哲学家进餐问题
3.4.3读者-写者问题
3.5进程通信
3.5.1进程通信的类型
3.5.2直接消息传递系统
3.5.3信箱通信
3.5.4直接消息传递系统实例
3.5.5线程问的同步和通信
习题
第4章处理机调度与死锁
4.1处理机训度的层次和训度算法的目标
4.2作业与作业渊度
4.2.1批处理系统中的作业及调度
4.2.2先来先服务和短作业优先渊度算法
4.2.3优先级调度算法和高响应比优先调度算法
4.3进程调度
4.3.1进程渊度的任务、机制和方式
4.3.2轮转调度算法
4.3.3优先级调度算法
4.3.4多级反馈队列调度算法
4.3.5基于公平原则的训度算法
4.4实时调度
……
第5章存储器管理
第6章虚拟存储器
第7章输入/输出系统
第8章文件管理
第9章磁盘存储器管理
第10章操作系统接口
第11章多处理机操作系统
第12章网络操作系统
第13章多媒体操作系统
第14章OS结构设计
第15章保护和安全
第16章Linux的进程控制子系统及存储管理
第17章Linux系统的文件管理和设备管理
参考文献
书摘插图
第1章操作系统引论
操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。其主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。OS是现代计算机系统中最基本和最重要的系统软件,而其他的软件,如编译程序、数据库管理系统等系统软件,以及大量的应用软件,都直接依赖丁-操作系统的支持,取得它所提供的服务。事实上0S已成为现代计算机系统、多处理机系统、计算机网络中都必须配置的系统软件。
1.1操作系统的目标和作用
操作系统的目标与应用环境有关。例如,在查询系统中所用的OS,希望能提供好的人机交互性;对于应用于工业控制、武器控制,以及多媒体环境下的0S,要求其具有实时性;而对于微机上配置的OS,则更看重的是其使用的方便性。
1.操作系统的目标
在计算机系统上配置操作系统,其主要目标是:
(1)方便性。一个未配置OS的计算机系统是极难使用的。用户如果想直接在计算机硬件(裸机)上运行自己所编写的程序,就必须用机器语言书写程序。但如果在计算机硬件上配置了0S,用户便可以使用编译命令,将用户采用高级语言书写的程序翻译成机器代码,或者直接通过0S所提供的各种命令,操纵计算机系统,极大地方便了用户,使计算机变得易学易用。
(2)有效性。有效性所包含的第一层含意是提高系统资源的利用率。在早期未配置0S的计算机系统中,诸如处理机、I/O设备等都经常处于空闲状态,各种资源无法得到充分利用,所以在当时,提高系统资源利用率是推动0S发展最主要的动力。有效性的另一层含意是,提高系统的吞吐量。OS可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而提高了系统的吞吐量。
方便性和有效性是设计0S时最重要的两个目标。在过去很长的一段时间内,由于计算机系统非常昂贵,有效性显得特别重要。然而,近十多年来,随着硬件越来越便宜,在设计配置在微机上的0S时,似乎更加重视如何提高用户使用计算机的方便性。因此,在微机操作系统中,都配置了深受用户欢迎的图形用户界面,并为程序员提供了大量的系统调用,方便了用户对计算机的使用和编程。
(3)可扩充性。为适应计算机硬件、体系结构,以及应用发展的要求,OS必须具有很好的可扩充性。可扩充性的好坏,与0S的结构有着十分紧密的联系,由此推动了0s结构的不断发展。从早期的无结构发展成模块化结构,进而又发展成层次化结构,近年来OS已广泛采用了微内核结构,该结构能方便地增添新的功能和模块,以及对原有的功能和模块进行修改,具有良好的可扩充性。
(4)开放性。随着计算机应用的日益普及,计算机硬件和软件的兼容性问题,便提到议事口程上来了。世界各国相应地制定了一系列的软、硬件标准,使得不同厂家按照标准生产的软、硬件,都能在本国范围内很好地相互兼容。这无疑给用户带来了极大的方便,也给产品的推广、用铺平了道路。后来,又相继颁布了许多国际性的软、硬件标准,进一步提高了软、硬件的开放性。
……