导图社区 操作系统
操作系统是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
编辑于2021-05-15 20:23:12操作系统
操作系统Core
From蛋黄派大师兄
CPU
进程管理
进程管理逻辑图
多进程同时运行多道程序
提高并发性
进程监控
通过【PCB(process control block)】监控进程运行状态
进程调度
调度算法依赖【进程运行状态】,调度准则评价调度算法
多进程某些特征引发的问题
多进程特征:并发性、异步性、独立性
1.死锁问题
问题描述
解决方法一:银行家算法
解决方法二:死锁定理
2.竞争与合作(同步与互斥)问题
问题描述
解决方法:进程通信--通过信号量PV操作实现
启蒙篇
进程的由来
单道程序-->多道程序->多进程->多线程的演变
进程和线程的关系:
进程是线程的容器,进程和线程同时存在
进程发明后引发的问题
1.如何细分进程运行状态,如何控制状态间的转化
进程的运行状态存储在PCB(Process Control Block)中
2.如何调度进程(通过调度算法)
调度算法依赖进程的运行状态; 调度准则去判断一个调度算法的好坏。
3.进程间同步互斥(合作竞争)问题
解决:通过进程间通信 如何实现进程间通信:信号量PV操作,模拟的是交通信号灯--等待与计数
4.死锁问题
引起原因: 共享资源有限。 进程运行顺序的不恰当。
基础篇
进程基础知识
进程与程序的区别
1.程序是静态的,进程是动态的
2.进程是程序的一次执行过程
3.进程和程序不是一一对应的
一个程序对应多个进程
例如: QQ程序多开 Chrome浏览器每一个tab页对应一个进程
一个进程对应多个程序
其实就是一个进程服务多个程序,例: 1.QQ UI进程 2.360 3.刺激战场
进程的特征
1.并发性
2.异步性
3.动态性
4.结构性
进程的构成
进程的构成:进程=程序+PBC 1.1.程序段 1.程序 1.2.数据段 2.PBC
1.程序段
2.数据段
3.PCB
5.独立性
进程的组织(结构)
1. 进程的组织(结构):程序段+数据段+PCB(process control block)
编译+链接基础知识
1. 编译+链接基础知识,比如以QQ为例: 比如QQ源码中有:main.c、net.c、image.c、video.c、voice.c 源码; 首先经过编译,得到main.o、net.o、image.o、video.o、voice.o ,这些编译后的代码分别都包含了程序段和数据 段; 然后经过链接,将所有编译后的代码中的程序段链接到一起、数据段链接到一起;最后得到的是QQ.exe程序。
1.PCB
1. 以qq.exe为例: qq.exe程序从磁盘copy至内存之后,内存中也为qq进程建立了一个PCB。
1.进程ID(唯一性)
2.进程当前状态
3.进程优先级
4.代码运行入口地址
5.代码的外存(磁盘)地址
6.代码进入内存的瞬间
7.代码段指针
8.数据段指针
9.堆栈指针
2.程序段
3.数据段
进程的状态与控制
1. 程序(进程)需要运行的条件:内存+PCB+CPU  2. 每种状态拥有哪些资源? 1.新建:内存 2.就绪:内存+PCB 3.运行:内存+PCB+CPU 4.阻塞:内存+PCB 5.终止:无
进程间通信IPC
1. 进程间通信:IPC,inter-process communication 2. 进程间为什么要通信? 安全性(内存中的进程间的程序和数据不可直接相互访问)+交互性(进程间需要进行间接的程序和数据访问) 3. 有哪些进程间通信例子? 粘贴复制(共享存储)、迅雷下载<-->浏览器(消息传递)
1.低级通信
1. 低级通信实现:PV操作信号量 2. 低级通信效率:与高级通信相比较低
2.高级通信
1. 高级通信建立在低级通信之上; 2. 高级通信效率较高
1.共享储存
1. 任意内容:文字、图片、程序等等。
2.消息传递
1. 格式化的数据
3.管道通信
1. 字符流 2. 管道大小固定 3. 半双工
进程调度
三级调度
1. 三级调度: 1. 作业调度,又称高级调度,首次磁盘调入内存,频率非常低,几分钟一次。 2. 内存调度,又称中级调度,磁盘内存互调,提高内存利用率和系统吞吐量(换入换出)。 3. 进程调度,又称低级调度,频率很高,CPU的分配。
调度算法+调度过程
1.FCFS算法
2.时间片轮转算法
3.SJF算法
4.优先级调度算法
5.高响应比优先调度算法
6.多级反馈队列调度算法
甘特图
调度准则
进程同步与互斥
进程死锁
回顾篇
内存条
磁盘
外设
总体篇
计算机是怎样工作的
OS是怎么启动的
时钟震荡供能 ->CPU激活 ->主板默认的ROM执行Boot程序 ->Boot程序将C盘中的的OS拷贝至内存中 ->CPU跳转至内存执行OS ->OS启动完成
OS的目的、功能工作的
OS是软件和硬件资源的管理者: CPU--进程管理 内存条--内存管理 磁盘-文件管理 外设--IO管理 目的:管理软硬件资源 功能:软硬件资源的管理者
OS的发展
无操作系统--手工替换打孔纸带(纸带作用是存储数据,打孔为1,未打孔为0); 单道批处理系统--机器替换手工; 多道批处理系统--I/O交互时,CPU空闲,提高CPU利用率(资本家本性); 分时系统--满足基本计算以后,实现交互性; 实时操作系统--工业和科学的要求,提高及时性、可靠性,用于军工、太空; 网络操作系统--推动计算机网络的发展; 分布式操作系统--基于网络操作系统,功能发布在互联网上,负载均衡化; 个人操作系统--走入千家万户,一种通用操作系统(Windows|Linux|maxOS|IOS|Android);
无OS,手工操作
单道批处理OS
多道批处理OS
分时OS
OS运行机制
中断(对外界行为的感知,比如点击键盘、鼠标)--一种通知行为,CPU收到外界行为的通知; 异常(程序运行过程中产生异常)--一种对错误的处理方式; 系统调用(主动反应,调用系统资源)--一种请求行为。
OS特征
并发 异步 虚拟 共享
并发
真并发:多核CPU,多核之间进行
伪并发:单核CPU,单核内部的并发
异步
进程的运行是走走停停,具有随机性的
异步原因:进程之间的并发+OS运行机制
虚拟
虚拟数量:CPU复用--时分复用技术
虚拟空间:虚拟内存--空间复用技术
共享
互斥访问:例如打印机在同一个时间只能被一台计算机访问
同时访问:对只读资源的访问
OS体系结构
模块化设计+分层设计
微内核:保留了大内核的核心功能(进程管理、内存管理、文件管理、I/O管理)
服务程序:非微内核功能