操作系统的定义:
是一种系统软件
为上层用户、应用程序提供简单易用的服务
负责管理协调硬件、软件等计算机资源的工作
层次结构:
操作系统的功能:
1.处理机管理
2.存储器管理
3.文件管理
4.设备管理
向用户提供的服务:
命令接口
分为两个:
联机命令接口:CMD,一句一句执行
脱机命令接口:多句执行
程序接口
由一组系统调用组成
图形:
GUI用户图形界面
操作系统的特征:
1.并发
2.共享
互斥共享:(如摄像头共享使用)
同时共享:(如对硬盘资源的共享使用)
3.虚拟
4.异步
注意的是:
并发和共享互为条件
操作系统的发展与分类
每一代新的操作系统出现都是为了弥补上一代的缺陷
按照先后顺序
1.手工操作系统:
缺点:人机速度矛盾(纸带)
2.单道批处理系统(引入脱机输入输出技术)
缺:资源利用率低(高io等待时间)
3.多道批处理系统(操作系统开始出现,并发)
缺:不提供人机交互功能
4.分时操作系统:
缺:不能优先处理紧急任务
5.实时操作系统
能优先处理紧急任务。
硬实时系统:必须绝对规定时间内完成处理
软实时系统:接受偶尔的违反
操作系统的运行机制和体系结构
两种指令:
1 特权指令
2.非特权指令
两种处理机状态:
1.核心态(管态)
2.用户态(目态)
联系:只有处于核心态才能两种指令都可以处理,用户态只能处理非特权指令
需要使用特权指令的程序称为内核程序,否则称为应用程序
操作系统的内核
内核是计算机配置的底层软件,是操作系统最基本、最核心的部分(非常接近于硬件了)
内核分类
1.始终管理
2.中断处理
3.原语
- 一种特殊的程序
- 最接近底层,最接近硬件
- 具有原子性——一气呵成,不可中断
- 运行时间短,调用频繁、
4.对系统资源进行管理的模块(注意:有些操作系统内核不包含这个部分,每个操作系统的划分是不同的)
- 进程管理
- 存储器管理
- 设备管理
大内核和微内核
中断和异常
引入中断的目的:
解决多道程序并发执行
本质:只要发生中断,就意味着需要操作系统介入,展开工作
中断做的事情:
- 当中断发生时、cpu立即进入核心态
- 当中断发生后,进程暂停运行。并由os内核对中断进行处理
- 对于不同的中断信号,会有不同的处理
总结:用户态->核心态
中断是唯一途径
转换过程:执行特权指令,将程序状态字(PSW)标志改变
中断的分类:
外中断处理过程:
系统调用
操作系统对上层的服务:
1.命令接口(上面已经讲过)
2.程序接口:用户通过程序间接使用,由一组系统调用组成
3.略
系统调用是操作系统提供给应用程序(程序员)使用的接口。应用程序可以发出系统调用请求来获得操作系统的服务
为什么要有系统调用:
应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此凡是 与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提 出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
系统调用的分类:
显然,系统调用必须在核心态完成
系统调用和库函数:
系统调用号的概念:
汇编语言中的trap (int x)指令,指明调用的相关代码,这里int是中断
可以看出。
传递系统调用参数 —>执行陷入指令(用户态) —>执行相应的内请求核程序处理系统调用(核心态) —>返回 应用程序
注意:
1.陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态
2.发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行
3.陷入指令唯一一个不能在核心态执行的指令