操作系统概念
2023-07-04 17:20:29 0 举报
AI智能生成
计算机操作系统
作者其他创作
大纲/内容
一、概论
1.计算机系统
1.计算机系统的组成
硬件
CPU(中央处理单元)
内存
输入设备/输出设备
寄存器>高速缓存>内存>固态磁盘>硬盘>光盘>磁带
操作系统
定义:操作系统是一直运行在计算机上的程序(通常称为内核),除了内核外,还有两类程序:系统程序和应用程序;系统程序是与系统运行有关的程序,但不是内核的一部分;后者是和系统运行无关的所有其他程序。
简单来说:操作系统其实就是一个资源分配器,为各个程序和用户分配资源,以便计算机系统能有效且公平地运行。
应用程序
用户
2.计算机系统的体系结构
单处理器系统
只有一个主cpu,主cpu只有一个核心。
多处理器系统
多核cpu或者多个cpu的系统都被称为多处理器系统。并且在核数相同的情况下,多核cpu比多个cpu更加高效。
集群系统
由两个或者多个独立系统组成。
2.操作系统结构
物理内存
虚拟内存
用户可使用比虚拟内存更大的程序。就是它允许一个执行程序不必完全在内存中。
进程
加载到内存并执行的程序。
3.操作系统的执行
中断机制的诞生
为了实现多道程序并发执行而引入的一种技术。
中断的概念& 作用
发生中断,就意味着操作系统要介入管理工作,cpu会立即进入核心态。
“中断”是cpu从用户态进入核心态的唯一途径。
中断的分类
内中断(异常、例外、陷入)
自愿中断 -- 指令中断
强迫中断
硬件故障
软件中断
外中断
外设请求
人工干预
外中断的处理过程
每条指令执行结束后,cpu检查是否有外部中断信号。
若有外部中断信号,泽需要保护中断进程的cpu环境
根据中断信号类型转入相应的中断处理程序
恢复原进程cpu环境并推出中断,返回原进程继续向下执行。
运行机制
两种指令
特权指令
非特权指令
两种处理器状态
核心态
用户态
两种程序
内核程序
应用程序
操作系统内核
时钟管理
中断处理
原语
一种特殊的程序,执行不能被中断
对系统资源进行管理的功能
进程管理
存储器管理
设备管理
二、进程管理
1.进程
1.进程的概念
1.进程的概念:执行的程序。同一段程序可以同时在内存中执行两次,产生两个进程。
2.进程的状态(pcb就是进程存在的唯一标志)
新的:进程正在创建,分配资源初始化pcb
运行
cpu和其他所需资源都到位的情况下
等待:进程在等待发生某个事件(I/O完成)
就绪:进程等待分配cpu处理器,但是其他资源是已经分配好了的
终止:进程已经完成执行,需要回收分配给进程的资源
进程状态的转换
3.进程的组成
PCB:可以理解为保存进程的元数据信息
数据段:执行程序需要的数据
程序段:执行的程序
4.进程的控制
1.进程的控制是由原语实现的,所谓原语就是执行过程不可中断,是由开中断和关中断结合来实现的。
进程的每个状态的切换都是由原语控制的,也就是说进程的创建、就绪、运行、阻塞、终止都由不同的原语对其进行控制。
5.进程间的通信
操作系统为运行在内存中的进程都分别分配了一块独立的内存空间,不同进程之间是只能访问自己的内存空间中的数据段,不能访问其他进程的数据段。但是进程之间又不可避免需要有信息交换,所以需要进程通信。
进程通信的方式
共享存储
基于数据结构的共享
比如存储区中只能存放指定长度的数组供对方共享
基于存储区的共享
提供存储区,共享的存放形式不约束。
消息传递
直接通信方式
每个进程头部有接收消息的缓冲区,其他进程可以将消息挂到目标进程的消息缓冲区,等待目标进程的读取。
间接通信方式
进程和进程之间共享一个“信箱”,消息体内有目标进程的pid和消息内容,其他进程到“信箱”中进行取用即可。
管道通信
管道通信
在内存中建立缓冲区,大小相当于操作系统的页大小(linux是4KB),管道只能半双工通信。如果要实现全双工通信,需要开两个管道。
特点
各进程之间的通信是互斥的。
管道没写满不允许读,没读空不允许写。
管道中的数据被读出之后就会被抛弃,所以读取的进程只能有一个。
2.多线程编程
1.线程的概念
线程可以理解为“轻量级进程”,可增加并发度,减少并发带来的开销
2.线程的属性
同一进程内的线程进行切换不会带来开销。
不同进程之间的线程切换会带来开销。
3.线程的实现方式
用户级线程
从用户视角看的线程
内核级线程
从操作系统视角看的线程
4.多线程模型
多对一模型
优点:进程管理开销小效率高
缺:一个线程阻塞会导致整个进程被阻塞(并发度低)
一对一模型
优:进程管理开销大
缺:各个线程可分配到多核处理机并行执行,并发度高
多对多模型
集二者之所长
3.进程调度
高级调度(作业调度)
按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程。
中级调度(内存调度)
按照某种规则,从挂起队列中选择合适的进程将其数据调回内存
低级调度(进程调度)
按照某种规则,从就绪队列中选择一个进程为其分配处理机
进程的调度
时机
什么时候需要进程调度
主动放弃
进程正常终止
运行过程中发生异常而终止
主动阻塞
被动放弃
分给进程的时间片用完
有更紧急的事情需要处理(比如I/O中断)
有更高优先级的进程进入阻塞队列
什么时候不能进行进程调度
处理中断的过程中
进程在操作系统内核程序临界区中,这个时候进行切换可能会导致操作系统发生故障
原子操作过程中(原语)
切换与过程
切换过程
对原来运行进程各种数据的保存
对新的进程各种数据的恢复
重要结论
进程切换是有开销的,会带来代价的,所以频繁的切换进程是对cpu的利用率是不利的
方式
非剥夺调度方式
除非当前进程放弃cpu的使用权
剥夺式调度方式
可由操作系统剥夺当前进程的cpu使用权
评判调度算法好坏的标准
cpu使用率
吞吐量
周转时间
等待时间
响应时间
调度算法
早期批处理系统
先来先服务算法
短作业有限算法(抢占式和非抢占式)
高响应式算法
交互式系统
4.同步
子主题
4.死锁
三、内存管理
1.内存管理策略
内存的基础知识
1.什么是内存,有何作用
2.进程运行的基本原理
内存管理的概念
1.内存的分配和回收
2.内存空间的扩充
3.地址转换
4.存储保护
2.虚拟内存管理
四、存储管理
1.文件系统
2.文件系统的实现
3.大容量存储结构
4.I/O系统
五、保护与安全
1.系统保护
2.系统安全
六、案例研究
1.Linux系统
2.Windows系统
0 条评论
下一页