操作系统-CPU管理(多进程图像)

  • 本系列博客为观看哈工大李治军老师的操作系统视频而做的整理总结。
  • 本文为第三篇,主要CPU管理
    关键词索引:
    并发(执行多道程序)、进程、多进程图像、PCB(Process Control Block)、进程状态图、调度(getNext() )、 进程同步

见后续系列文章

一、直观设想

操作系统-CPU管理(多进程图像)_第1张图片
程序载入内存,设好PC指针初值后,
CPU从该指针指向的内存地越取指执行,
然后PC指针自动增加,自动执行指令

操作系统-CPU管理(多进程图像)_第2张图片

二、存在的问题与实际管理思想

操作系统-CPU管理(多进程图像)_第3张图片
IO 指令执行非常慢

如果不作额外处理 ,只让PC自己增加
碰到IO指令时,cpu会等在那里。 CPU的利用率非常低

操作系统-CPU管理(多进程图像)_第4张图片

类比 烧水 洗衣等同步干活的事情。
当需要等待的时候,切换过去执行别的事情。

多道程序交替执行
操作系统-CPU管理(多进程图像)_第5张图片
CPU上交替执行多个程序: 并发

在来回切换的过程中,需要有一个记录,保留场景
(运行的程序和静态的程序是不一样的)
操作系统-CPU管理(多进程图像)_第6张图片
描述这个区别, 引出 "进程” 的概念。 (运行中的程序)

进程有开始、结束, 需要有记录。 (程序是静态的)

三、多进程图像

操作系统-CPU管理(多进程图像)_第7张图片
操作系统-CPU管理(多进程图像)_第8张图片
操作系统-CPU管理(多进程图像)_第9张图片

有一个cpu , 所以只有一个进程在运行 。 ( 联系多核)
操作系统-CPU管理(多进程图像)_第10张图片
多进程如何切换?
队列操作+调度+切换
操作系统-CPU管理(多进程图像)_第11张图片
schedule() 。 依托于PCB

getNext() 调度 , 有很多种算法 。例: FIFO ,优先级
操作系统-CPU管理(多进程图像)_第12张图片
保存 ,取值 . 此处需要用汇编进行精确控制

操作系统-CPU管理(多进程图像)_第13张图片

要解决该问题,需要限制对100的读写。
多进程的地址空间分离。 映射表
多进程涉及到内存管理
操作系统-CPU管理(多进程图像)_第14张图片

操作系统-CPU管理(多进程图像)_第15张图片
如果处理不合理,两个进程要同时放入一块内存,冲突,
操作系统-CPU管理(多进程图像)_第16张图片
推进顺序不合理会导致执行错误
为了合理推进, 要加锁
操作系统-CPU管理(多进程图像)_第17张图片

你可能感兴趣的:(#,操作系统)