今天开始正式学习操作系统的相关知识,本着输入与输出并举的原则,决定每天花点时间对今天所学的知识进行总结,同时也希望写成博客和大家交流分享,一起进步。
因为暂时每天找到比较好的操作系统的书,因此我的学习资料是B站的课程《王道考研 操作系统》课程,课程是免费的,大家可以白嫖。这里附上链接,方便大家学习。https://www.bilibili.com/video/BV1YE411D7nH?from=search&seid=10515200733685745184
个人感觉课程还是不错的,比较的通俗易懂,也不会很长让人感觉疲惫。大家有比较好的学习资源也可以告诉我,大家一起学习进步。好了,话不多说,进入正题。
1、操作系统的定义:在计算机系统中控制着硬件和软件的交互,合理的调度计算机的工作以及资源分配,目的是提供接口,方便用户以及一些软件访问硬件资源。操作系统本身也是一种系统软件。
课程中的这张图比较形象的解释了操作系统的作用,就是在硬件和应用程序和用户之间沟通调度工作,方便用户和软件访问以及使用硬件资源。
2、进程:一个程序的执行过程。一个程序要成为进程,必须先被放进内存,才能被CPU处理。
3、操作系统提供的接口类型:
①GUI用户图形:例如安卓、Windows等图形化的操作界面,方便用户的简单使用。
②命令接口:可以输入指令,操作系统进行某些工作。
又分为:联机命令接口:允许进行人机交互,说一句做一句。
脱机命令接口:说一堆做一堆,将一堆指令写进一个文件里, 运行文件,同时执行一系列的操作。
③程序接口:留给程序调用的接口,普通用户不能直接使用程序接口。
4、虚拟机:用软件模拟的具有完整硬件系统功能的、在一个完全的隔离环境下的完整计算机系统。
5、操作系统的四个特征:
①并发:某几个事件宏观上是在同一个时间段发生,实际上微观的时间点上是交替发生的。
并行:几件事情确实是在同一个时间点同时发生。
操作系统的并发与并行:
CPU是单核的,那么同一时间就只能运行一个程序,因此需要并发地执行多个程序。
CPU是多核的,那么同一时间就能运行多个程序,因此能并行地执行多个程序,但并发依旧必要。
②共享:系统中的某个资源可供多个并发执行的进行共同使用。
互斥共享方式:一个时间段内只能一个进程访问该资源,比如摄像头。
同时共享方式:一个时间段内能多个进程访问该资源,比如扬声器。
③虚拟:把一个物理实体变为若干个逻辑上的对应物。
空分复用技术:同时运行看上去远大于内存容量的应用。
时分复用技术:同时交替的运行多个应用软件。
④异步:因为并发,程序并不是一次性执行完,而是走走停停。
6、操作系统的几个发展阶段:
①手工操作阶段:一个个任务慢慢来,效率极低。
②批处理阶段:将程序一起写入磁带,加快I/O读取
单道批处理:改为磁带输入,加快I/O。但是,CPU还是只能一次执行一个程序,等待I/O时间长依旧没有解决。
多道批处理:CPU不用等待I/O,效率高。但无法交互,也无法调试。
③分时操作系统:计算机以时间单位片流转,可在单位时间片时间内进行人机交互。但无法优先解决一些任务,所有的优先级一样,按顺序来。
④实时操作系统:加入了中断,可以响应紧急的任务,优先处理。
硬实时操作系统:绝对不允许超时。
软实时操作系统:允许偶尔超过时间。
⑤网络操作系统:通过网络实现几台计算机的资源共享和通信。
⑥分布式操作系统:具有分布性和并行性。将任务安排在几台普通计算机上处理不同的部分,并行协同的工作,以低成本,完成高运算。
⑦个人计算机操作系统:Windows。
7、两种指令:特权指令
8、CPU的两种状态:核心态:特权和非特权指令均可运行。
用户态:只能运行非特权指令。
9、操作系统的划分:这里内容较多,这里直接附上一张课程截图,我认为讲的非常的详尽了:
今天的分享暂时就那么多,我的分享只是为了加深自己的记忆,如果大家想系统的学习,我还是建议去看课程好一些。大家也可以分享自己觉得比较好的课程。