操作系统
1. 概述
-
什么是操作系统?
操作系统(Operating System,OS)是控制应用程序执行和充当硬件系统和应用程序之间的界面的软件
-
操作系统的是用来干嘛的?
操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代标准而言,一个标准PC的操作系统应该提供以下的功能:
- 进程管理。又称处理器管理,其主要任务是对处理器的时间进行合理分配、对处理器的运行实施有效的管理。
- 存储器管理。由于多道程序共享内存资源,所以存储器管理的主要任务是对存储器进行分配、保护和扩充。
- 设备管理。根据确定的设备分配原则对设备进行分配,使设备与主机能够并行工作,为用户提供良好的设备使用界面。
- 文件管理。有效地管理文件的存储空间,合理地组织和管理文件系统,为文件访问和文件保护提供更有效的方法及手段。
- 用户接口。用户操作计算机的界面称为用户接口(或用户界面),通过用户接口,用户只需进行简单操作,就能实现复杂的应用处理。
-
操作系统的主要特性
-
并发性:是指两个或者两个以上的事件或活动在同一时间间隔内发生
-
共享性:是指操作系统中的资源(包括硬件资源和信息资源)可以被多个并发执行的进程共同使用,而不是被其中的某个程序独占
注意:临界资源:同一时间内只允许一个程序访问的资源
-
异步性:即程序不是一贯到底,而是走走停停的(即什么时候走和什么时候停不确定)
注意:异步性是并发性的表现特征,并发性是异步性的内在原因。
-
虚拟性:虚拟化,如虚拟机
-
-
操作系统的发展和分类
- 操作系统的发展
- 人工操作阶段
- 管理程序阶段
- 多道程序设计和操作系统的形参
- 操作系统的分类
- 批处理操作系统:批量化处理作业(用户脱机操作)
- 分时操作系统:允许多个联机用户同时使用一台计算机系统进行计算的操作系统
- 实时操作系统:实时操控
- 操作系统的发展
-
操作系统的用户接口
-
程序接口(应用编程接口)
供程序员在编制层序时以程序语句或指令的形式调用操作系统的服务和功能。
- 系统调用:为了扩充机器功能,增强系统能力、方便用户使用而在内核中建立的过程(函数)
- 系统调用的分类
- 进程和作业管理
- 文件管理
- 设备管理
- 内存管理
- 信息维护
- 通信
-
操作接口(作业级接口)
为用户提供的操作并控制计算机工作和提供服务手段的集合
- 操作控制命令
- 作业控制命令
- 图形用户界面
- 新一代用户界面
-
-
操作系统的结构设计
-
操作系统的主要构件
通常把组成操作系统程序的基本单位称为操作系统构件
主要构件有
- 内核:对硬件进行首次抽象的一层软件,也称为硬件抽象层
- 进程:程序的一次运行过程
- 线程:进程中的一个执行流
- 管程:管理共享资源的一种对象
-
操作系统的结构
-
单体式结构:在多数常见的组织形式的处理方式中,全部操作系统在内核态中以单一程序的方式运行。整个操作系统以过程集合的方式编写,链接成一个大型可执行二进制程序。
-
层次式结构:单体系统进一步通用化,就变成一个层次式结构的操作系统,它的上层软件都是在下一层软件的基础之上构建的。
-
客户机/服务器与微内核结构:
采用客户机/服务器结构的操作系统适宜于应用在网络环境下分布式处理的计算环境,这种体系又称微内核结构,特点如下:
1.运行在核心态的内核:内核提供所有操作系统基本都具有的那些操作,只提供了一个很小的功能集合。
2.运行在用户态的并以客户机/服务器方式运行的进程层:除内核部分外,操作系统所有的其他部分被分成若干个相对独立的进程,每一个进程实现一组服务,称为服务进程。
-
-
操作系统的运行模型
- 非进程模式:以非进程模式运行的操作系统,其功能组织成一组例行程序操作系统服务例程,以系统调用的形式与用户进程代码结合在一起执行,构成形式上的单一进程操作
- 进程模式:将操作系统组织成一组系统进程
-