第一章 操作系统概论
1. 操作系统概述
操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合—— 它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。
l 操作系统作为系统软件,位于软件系统的硬件之上,支撑软件之下。
l 从计算机应用角度看,操作系统是几乎人人都要使用的系统界面和接口;
l 而从软件设计和开发的角度看,操作系统起着系统软件开发基础和工具的作用;
l 而在黑客和网络攻击者看来,操作系统是他们要攻破的第一道防线;
l 从扩展角度看,将操作系统功能分成若干层次,每一个层次完成特定的功能,从而构成一个虚拟机。
在计算机系统中,集中了资源管理功能和控制程序执行功能的一种软件,称为操作系统。
2. 操作系统特征
并 发 性
并发性是指在计算机系统中同时存在若干个运行着的程序。
① 从宏观上看,这些程序在同时向前推进。
② 从微观上看,在单处理器的环境下,这些同时运行着的程序是交替在中央处理器上运行的。在多处理器系统的环境中,在处理器一级上, 程序是并发执行的。
共 享 性
共享性是指操作系统程序与多个用户程序共用系统中的各种资源。资源的共享性主要针对:
① 中央处理器:中央处理器是所有程序都必须使用的最重要的资源,操作系统必须采用恰当的调度策略,对多个并发程序分配处理器资源。
② 内存储器: 任何一个程序必须首先调入内存之后, 才能执行。
③ 外存储器:外存储器主要用来保存各种程序和数据。这些程序和数据一般以文件的形式存放在外存储器上。外存储器有各种类型,如硬盘、软盘、磁带、可读写光盘等。
④ 外部设备:计算机系统中的外部设备是供所有用户使用的,这些用户包括操作系统、系统用户( 如管理员) 和普通用户。
资源的共享一般有两种形式:互斥共享和同时共享。
① 互斥共享:系统中的有些资源比如打印机、磁带机、扫描仪、中央处理器、存储器等,虽然可以供多个用户程序同时使用,但是在一段特定的时间内只能由某一个用户程序使用。该资源正在被使用时, 其他程序必须等待,并且在这个资源被使用完后才由操作系统根据一定的策略再选择一个用户程序占有该资源。通常把这样的资源称为临界资源。
② 同时共享:系统中还有一类资源在同一段时间内可以被多个程序同时访问。典型的可以同时共享的资源就是硬盘,可以重入的操作系统代码也是可以被同时共享的。
随 机 性
操作系统的运行是在一种随机的环境下进行的。
随机性突出强调了在进行操作系统的设计与实现时要充分考虑各种各样的可能性。操作系统本身应该稳定、可靠、安全、高效,实现程序并发和资源共享的目的。 3.操作系统结构设计
常见的操作系统体系结构有:
整体式结构
层次式结构
微内核( 客户机/服务器) 结构
① 运行在核心态的内核: 内核提供所有操作系统基本都具有的那些操作,如线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和中断处理等。又称微内核。
② 运行在用户态的并以客户机/服务器方式运行的进程层: 除内核部分外, 操作系统所有的其他部分被分成若干个相对独立的进程,每一个进程实现一组服务,称为服务进程(用户应用程序对应的进程, 虽然也以客户机/服务器方式活动于该层, 但不作为操作系统的功能构成成分看待)。
4. —般指令和特权指令
运行模式通常分为用户模式和特权模式。
目态: 为用户服务的用户模式;
管态: 为系统专用的特权模式。
机器指令被划分为一般指令和特权指令。
① 特权指令包括输入输出指令、停机指令等,只有监控程序才能执行特权指令。
② 只能在内核态下运行。
③ 运行在该模式的代码,可以无限制的对系统存储、外部设备进行访问。( 置程序计数器、清指令寄存器、清溢出标志)
④ 用户程序只能执行一般指令, 在用户态下运行。
⑤ 一旦用户程序需要执行特权指令,处理器会通过特殊的机制将控制权移交给监控程序。
⑥ 如果用户程序在用户态下执行了特权指令,则引起访问中断,这也是 CPU 由用户态向核心态转换的方法。( 置移位方向标志位)
5. 研究操作系统的观点
软件的观点
从软件的观点来看,操作系统是一种大型软件系统,它是多种功能程序的集合。作为一种大型软件系统,操作系统有软件的外在特性和内在特性。
资源管理的观点
在计算机系统中,硬件和软件资源可以分成以下几部分:中央处理器、存储器(内存和外存)、外部设备和信息(文件)。操作系统就是负责记录谁在使用什么样的资源,系统中还有哪些资源空闲,当前响应了谁对资源的要求,以及收回哪些不再使用的资源等。
进程的观点
采用进程的观点,操作系统可看作是由多个可以同时独立运行的程序和一个对这些程序进行协调的核心所组成。
虚机器的观点
虚机器的观点将操作系统的功能分成若干个层次,每一层次完成特定的功能,从而构成一个虚机器, 并为上一层次提供支持,构成它的运行环境。
服务提供者观点
操作系统提供了一系列的功能和便利的工作环境为用户服务,所以可以把操作系统看作是服务提供者。为用户使用便利,该服务提供者提供了一组功能强大、方便、易用的广义指令( 称为系统调用)。
6. 操作系统提供的 3 类的接口
命令接口:提供一组命令供用户直接或间接操作。根据作业的方式不同,命令接口又分为联机命令接口和脱机命令接口。
程序接口:程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。
图形界面接口:通过图标、窗口、菜单、对话框及其他元素和文字组合,在桌面上形成一个直观易懂,使用方便的计算机操作环境。
7. 操作系统主要功能
进程管理(处理器管理)
① 进程管理的实质是对中央处理器进行管理,所以进程管理往往又称为处理器管理。
② 进程管理主要包括进程控制、进程同步、进程间通信和进程调度等几方面的内容。
③ 其中进程控制主要处理进程的创建、状态转换、进程撤销以及相关的进程资源的分配与回收等事务;
④ 进程同步主要处理进程之间的关系,包括进程的同步和互斥;
⑤ 进程间通信主要处理相互协作进程之间信息的交换问题;
⑥ 而进程调度则是按照一定的算法从就绪队列中挑选一个进程在处理器中真正执行它。
存储管理
存储管理的任务是管理计算机内存的资源。存储管理有 3 个方面的功能:
① 内存的分配与回收:操作系统要为每个进程所占据的内存空间,在分配的过程中,还要尽可能提高内存资源的使用效能。
② 存储保护:必须考虑程序可能发生越界的情况,保护整个用户及计算机系统的程序运行。
③ 内存扩充:借助于虚拟技术在逻辑上增加进程运行空间的大小,这个大小比实际的物理内存大得多。操作系统把正在使用的页面保持在内存中即将使用的页面调入到内存中,用户就感受不到空间使用的限制。
文件管理
文件管理的任务是有效的支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题, 以使用户方便、安全地访问文件。
主要涉及 3 个方面:文件存储空间的管理、目录管理、文件系统的安全性。
① 管理磁盘空间和磁盘碎片整理都属于文件存储空间的管理;
② 目录管理的主要任务就是给出组织文件的方法,为每个文件建立目录项,并对众多的目录项加以有效的组织,以便为用户提供方便的按名存取;
③ 安全性包括文件的读写权限以及存取控制。
作业管理
设备管理
用户接口
从用户的观点来看,操作系统是用户与计算机系统之间的接口。因此,接口管理的任务是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行。
8. 操作系统分类
按照用户界面的使用环境和功能特征的不同,一般可以把操作系统分为 3 种基本类型, 即批处理系统、分时系统和实时系统。
l 随着计算机体系结构的发展,又出现了许多类型的操作系统,它们是个人操作系统、网络操作系统、分布式操作系统和嵌入式操作系统。
9. 批处理操作系统特点
批处理操作系统的特点是成批处理。
优点:批量处理用户作业,作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统效率。
缺点: 用户不能直接与计算机交互, 不适合调试程序。
10. 分时操作系统特点
总体上看,分时操作系统具有多路性、交互性、独占性和及时性的特点。
l 多路性:指有多个用户在同时使用一台计算机。从宏观上看是多个人同时使用一个处理器,从微观上看是多个人在不同时刻轮流使用一个处理器。
l 交互性:指用户根据系统响应的结果提出下一个请求。用户直接干预操作每一步的进行。
l 独占性:指每个用户感觉不到计算机为其他人服务,就好像整个系统为他个人所独占一样。
l 及时性:指系统能够对用户提出的请求及时给予响应。
11. 实时操作系统特点
实时操作系统(Real Time Operating System, RTOS)是指使计算机能在规定的时间内及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致地工作的操作系统。
实时操作系统主要目标是:在严格时间范围内,对外部请求作出反应,系统具有高度可靠性。
实时系统为了能够实现硬实时或软实时的要求,除了具有多道程序系统的基本能力外,还具有实时时钟管理、过载防护和高可靠性的特点。
12. 分布式操作系统特点
分布式操作系统是一个统一的操作系统,在系统中的所有主机使用的是同一个操作系统。
实现资源的深度共享。在网络操作系统中,由于各个主机使用不同的操作系统,不能随意地将一个计算任务从一台主机迁移到另一台主机执行。而在分布式系统中,通过统一的操作系统的调度,在某台主机上的一个计算任务可以迁移到另一台主机上执行,真正实现了处理机资源的共享。
透明性:整个分布式系统在用户眼里就像是一台具有强大功能的计算机系统。用户并不知道该分布式系统运行在多少台计算机上,各个主机地理位置上的差异对用户来讲是透明的,分布式操作系统屏蔽了这种差异。相应地,在网络操作系统中,用户能够清晰地感觉到本地主机和非本地主机之间的区别。
自治性:处于分布式系统中的各个主机都处于平等的地位,各个主机之间没有主从关系。一个主机的失效一般不会影响整个分布式系统。
分布式系统的优点在于它的分布式,分布式系统可以以较低的成本获得较高的运算性能。分布式系统的另一个优势是它的可靠性。
13. Android 操作系统特点
Android 是一种基于 Linux 的自由及开放源代码的操作系统。
主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。
其特点就是支持移动应用和支持网络。
14. 微内核(客户/服务器)结构的操作系统优点
① 高可靠性:系统服务或者设备驱动故障和与它们有关的运行任务是隔绝的;
② 高灵活性:当运行一个应用程序时,只需把选定的系统服务加载到系统中即可;
③ 适合分布式处理:一个精炼的微内核接口能够有演绎成更多模块的系统结构;
④ 提高了系统的可扩展性;
⑤ 可移植性;
⑥ 适用于对分布式处理的计算环境;
⑦ 融入了面向对象技术。
15. 设备分配算法
在设备分配算法中,常采用的数据结构主要含 4 张表:
① 即系统设备表 SDT
② 设备控制表 DCT
③ 控制器控制表 COCT
④ 通道控制表 CHCT 16.程序状态字(PSW)
用一个专门的寄存器来指示处理器状态称为程序状态字( PSW), 其包括的状态位有:
① 进位标志位( CF)
② 结果为零标志位( ZF)
③ 符号标志位( SF)
④ 溢出标志位( OF)
⑤ 陷阱标志位( TF)
⑥ 中断使能(中断屏蔽)标志位( IF)
⑦ 虚拟中断标志位( VIF)
⑧ 虚拟中断待决标志位( VIP)
⑨ IO 特权级别( IOPL)。
17.write()
write()会把参数 buf 所指的内存写入 count 个字节到参数 fd 所指的文件内。文件读写位置也会随之移动。若用户编程需要打印输出,需要系统调用 write( )。
下一篇