一.操作系统的概念
1.1 计算机系统
定义:计算机系统是一种可以按照用户的要求接收和存储信息,自动进行数据处理并输出结果信息的系统.
组成:硬件系统和软件系统;
其中硬件系统包括中央处理器(cpu)、内存储器、外存储器(磁盘、磁带等)以及各种类型的输入/输出设备(键盘、鼠标、显示器、打印机等)。
软件系统包括系统软件(操作系统,编译器等),支撑软件(数据库,网络,多媒体等),应用软件(文字处理,图形图像处理,科学计算,MIS等)
1.2 操作系统的定义
操作系统是计算机系统的一个系统软件,它是这样一些程序模块的集合.
- 它们能有效地组织和管理计算机系统中的硬件和软件资源,
- 合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,
- 使用户能够灵活,方便,有效地使用计算机,并使整个计算机系统能高效地运行.
解读关键词
1.有效 :系统效率,资源利用率
- CPU利用率充足与否?I/O设备是否忙绿
2.合理 :各种软硬件资源的管理是否公平合理
- 如果不公平、不合理、则可能会产生问题?
3.方便使用 :
- 两种角度:用户界面 与 编程接口
1.3 操作系统的作用
1. 有效地管理资源
自底向上角度来看操作系统是资源的管理者
- 哪些资源空闲,分配给谁使用,允许使用多长时间等
确定资源分配策略–算法
- 静态分配策略
- 动态分配策略
实施资源的分配和回收
- 提高资源利用率
- 保护资源的使用
- 协调多个进程对资源请求的冲突
2.通过命令接口、编程接口等为用户提供各种功能服务
3.对硬件机器的扩展
- OS是硬件之上的第一层软件
- 操作系统在应用程序与硬件之间建立了一个等价的扩展机器(虚拟机)
- 对硬件抽象,提高可移植性;比底层硬件更容易编程。
1.4 操作系统的特征
1.并发性
是指在计算机系统中同时存在若干个运行着的程序.
是指处理多个同时性活动的能力
由于并发将会引发很多的问题:
活动切换、保护、相互依赖的活动间的同步
在计算机系统中同时存在多个程序运行,单CPU上
宏观上:这些程序同时执行
微观上:任何时刻只有一个程序真正在执行,即这些程序在CPU上市轮流执行的
并行性 – 与并发相似,但多指不同程序同时在多个硬件部件上执行
2.共享性
共享性是指操作系统程序与多个用户程序共用系统中的各种资源.
- 重要的资源:中央处理器,内存储器,外存储器,外部设备
- 操作系统要对系统资源进行合理分配和使用
- 资源在一个时间段内交替被多个进程所用
共享的形式:
- 互斥共享
如:打印机 - 同时共享
如:可重入代码、磁盘文件
3.随机性
操作系统必须随时对以不可预测的次序发生的事件进行响应处理
- 一个设备可能在任何时候向处理器发出中断请求,而用户提交的,运行着的程序要做什么事情也无法是先知道.因而一般来说,操作系统正处于什么样的状态之中是无法确切知道的,这就是随机性的含义.
1.5 研究操作系统的观点
- 软件的观点
- 资源管理的观点
- 进程的观点
- 虚机器的观点
- 服务提供者观点
1.6 操作系统的功能
1. 进程管理
- 进程控制
- 进程控制的主要任务就是创建进程,撤销结束的进程以及控制进程运行时侯的各种状态转换.
- 进程同步
- 互斥:是指多个进程对临界资源访问时采用互斥的形式.
- 同步:则是在相互协作共同完成任务的进程之间,用同步机制协调它们之间的执行顺序.
- 进程间通信
- 由操作系统提供的进程间通信机制是协作的进程之间相互交换数据和消息的手段.
- 调度
- 又称处理器调度,通常包括进程调度,线程调度和作业调度等.
2.存储管理
- 内存的分配和回收
- 操作系统要为每个进程分配内存空间,在分配的过程中,还要尽可能提高内存资源的使用效能.对于已经退出运行的进程所占据的内存空间,操作系统还要把它们加以回收,重新使用.
- 存储保护
- 在现代的计算机系统中,通常提供由硬件实现的存储保护机制,操作系统则利用这一机制实现进程的地址保护.
- 内存扩充
- 内存扩充功能就是借助于虚拟存储技术在逻辑上增加进程运行空间的大小,这个大小比实际的物理内存要大得多.
3.文件管理
- 文件存储空间的管理
- 任何文件存放在外存储器上,都需要以某种形式占据外存储器的空间.
- 目录的管理
- 主要的任务就是给出组织文件的方法,它为每个文件建立目录项,并对众多的目录项加以有效的组织,以便为用户提供方便的按名存取.
- 文件系统的安全性
- 安全性包括文件的读写权限管理以及存取控制,用以防止未经核准的用户存取文件,防止越权访问文件,防止使用不正确的方式访问文件.
4.设备管理
- 这里的设备管理是指计算机系统中除了CPU和内存以外的所有输入,输出设备的管理.
- 主要负责外部设备的分配,启动和故障处理,用户不必了解设备及接口的技术细节,就可以方便地通过操作系统提供的设备管理手段,对设备进行操作.
- 采用的技术手段:中断技术,通道技术,虚拟设备技术和缓冲技术.
5.接口管理
- 主要任务:为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行.
二.操作系统的发展
操作系统发展是随着计算机硬件技术,应用需求的发展,软件新技术的出现而发展的
2.1 手工操作
- 采用机器语言
- 特点:手工操作,独占方式
2.2 监控程序(早期批处理)
批处理:操作员将作业”成批”地输入到计算机中,由监督程序识别一个作业,进行处理后再取下一个作业.
而且,由于是串行执行作业,因此称为单道批处理.
2.3 多道批处理
所谓多道是指它们允许多个程序同时存在内存之中,有CPU以切换方式为之服务,使得多个程序可以同时执行.
2.4 分时系统
是指多个用户通过终端设备与计算机交互作用来运行自己的作业,并且共享一个计算机系统而互不干扰,就好像自己有一台计算机.
2.5 UNIX通用操作系统
UNIX是用C语言编写的,因此它是可移植的.UNIX是世界上唯一能在笔记本计算机,个人计算机(PC),工作站直至巨型机上运行的操作系统.
2.6 个人计算机操作系统
MS DOS属于单用户单任务操作系统
苹果操作系统
Windows操作系统
Linux操作系统
2.7 Android操作系统
是一款主要面向移动设备,基于Linux内核的开源移动操作系统,包括了Linux内核,中间件和关键移动应用的一整套软件.
三.操作系统分类
3.1 批处理操作系统
- 工作方式
- 用户将作业交给系统操作员,系统操作员在收到作业后,并不立即将作业输入计算机,
- 而是在收到一定数量的用户作业之后,组成一批作业,再把这批作业输入到计算机中.
- 这批作业可在系统中形成一个连续的,自动转接的作业流.
- 系统操作员然后启动操作系统,系统自动依次地执行每个作业.
- 最后由操作员将执行完毕的作业结果交给用户.
- 特点与分类
- 分类:简单批处理系统,多道批处理系统
- 特定:成批处理
- 目标:系统资源利用率高,作业吞吐率高.
- 设计思想
- 简单批处理也被称为监控程序,其设计思想是:在监控程序启动之前,操作员有选择地把若干作业合并成一批作业,将这批作业安装在输入设备上.然后启动监控程序,监控程序将自动控制这批作业的执行.
- 作业控制说明书
- 是由作业控制语言编写的一段程序,它通常存放在被处理作业的前面.
- 一般指令和特权指令
- 为了防止由于用户的错误而导致整个系统发生不可预料的后果,有必要对中央处理器的运行划分出不同的状态.
- 运行模式:用户模式和特权模式
- 特权指令:输入输出指令,停机指令等,只有监控程序才能执行特权指令.
- 一般指令:用户程序只能执行一般指令.一旦用户程序需要执行特权指令,处理器会通过特殊的机制将控制权移交给监控程序.
- 系统调用的过程
SPOOLING技术
- 在多道批处理系统中,关键技术就是多道程序运行,SPOOLING技术(有时也称为假脱机技术)等.
- 思想:在内存中同时保持多个作业,主机可以以交替的方式同时处理多个作业.
3.2 分时系统
为了弥补批处理方式不能向用户提供交互式快速服务的缺点而发展起来的
- 工作方式
- 在分时系统中,一台计算机主机连接了若干个终端,每个终端可由一个用户使用.
- 用户通过终端交互式地向系统提出命令请求,系统接受用户的命令之后,采用时间片轮转方式处理服务请求.
- 并通过交互方式在终端上向用户显示结果.用户根据系统送回的处理结果发出下一道交互式命令
- 特点
- 多路性:多个用户在同时使用一台计算机
- 交互性:用户根据系统响应的结果提出下一个请求
- 独占性:每个用户感觉不到计算机为其他人服务,就好像整个系统为他个人所独占一样.
- 及时性:系统能够对用户提出的请求及时给予响应.
- 目标:及时响应用户输入的交互命令.
3.3 实时操作系统
是指使计算机能在规定的时间内及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致地工作的操作系统
- 目标:在严格时间范围内,对外部请求作出反应,系统具有高度可靠性.
- 分类:
- 硬实时系统
硬实时系统对关键外部事件的响应和处理时间有着极严格的要求,系统必须满足这种严格的时间要求,否则会产生严重的不良后果. - 软实时系统
软实时系统对事件的响应和处理时间有一定的时间范围要求,不能满足相关的要求会影响系统的服务质量,但是通常不会引发灾难性的后果.
- 硬实时系统
3.4 嵌入式操作系统
就是运行在嵌入式芯片环境中,对整个芯片以及它所操作,控制的各种部件装置等资源进行统一协调,调度,只会和控制的系统软件.
嵌入式操作系统具有高可靠性,实时性,占有资源少,智能化能源管理,易于连接,低成本等有点.
3.5 个人计算机操作系统
是一种单用户多任务的操作系统
特点:计算机在某一时间内为单个用户服务;采用图形界面人机交互的工作方式,界面友好;使用方便,用户无需具备专门知识,也能熟练地操作系统.
3.6 网络操作系统
是基于计算机网络的,在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件,它包括网络管理,通信,安全,资源共享和各种网络应用.
3.7 分布式操作系统
- 定义
将大量的计算机通过网络联结在一起,可以获得极高的运算能力及广泛的数据共享,这样一种系统称为分布式系统. - 特征
- 保持了网络操作系统的各种功能
- 是一个统一的操作系统,在系统中的所有主机使用的是同一个操作系统
- 实现资源的深度共享
- 透明性
- 自治性
- 优点
- 以较低的成本获得较高的运算性能
- 可靠性
3.8 智能卡操作系统
在日常生活中的各类智能卡中,都隐藏着一个微型操作系统,称为智能卡操作系统.
四.操作系统结构
所谓操作系统结构,是指操作系统各部分程序的存在方式及相互关系.
- 整体式结构
- 层次结构
- 微内核(客户机/服务器)结构