一、操作系统的概念
操作系统是指1.控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;2.以提供给用户和其他软件方便的接口和环境;3.它是计算机系统中最基本的系统软件。
1.作为系统资源的管理者:1.提供功能;2.实现目标
提供功能:1.处理机管理 2.存储器管理 3.文件管理 4.设备管理
实现目标:安全、高效
2.向上层提供方便易用的服务:1.命令接口 2.程序接口
命令接口:1.联机命令接口/交互式命令接口:一条一条处理指令
2.脱机命令接口/批处理命令接口:一批一批处理指令
程序接口:可以在程序中进行系统调用来使用程序接口,普通用户不能直接使用程序接口,只能通过程序 代码来间接使用
3.是最接近硬件的一层软件:需要实现对硬件机器的拓展(例如虚拟机)
二、操作系统的特征
1.并发 2.共享 3.虚拟 4.异步
1与2是操作系统最基本的特征,二者互为存在条件
1.并发:指两个或多个事件在同一时间间隔内发生,这些事件宏观上是同时发生的,但微观上是交替发生的
(并发易与并行混淆,并行:二者是在同一时间间隔内同时发生)
操作系统的并发性:指计算机系统"同时"运行着多个程序,这些程序宏观上看是同时运行着,而微观上是交替运行的
操作系统就是伴随着"多道程序技术"而出现的,因此,操作系统和程序并发是一起诞生的
单核CPU同一时刻只能执行一个程序,各个程序只能并发执行
多核CPU同一时刻可以同时运行多个程序,各个程序可以并行执行
2.共享:资源共享是指系统中的资源可供内存中多个并发执行的进程共同使用
两种资源共享方式:1.互斥共享方式 2.同时共享方式
1.互斥共享方式:系统中的资源虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
2.同时共享方式:允许一个时间段内由多个进程"同时"对资源进行访问
3.虚拟:指把一个物理上的实体变为若干个逻辑上的对应物,物理实体是实际存在的,而逻辑上对应物是用户感受到的
虚拟技术:1.空分复用技术 2.时分复用技术
1.例如虚拟存储器技术
2.例如虚拟处理器
4.异步:在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步
并发性:指计算机系统中同时存在着多个运行着的程序
共享性:指系统中的资源可供内存中多个并发执行的程序共同使用
所以说,并发性和共享性互为存在条件
操作系统的发展历史和分类
1.手工操作阶段:人机速度矛盾
2.批处理阶段:1.单道批处理系统 2.多道批处理系统
1.单道批处理系统:引入脱机输入/输出技术,并由监督程序(操作系统的雏形)负责控制输入和输出
缓解了人机矛盾,但资源利用率依旧很低
2.多道批处理系统:每次往内存中读入多道程序,操作系统正式诞生,用以支持多道程序并发执行
资源利用率较高,但不能提供人机交互功能
3.分时操作系统:提供人机交互功能,但不能优先处理紧急任务
4.实时操作系统:1.硬实时操作系统 2.软实时操作系统
1.硬实时操作系统:必须严格按照规定时间完成处理
2.软实时操作系统:可以接受偶尔违反时间规定
操作系统的运行机制
通过指令运行
两种指令:1.特权指令 2.非特权指令
应用程序:只能使用非特权指令
内核程序:可以使用特权指令
CPU内有一个寄存器------程序状态寄存器,来区分CPU运行的是应用程序或内核程序
中断和异常
中断的作用:是让操作系统内核夺回CPU使用权的唯一途径
内核态->用户态:执行一条特权指令------修改psw的标志位为用户态,这个动作意味着操作系统主动让出CPU的使用权
用户态->内核态:由中断触发,硬件自动完成转换过程,触发中断信号意味着操作系统将强行夺回CPU使用权
中断的类型:内中断(异常);外中断(中断)
1.内中断:与当前执行的指令有关,中断信号来自于CPU内部
1.终止:当前执行的指令为为非法指令/由致命错误引起,内核程序无法修复,不会把CPU使用权还给引发错误的程序
2.陷入指令/trap指令/访管指令
3.故障:由错误条件引起,可能被内核程序修复,内核程序修复故障后,会将CPU的使用权还给应用程序
2.外中断:与当前执行的指令无关,中断信号来自于CPU外部
1.时钟中断:由时钟部件发来的中断信号
2.I/O中断:由输入/输出设备发来的中断信号
......
内中断又叫异常,狭义上的中断是指外中断
中断机制的基本原理:不同的中断信号需要不同的中断处理程序来处理,当CPU检测到中断信号后,会根据中断信号的类型去查询"中断向量表",以此来找到相应的中断处理程序在内存中的有效位置
系统调用
系统调用是操作系统提供给应用程序使用的接口,可以理解为可供应用程序调用的特殊函数,应用程序可以通过系统调用来获得操作系统内核的服务
系统调用与库函数的区别:
有的库函数会将系统调用进行封装
系统调用:
1.设备管理:完成设备的请求/释放/启动等功能
2.文件管理:完成文件的读取/写/创建/删除等功能
3.进程控制:完成进程创建/撤销/阻塞/唤醒等功能
4.进程通信:完成进程之间消息/信号的传递
5.内存管理:完成内存的分配/回收
操作系统的体系结构
1.大内核 2.微内核 3.分层结构 4.模块化 5.外核
内核是操作系统最基本,最核心的部分
实现操作系统内核功能的程序就是内核程序
操作系统的内核:
1.时钟管理:实现计时功能
2.中断处理:负责实现中断机制
3.原语:是一种特殊程序;处于操作系统最底层,最接近硬件的部分;这种程序具有原子性------一气呵成;运行时间短,调用频繁
4.有对系统资源进行管理的功能:1.进程管理;2.存储器管理;3.设备管理
1-3与硬件有关;4与数据结构有关
大内核:1-4的功能都包含
微内核:只包含1-3的功能
操作系统各个体系结构的优缺点:

操作系统的引导
1.CPU从一个特定主存地址开始,取指令,ROM中的引导程序(先进行硬件质检再开机)
2.将磁盘的第一块------主引导记录读入内存,执行磁盘引导程序,扫描分区表
3.从活动分区(主分区,即安装了操作系统的分区)读入分区引导记录,执行基中程序
4.从根目录下找到完整操作系统初始化程序(即启动管理器)并执行,完成"开机"等一系列操作

虚拟机
传统计算机:一台物理机器上只能运行一个操作系统
这会导致物理机器性能的严重浪费
虚拟机的出现解决了这个问题
虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器,每个虚拟机器都可以独立运行一个操作系统
两类不同的虚拟机管理程序/虚拟机监控程序:
第一类虚拟机管理程序:直接运行在硬件上
第二类虚拟机管理程序:运行在宿主操作系统上
两类虚拟机管理程序如下:


二者的区别
