《30天自制操作系统》学习笔记--第16天
来源:互联网 发布:荣耀战魂 ps4 网络nat 编辑:程序博客网 时间:2024/05/13 17:26
今天是多任务第二讲,比昨天的层次更高,更加接近实际使用的设计。
首先是任务的自动化,所谓任务就是正在执行的程序,程序成千上万,可以自己随意安装,所以,管理就不能靠人工修改代码,而要自动管理,自动分配空间,自动注册相关设置,所以就要建立一个结构体来管理众多任务,记录当前任务的信息。
任务的休眠,有些任务需要等待数据,或者等待中断程序,等待的时候CPU等就会跟着闲着,这可不好,我们必须让CPU尽可能的处于运行状态,所以就有了任务的休眠,让一个等待的任务不再处于运行状态,而让那些高计算量的任务过来运行,而当任务休眠时,数据到来,马上唤醒任务,让他继续执行。就是这样的。
接下来就涉及到任务的优先级了,谁应该有更多的系统资源,比如你听音乐和写程序,一输入代码音乐就卡这可不好,分成1,2,3,4,5......12各种等级,我们可以音乐12级,文本编辑5级,这样优先执行音乐,音乐不会卡,文本就算卡也没办法。。自找的。。跟我们音乐大哥抢资源是抢不过滴。。。。。
其实这并不是科学的划分,如果超过12个任务,必然有同级任务存在,那到时候怎么办呢,音乐和电影抢资源,谁应该赢呢,即使这个问题解决了,优先级运行时间划分也存在问题,如果安装1级1s(假设),2级2秒。。。。10级十秒这种划分也不是很科学的,因为2级和1级只差一级,但2级运行时间是1级的一倍,而3级和2级之间也只差一级,但却只有1.5倍所以这也是个问题。。这个姑且放一下,以后再考虑。
作者解决音乐和电影的方法是把等级再分层,类似与金字塔结构,每层有不同的任务,任务永远只在顶层切换,而不会轮到下层,知道上层都运行结束,也就是顶层消灭了,才会轮到现在的顶层,之前的第二层。而如果高层来人了,当前层当前运行任务结束后,无条件切换到上层。
都是些理论,不知道现在实际种工作的操作系统是怎么弄得,查到资料了再写出来。。。谢谢观看。。。。
- 《30天自制操作系统》学习笔记--第16天
- 《30天自制操作系统》学习笔记--第0天
- 《30天自制操作系统》学习笔记--第1天
- 《30天自制操作系统》学习笔记--第2天
- 《30天自制操作系统》学习笔记--第3天
- 《30天自制操作系统》学习笔记--第4天
- 《30天自制操作系统》学习笔记--第5天
- 《30天自制操作系统》学习笔记--第6天
- 《30天自制操作系统》学习笔记--第7天
- 《30天自制操作系统》学习笔记--第8天
- 《30天自制操作系统》学习笔记--第9天
- 《30天自制操作系统》学习笔记--第10天
- 《30天自制操作系统》学习笔记--第11天
- 《30天自制操作系统》学习笔记--第12天
- 《30天自制操作系统》学习笔记--第13天
- 《30天自制操作系统》学习笔记--第14天
- 《30天自制操作系统》学习笔记--第15天
- 《30天自制操作系统》学习笔记--第好多天
- 中兴U950小旋风完美ROOT教程WIN7,XP皆可
- ffmpeg 移植到Android(1)
- 数组、指针、指针数组、数组指针(转)
- 经典SIFT算法
- Memcache 集群
- 《30天自制操作系统》学习笔记--第16天
- 滑雪!冬天里的白色鸦片
- javascript中自定义类(2)
- 外媒:比特币生死得看中国脸色
- 极度混乱的spring框架
- 简单文秘操作,让你的文字信息不能被复制,word转成pdf
- 三星手机官方ROM下载器图文教程
- Android Drawable、Bitmap、Canvas和Paint的区别
- Linux makefile 教程 非常详细,且易懂