🌹作者:云小逸 📝个人主页:云小逸的主页
📝Github:云小逸的Github
🤟motto:要敢于一个人默默的面对自己,==强大自己才是核心==。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。==希望春天来之前,我们一起面朝大海,春暖花开!==🤟
👏专栏:C++👏 👏专栏:Java语言👏👏专栏:Linux学习👏
👏专栏:C语言初阶👏👏专栏:数据结构👏👏专栏:备战蓝桥杯👏
@TOC
前言
今天我们接着上一篇文章继续学习《操作系统》这门课程,希望各位读者可以喜欢,码字不易,希望多多支持!!
——————————————————————————————
三.操作系统的发展和分类:
学习提示:要重点关注和理解各类操作系统主要想解决的是什么问题,各自的优缺点。
手工操作阶段:
批处理阶段-单批道处理系统:
批处理阶段-多批道处理系统:
分时操作系统:
实时操作系统:
其他操作系统:
知识点总结:
四.操作系统的运行机制:
预备知识:程序是怎么运行的:
像我们写的C语言代码经过编译器编译生成机器指令(二进制)
“指令”就是处理器(CPU)能识别、执行的最基本命令
注:很多人习惯把 Linux、Windows、MacOS 的“小黑框”中使用的命令也 称为“指令”,其实这是“交互式命令接口”,注意与本节的“指令”区别 开。本节中的“指令”指二进制机器指令
内核程序和应用程序:
-
我们普通程序员写的程序就是“应用程序”
-
程序运行的过程其实就 微软、苹果有一帮人负责实现操作系统,他们写的是“内核程序” 由很多内核程序组成了“操作系统内核”,或简称“内核(Kernel)”。
-
内核是操作系统最重要最核心的部分,也是最接近硬件的部分 甚至可以说,一个操作系统只要有内核就够了(eg:Docker—>仅需Linux内核) 操作系统的功能未必都在内核中,如图形化用户界面 GUI
特权指令与非特权指令:
在CPU设计和生产的时候就划分了特权指令和 非特权指令,因此CPU 执行一条指令前就能判断出其类型
-
CPU 有两种状态,“内核态”和“用户态” ,处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令
-
拓展:CPU 中有一个寄存器叫 程序状态字寄存器(PSW),其中有个二进制位,1表示 “内核态”,0表示“用户态”
别名:内核态=核心态=管态;用户态=目态
如何实现CPU状态的切换(内核态和用户态)
- 内核态→用户态:执行一条特权指令——修改PSW的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权
- 用户态→内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺 回CPU的使用权
除了非法使用特权指令之外,还有很多事件 会触发中断信号。一个共性是,但凡需要操作系统介入的地方,都会触发中断信号
知识点回顾:
五.中断和异常:
中断的作用:
-
CPU 上会运行两种程序,一种是操作系统内核程序(整个系统的管理者),一种是应用程序。
-
一般的情况,一个程序会一直进行下去,除非发生中断。 一旦发生中断,cpu会立即停止当前正在运行的程序,转而执行相应的内核程序。
-
合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序(第二章进程管理相关内容)
-
“中断”是让操作系统内核夺回CPU使用权的唯一途径 如果没有“中断”机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序.
甚至可以说,没有中断技术,就没有操作系统!
- 内核态→用户态:执行一条特权指令——修改PSW的标志位为“用户态”,这个动作意味着操作系统 将主动让出CPU使用权
- 用户态→内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺 回CPU的使用权
中断的类型:
内中断:与当前执行的指令有关,中断信号来源于CPU内
例子3:有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令——陷入指令,该指 令会引发一个内部中断信号
执行“陷入指令”,意味着应用程序主 动地将CPU控制权还给操作系统内核。 “系统调用”就是通过陷入指令完成的
外中断:与当前执行的指令无关,中断信号来源于CPU外部
每一条指令执行结束时,CPU都会例行检查 是否有外中断信号
在这里程序一和程序二每隔50ms就会执行(轮流)
分类:
中断机制的基本原理:
不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号 的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。
知识点回顾:
最后
十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:
1.努力读书,尤其是家境普通或者家境差的,去学习,你的目标就是改变自己的命运,骆家辉三代人才进白宫,英国印度裔首相苏纳克,三代人才进白金汉宫,所以有一代人必须做出付出,没办法,你的最大任务就是完成原始资本积累。
2.努力读书不只是考个好大学就完事了,当年刘强东学的社会学,后面还是自己去学习打代码,所以平时也多看书,多看新闻,坚持学习,不仅学习书本知识,还要学习活知识,报纸新闻,一些招聘实习的信息,多问多找,学会分析信息收集信息,这样慢慢抓住机会。
3.如果没有成功,从自己身上找找原因,学习复盘,思考哪个环节不对,给自己信心,先慢慢做,在斗争中学习斗争,你不去学习斗争,斗争也会走进你的生活。
4.我们不能一边过着糟糕的生活,一边期待好事发生在我们身上。
5.记住,越努力越进步越开心越自信,越懒惰越迷茫越焦虑自卑。
最后如果觉得我写的还不错,请不要忘记==点赞==✌,==收藏==✌,加==关注==✌哦(。・ω・。)
愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!