5.cpu管理的直观想法
Posted PacosonSWJTU
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.cpu管理的直观想法相关的知识,希望对你有一定的参考价值。
【README】
本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐;
本文主要介绍了操作系统管理cpu的大致内容;
【1】操作系统管理硬件
1) 多进程管理视图: cpu 管理,内存管理;
2) 文件操作视图: 键盘显示器,磁盘,文件管理等;
【1.1】 设备管理初始化(main函数)
把硬件参数读入内存,以便管理;
包括 内存,缓冲区,硬盘等;
用户态程序 通过系统调用(操作系统接口或系统函数)进入内核态;
【1.2】系统调用底层细节
1)涉及 cpu管理,内存管理,磁盘管理,终端设备管理;
- 其中 cpu和内存管理是多进程视图;
- 终端设备和磁盘管理是文件视图;
【1.3】cpu,内存,磁盘,终端管理等的具体实现
硬件管理的具体内容:
【2】CPU管理
补充: 多进程视图包含 cpu管理,内存管理;
多进程图像:
- 操作系统在管理CPU的时候,引出了多进程图像;即通过多进程图像,操作系统管理明白了 CPU;
- 所以多进程图像是操作系统的核心图像;
【2.1】使用cpu
1)cpu工作原理
2)cpu怎么工作,怎么管理
管理cpu的最直观方法就是设置pc-程序计数器寄存器的值就可以了;
3)这样做的问题?
- 有fprintf 与 没有fprintf的执行时间的比值: 10^6 : 1;
- 即有io指令与没有io指令的执行时间比为: 10^6 : 1 ;
- 可以看到 io操作特别耗时;
4)问题如何解决
多道程序:
- 指的是多个程序在内存中;
解决方法:多道程序交替执行, 让cpu忙碌起来;
注意:关注cpu利用率;
【2.2】cpu执行的核心
1)cpu执行核心:多道程序交替执行; 多个程序放在计算机内存中;
补充:
- 并发指一个cpu上交替执行的多个程序;
2)如何做到程序并发执行的?
通过修改PC寄存器的值,来修改下一条执行指令的地址,从而达到切换程序的目的;
【3】 引入进程概念
1)进程定义:
- 进行(执行)中的程序;
- 进程需要记录 寄存器的状态,而程序不用;
2)更具体的:
- 进程是一种结构体,用于存储程序运行所需的状态信息(上下文信息),如cpu所有寄存器数据,栈信息等,以便操作系统管理程序的运行;
3)进程与程序区别
- 进程指的是运行的程序(动态);
- 程序指的是静止的程序;
【总结】cpu管理
1)定义:
- 就是让程序执行起来;启动一个进程,让cpu去执行这个进程;
- 让cpu更好工作,操作系统需要启动多个进程,然后cpu去跑多个进程,cpu利用率提高,cpu就可以实现更好的管理了;
所以cpu运行多个进程的状态,就是cpu被很好管理的核心内容;
2)PCB
- 指的是 process control block, 进程控制块,是一个结构体(数据结构),用于记录进程状态;
以上是关于5.cpu管理的直观想法的主要内容,如果未能解决你的问题,请参考以下文章