工程知识点
1.线程/协程/异步编程模型
2.用户态内核态
image.pngman syscalls 查看linux下系统调用
image.png
3.线程池
线程池用来优化线程的创建和销毁带来的资源消耗。
4.协程
协程 用户层面的线程,减少线程内核态的切换。
image.png
5.进程、线程、io
进程:创建(fork) 回收(wait、waitpid)
线程:创建(std::thread)、回收(join、detach join会阻塞,detach不阻塞)
image.png
image.png
6.多路IO复用:
7.htop、ps查看线程与进程
ps用户视角(user view)查看的是进程,用的是内核视角(kernel view)htop可以查看线程。
学术知识点
并发:宏观上同时发生、微观上交替发生
并行:指两个或多个事件在同一时刻同时发生
空分复用技术(虚拟存储技术)
时分复用技术(虚拟处理器)
实时操作系统
网络操作系统
分布式操作系统
个人计算机操作系统
进程、线程,调度
1)进程三种状态
1.运行态
2.就绪态
3.阻塞态 比如操作系统等待I/O外设资源
所谓调度,即资源有限一堆任务要处理制定一些规则来决定处理这些任务的顺序。
2)进程调度
进程调度的目的:是为了进程切换
进程调度的时机,主动进程自己触发,被动[操作系统触发](有更高优先级的进程进入就绪队列)
触发硬件中断和原子操作时不能进行进程调度。
进程调度的方式,非抢占式(早期的批处理系统),抢占式(后期的分时、实时操作系统)
进程调度算法的评价指标:
CPU利用率:忙碌时间占总时间的比例
系统吞吐量:单位时间内完成作业的数量
周转时间: 各个作业/作业数
等待时间
响应时间
1.进程调度算法
FCFS(先来先服务)从运行时间看对长作业有利,对短作业不利。
SJF(短作业优先)
SRTN(抢占式短作业优先)从等待时间看对短作业有利,对长作业不利
image.png
HRRN(高响应优先) 响应比[(等待时间+运行时间)/运行时间]
既不会导致饥饿也兼顾了短作业优先。
RR(时间片轮流)
image.png
优先级调度算法
通常系统进程高于用户进程
前台进程高于用户进程
I/O型进程优先于CPU繁忙型
image.png
多级反馈队列调度算法
image.png
内存
文件
磁盘
IO
IO控制方式:
轮询 CPU与I/O穿行
中断触发 CPU与I/O并行
DMA方式
通道控制
用户层软件 :APP
设备独立性软件:系统调用,系统API
设备驱动程序 :
中断处理程序
硬件
假脱机技术(SPOOLing)
脱离主机进行输入/输出操作
输入输出缓冲区
网友评论