内容纲要
概述
定义:操作系统是计算机系统软件,是一组程序的集合。它能以有效、合理的方式组织和管理计算机软硬件资源,合理的组织计算机的工作流程,控制程序的执行并提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,使整个计算机系统能高效地运行。是计算机与用户之间的接口。
发展
- 手工操作阶段
- 早期批处理阶段(联机批处理、脱机批处理阶段)
- 多道程序阶段
- 分时操作系统
- 实时操作系统
- 通用操作系统
- 操作系统进一步发展
单道批处理系统和多道批处理系统比较:
基本类型:
基本类型 | 特征 |
---|---|
批处理操作系统 | 1、用户脱机使用计算机 |
2、成批处理 | |
3、多道程序运行 | |
分时操作系统 | 1、交互性 |
2、多用户同时性(多路性) | |
3、独立性 | |
4、及时性 | |
实时操作系统 | 1、实时性 |
2、可靠性 | |
3、交互性 | |
4、独立性 | |
5、及时性 | |
个人计算机操作系统 | 1、开放性 |
2、通用性 | |
3、高性能 | |
4、采用微内核 | |
网络操作系统 | 1、网络通信 |
2、资源管理 | |
3、网络管理 | |
4、网络服务 | |
分布式操作系统 | 1、分布性 |
2、整体性 | |
3、透明性 | |
4、自制性 | |
5、协同性 |
批处理系统、分时操作系统和实时操作系统比较:
功能
- 处理机管理
- 存储管理
- 设备管理
- 文件系统管理
- 用户接口
寄存器组:
看待操作系统的观点:
- 计算机资源管理者观点
- 用户界面观点
- 进程管理观点
特征
- 并发性
- 共享性
- 虚拟性
- 异步性(随机性)
作业
-
用户:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所作的有关该次业务处理的全部工作称为一个作业。
-
系统:作业= 程序+数据(作业体)+作业说明书(作业控制语言编写JCL)
作业组织:
- 作业基本情况:用户名、作业名、编程语言、最大处理时间等
- 作业控制描述:作业控制方式、作业步的操作顺序、作业执行出错处理
- 作业资源要求描述:处理时间、优先级、内存空间、外设类型和数量等作业说明书由作业控制语言(JCL)编写。
作业控制块的建立:
- 作业名
- 估计执行时间
- 优先数(用于调度)
- 作业说明书文件名
- 程序类型(需调用的系统程序)
- 资源要求(静态,或中间可以随作业步变化)
- 作业状态(提交、后备、执行、完成)
作业的输入和作业控制块(JCB)的建立
作业输入方式:
- 联机输入方式:外围设备和主机直接连接的输入方式
- 脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理
- 直接耦合方式:将主机和外围低档机通过一个公用的大容量外存直接耦合
- SPOOLING 系统:假脱机(Simultaneously Peripheral Operation On Line-同时外围设备联机操作)
- 网络输入方式:当用户需要在计算机网络中某一台主机上输入的信息传送到同一网络中的另一台主机上进行操作或执行时,即构成网络输入方式
程序级接口:是系统为用户在程序一级提供有关服务而设置的,由一组系统调用命令组成。
- 负责管理和控制运行的程序
- 在这些程序与系统控制的资源和提供的服务间实现交互作用
- 用汇编语言:在程序中直接用系统调用命令
- 用高级语言:可在编程时使用过程调用语句
程序级接口只能在高级语言或汇编语言中作为函数和过程被调用,而不能像一个命令那样直接在系统提示符下输入。
命令(操作)级接口:用户在DOS 或UNIX 文字界面的系统提示符下输入命令,即使用了操作系统提供的命令级或者称操作级接口。因此,操作级接口为用户提供了各种命令。
- 环境设置:改变终端用户所在位置、执行路径等;
- 执行权限管理:控制用户访问系统和操作文件的权限;
- 系统管理:系统维护、开机关机、增加或减少终端用户、计时收费等;
- 文件管理:管理和控制终端用户的文件;
- 编辑、编译、链接装配和执行编辑命令;
- 通信:主机—-远程终端、主机—-主机;
- 资源要求:用户向系统申请资源。
操作级接口(命令接口)提供给用户直接在键盘终端上交互式地使用,程序级接口提供给用户在编程时使用,图形用户接口实质上也是操作级接口(命令接口)。
系统调用的功能:
- 设备管理:设备的读写和控制
Ioctl 设备配置
Open 设备打开
Close 设备关闭
Read 读设备
Write 写设备 - 文件管理:文件读写和文件控制
Open 文件打开
Close 文件关闭
Read 读文件
Write 写文件
Seek 读写指针定位
Creat 文件创建
Stat 读文件状态
Mount 安装文件系统
Chmod 修改文件属性 - 进程控制:创建、中止、暂停等控制
Fork 创建进程
Exit 进程自我终止
Wait 阻塞当前进程
Sleep 进程睡眠
Getpid 读父进程标识 - 进程通信:进程之间传递消息或信号
消息队列
共享存储区
socket 等通信渠道的建立、使用和删除 - 存储管理:内存的申请和释放
-
系统管理:设置和读取时间、读取用户和主机标识等
gtime 读取时间
Stime 设置时间
Getuid 读取用户标识
系统调用的实现过程:系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的。每种机器的机器指令集中都有一条系统调用指令。
系统调用与普通过程调用的异同:
相同点 | 不同点 |
---|---|
改变指令流程 | 运行在不同的系统状态 |
重复执行和公用 | 返回问题 |
改变指令流程后需要返回原处 |
留言