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