1.1操作系统的基本感念
计算机由硬件和软件两部分组成,计算机系统中的硬件经常被成为裸机。
按照冯诺依曼结构,计算机系统可划分为5个组成部分:运算器、控制器、储存器、输入设备和输出设备。人们把位于裸机上的这层系统软件成为操作系统。
操作系统是一个系统软件,是由若干程序所组成的集合,它负责计算机系统的全部软、硬件资源的分配、调度和管理,使系统高效、安全地运行,并为用户提供简单、直观、灵活的接口,以便用户使用计算机系统。
1.2操作系统的基本功能
1.2.1处理机管理
处理机管理对象:CPU
为了方便处理机的调度、分配和管理,引入了进程和线程的概念。
进程是对处于运行状态下的程序的动态描述
线程是进程内部的一个控制流
处理机的管理最终可以归结为对进程的管理,因为处理机的调度、分配均是以进程为基本单位的,这一部分还包括进程管理、同步、互斥、通信和死锁等内容
1.2.2储存管理
管理对象:主存器
管理任务:(1)内存的分配和回收;
(2)内存扩充;
(3)储存共享与保护;
(4)地址变换。
管理目的:(1)提高利用率;
(2)扩大相对容量;
(3)提供透明服务。
储存管理的主要任务是内存的分配和回收、内存扩充、储存共享、地址变换等,并以提高内存的利用率、扩大内存的相对容量、为用户提供透明服务为目的。
1.2.3文件系统
管理对象:(1)外存空间
(2)存储在外存空间中的文件
主要功能:(1)对文件进行管理;
(2)实现文件的“按名存取”
(3)提供文件的共享和保护、文件操作等功能
(4)对外存空间的管理
(5)提供磁盘容错功能
文件系统实现“按名存取”,提供文件的共享和保护、文件操作等功能。此外,文件系统还应提供磁盘的容错功能,以保证所储存的文件的可靠性。
1.2.4设备管理
管理对象:除了CPU和内存以外的I/O设备
设备管理应包括如下功能:
相应用户I/O请求;
为用户进程分配I/O设备;
对系统的I/O设备进行管理;
控制CPU与外设间的数据交换。
1.2.5用户接口
用户接口通常有两种:
操作级接口:供用户通过键盘和鼠标直接对计算机进行操作时使用
编程级接口:用户在编程过程中使用
这两种接口体现为三种形式:命令接口、图形接口和编程接口
操作系统设计的目标之一就是为用户提供直观、简单、高效、易用、透明的用户接口
1.3操作系统的发展
1.3.1手工阶段
从1946年问世的第一台计算机至20世纪50年代中期为第一代计算机时期,其主要组成元件为电子管,速度较慢
此时计算机没有操作系统软件
1.3.2早期批处理
20世纪50年代中期至60年代电子管逐渐被晶体管所取代
1.3.3多道程序系统
到了20世纪60年代初,出现了对计算机技术发展具有重要影响的两种技术:通道技术和中断技术
1.3.4分时系统
1.3.5实时系统
1.3.6通用操作系统
它可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能
1.3.7多种操作系统并存
1.4操作系统的类型
1.4.1批处理操作系统
(1)用户统计使用计算机
(2)成批处理
(3)多道程序运行
批处理操作系统一般运行在较大的计算机系统上,它的特点是用户脱机使用计算机,多道程序同时运行、成批处理,目的是为了提高设备利用率和作业吞吐率。其缺点为作业周转时间长,无交互性,用户无法直接进行必要干预
1.4.2分时操作系统
(1)多路性
(2)独立性
(3)及时性
(4)交互性
分时操作系统具有多路性、独立性及时性和交互性等特征
分时系统是一个联机、多用户和交互性的操作系统
1.4.3实时操作系统
(1)保证它的实时性和可靠性
(2)系统效率
实时操作系统是指计算机能够及时响应外部事件的请求,在规定的时间内完成对事件的处理,并有效的控制被控对象和实时任务协调运行。
实时操作系统一般是为了满足某一类实时系统的应用而设计的,如工业生产线的控制、武器控制系统等;在设计上首先要保证它的实时性和可靠性,其次才是系统效率。
它通常有两种类型:实时控制系统和实时信息处理系统
1.4.4通用操作系统
兼有批处理、分时和实时操作系统的部分特征
1.4.5个人计算机操作系统
联机交互,图形用户界面;虚存、并发、多任务等特征或功能
1.4.6嵌入式操作系统
对整个嵌入式系统以及它所操作、控制的对象进行管理的系统软件
1.4.7网络操作系统
1.4.8并行操作系统
1.4.9分布式操作系统
处理能力强可靠性高
1.4.10多媒体操作系统
1.5操作系统的基本特征(并发和共享是操作系统最基本的特征)
1.5.1并发性
并发是指两个或多个事件在同一时间间隔内发生
并行是与其相似的另一个概念,它是指两个或多个事件在同一时刻发生
1.5.2共享性
共享(sharing )是指系统资源可供内存中多个并发执行的程序同时使用,目的是提高系统资源的利用率
系统资源指CPU、内存、数据和各种外设等
资源共享有两种方式:互斥共享和同时共享
1.5.3虚拟性
1.5.4不确定性
进程执行是以不可预见的速度向前推经,是异步(asynchronism)的
操作系统的不确定性是指程序执行过程中的不可预测性,并不是指程序结果的 不确定性。
程序执行结果的不确定性的原因往往是由于程序设计本身的错误或由于用户各程序之间的配合(如同步、互斥)不当引起的。
1.6操作系统的组成结构
1.6.1无结构的操作系统
1.6.2模块化的操作系统
20世纪60年代出现了模块化程序设计技术,它通过任务分解和模块化来降低开发大型软件的复杂程度
该系统的优点是系统结构紧凑、接口简单、效率高,但也存在模块间数据联系过多、独立性差等缺点
1.6.3分层结构的操作系统
1.6.4微内核结构的操作系统
1.7研究操作系统的几种观点
1.7.1资源管理的观点
从资源管理的观点研究、分析和设计操作系统包括以下内容:
(1)记录资源状态。
(2)资源的分配和调度
(3)资源回收
1.7.2用户界面的观点
1.7.3进程管理的观点
*1.8典型操作系统简介
1.8.1 Windows系列操作系统
1.8.2 UNIX操作系统
1.8.3 Linux操作系统