操作系统
呲牙捏嘴
非宁静无以致远
展开
-
CPU(进程)调度
评判指标 响应时间小(点了就有反应) 周转时间(尽快完成任务) 吞吐量(系统内耗小) 吞吐量与响应时间有矛盾:响应时间小则切换次数多则系统内耗大则吞吐量小 前台任务与后台任务关注点也不同:前台任务关注响应时间(如word输入了几秒才看到屏幕出现字显然不合理),后台任务关注周转时间(比如编译一段简单的程序很久才编译完也不合理)。 CPU约束型任务:很长时间没有IO(比如Gcc,matlab算矩阵) I/O约束型任务:I/O很多,往往是前台任务。 折中时应该让IO约束型任务有更高的优先级,IO任务经常需要等待,原创 2020-06-05 16:48:35 · 985 阅读 · 0 评论 -
操作系统构建过程
操作系统核心要管理CPU-------怎么管理CPU?给PC指针设置初值让它不断的取值执行。 问题来了:顺序执行会遇到CPU长时间等待,CPU利用率低下。 于是想到再等待资源的时候让它去执行别的程序-------多个程序交替执行,这就是多进程。执行别的程序就是跳转,那就需要一个栈---------------跳出去要能跳回来,引出PCB记录当前执行状态,跑起来发现会有内存冲突(比如A把B程序的内存...原创 2020-03-16 11:50:56 · 576 阅读 · 0 评论 -
2、多线程、多进程
文章目录动机线程的切换内核级线程内核线程switch_to五段论: 动机 当多个程序的联系很紧密,需要共用很多内存空间一起完成功能时,进程间切换要切代码还要切换内存映射表,代价很大。能不能只进行代码切换而不切映射表呢?于是引出了线程的概念:不单独分配内存映射表但是可以允许CPU在其间来回切换的程序即是一个线程,它与别的线程公用一套内存映射表。 线程的切换 由线程的引出可以知道,线程的切换便是进程切...原创 2020-03-13 01:18:17 · 219 阅读 · 0 评论 -
1、多进程
启动 操作系统启动非常复杂,做了这么几件事情: 1.把系统读取到内存中 2.初始化 (要初始化硬件信息<如 GDT、MEMMAP>和中断) 之后操作系统程序常驻内存0开始的地方,并且把这部分内存保护起来。 如Linux的shell: 操作系统接口 操作系统程序需要被保护,故而需要向上层应用提供的可以操作硬件的接口。 ...原创 2020-03-12 23:37:22 · 151 阅读 · 0 评论