网上这样的专业资料很多,抄来抄去的没啥意思,所以我将用通俗易懂的方式来解释,作为理解的工具即可,要想准确的知道,还得看专业的博客或者书籍。
首先,我们所有看到的网页啥的都是数据通过很多变化得来的,你有没有想过,你面前的这台电脑,有什么显卡,显示屏,键盘,鼠标,电线这些看得见摸得着的东西,为什么就能生成了一张张精致的网页,还能打字,语音呢?你肯定想得到是某种东西,将实在的东西虚拟化,或者是抽象化了,那么在硬件——>软件的过程中,迈向抽象的第一步的,就是操作系统。
计算机从上往下可粗分为用户,应用程序,操作系统,硬件
如果计算机是一栋别墅,那么应用程序就是里面的家具和房间,操作系统就是盖房子的工头(操工头),硬件就是原材料
那么操作系统要做到,就是如何把房子盖起来
既然要盖房子,那首先得干嘛?起码能用材料吧,所以操作系统的基本功能就是控制和管理系统内各种资源,同时,你还不能调用得慢,否则用户就不买你账。怎么样才能又快又好调用资源呢?操工头那可是终身学习的先驱啊
第一任操工头:手工操作系统,全靠吼~
说我不能自动?
第二任操工头:单道批处理系统,就弄了个磁带,像唱片一样,慢慢转,自动完成程序作业,问题那也是想当明显——只能按顺序一步步走,而且一次只能一道程序,称为串行
说我一次只能运行一个?
第三任操工头:多道批处理系统,反正CPU干得快,但是I/O啥的太慢了,很多时间都等他,那CPU按照需要切换,算完这个,让I/O来输入输出,自己同时再算下一个就行了呗
这样的时间级别往往是ms级别的,所以宏观看起来就像是多个程序一起执行一样,称为并行
但是你还是有问题啊,我要个方形房间,不是三角形!多道批处理系统的用户交互是很差的,往往是埋头苦干,但是实际上,用户的需求在不断变化的,操作系统应该相应作出调整
说我不解风情?
第四任操工头:分时操作系统,多个用户通过终端同时共享一台主机,把运行时间分成很短的时间片(一般也是ms级别,用户很难察觉),轮流给各联机作业使用,就是把处理器按照固定的时间片分给大家用,你时间到期了我就换人,此时你可以键入命令,下次我来的时候就按你的要求来。同时每个用户都是相互独立,他们键入的命令互不干扰
这就已经很棒了,具有同时性,交互性,独立性,及时性
但是问题依然有,我只能和你个主机聊天,其他人不能和我聊嘤嘤嘤
注:第四任操工头小助手:实时操作系统,因为有些用户的命令太重要了,必须先完成,所以对他们来说不能轮流,比如飞机网上订票,导弹发射命令等,有更高的及时性和更高的可靠性。当然了,代价就是为了照顾你们这帮万恶的特权,CPU利用率下降
说我联系网不够强大?
第五任操工头:网络操作系统+分布式计算机系统
简单讲就是把上网的计算机都结合起来,用某些方法使得各个计算机都可以相互通信
分布式计算机系统更高级一点,不仅能聊天,还能让大家相互协助完成同一任务
当然了,以上五任都被现今的巨无霸——个人操作系统给一锅端咯
配个图
接下来我会继续更新自己的笔记,我也是今年才接触操作系统,挺有趣的,加油!