操作系统到底是个什么鬼?(一)

1.操作系统就是人的心智
在这里插入图片描述

操作系统其实就是人的心智,这么说可能有的人觉得有些夸张了,然而我这样说是有道理的;

操作系统非常强大,屏蔽了所有的计算机硬件,极大地降低了人们使用计算机的成本;

微软在推出windows之后才开启了个人电脑的时代;

那时候阻碍人们使用电脑的原因一个是价钱偏高,更重要的原因是没有操作系统的电脑不是一般的难用!
在这里插入图片描述

我举几个例子:

你得自己记住所有的内存地址;

记住磁盘上的文件的位置;

更不用说每次开机的时候检查硬件的情况了。

现代电脑离开了操作系统根本无法运转。

总之,操作系统无所不能,当然了,开发的难度也很大,一个人拥有成熟的心智是不容易的,为电脑开发操作系统也是不容易的。

作为从西方传入的学科,操作系统的本名叫做:Operating System.其实翻译成操作系统并不能体现出他的强大,而应该翻译成控制或者是掌控。

2.操作系统都是由什么构成的?
我们学习操作系统的时候书上都会介绍:

操作系统是一种复杂的系统软件,由不同的数据数据、程序代码和数据初始化文件所构成的集合。

说白了,其实就是个非常高级的软件;

软件无非就是数据结构+算法,操作系统还需要存储大量的数据,也就是文件。

3.操作系统能做些什么?
在这里插入图片描述

首先说一下操作系统要达成的目标:

与硬件部分相互作用

为运行在计算机上的应用程序提供运行环境

操作系统主要有以下四个功能:

CPU管理

内存管理

文件管理(外存管理)

设备管理(主要是I/O设备)

4.操作系统如何发展得这么牛逼的?
在这里插入图片描述

1.无操作系统时代
在这里插入图片描述

时间并不是很长,只是出现计算机出现伊始,大约在二十世纪四十年代,后来出现了极其简单的监控系统,这被公认为是操作系统的雏形。

2.单道批处理系统
在这里插入图片描述

顾名思义,内存中只有一道作业;
这里补充一点:CPU只能访问内存,而且CPU的速度还比内存快的多得多!这样最直接的后果就是,内存不停加载一道又一道的程序(这里不准确,其实是操作系统,只是为了做出对比),一刻不得闲,而CPU处理的速度快,每次都是光速处理完程序,大部分时间是闲置的。

综合来看单道批处理系统的特点就是:单道性、自动性和顺序性。
今天看来这个系统简直垃圾死了,然而当时单道批处理系统比起啥都没有的无操作系统时代的是个非常大的进步。

人们再也不用手动的输入程序,因为操作系统会自动的加载程序,同时也再也不用等结果等很长时间,因为操作系统会自动给出处理结果。

然而缺点也是显而易见的,那就是CPU太闲啦根本就没有发挥出应有的潜能!

3.多道批处理系统
在这里插入图片描述

顾名思义,内存当中同时驻留多道作业,那么,谁先执行谁后执行呢?你可别指望这些程序很有君子风范,搞个互相谦让啥的,不存现在的,这就需要操作系统去调度

操作系统的作业调度程序按照一定的策略从后备作业队列中选择若干个作业调入内存,使他们共享CPU和计算机内的各种资源。

综合来看,多道批处理系统的特点就是:多道性、复杂性、无序性和调度性

优点:比起单道批处理系统又是一个进步,不仅仅是提高了CPU的利用率,也提高了内存的利用率,以及I/O设备的利用率,同时系统 处理的作业量也大大增加,这叫做吞吐量

缺点:有优点肯定就有缺点,作业多了可不比从前,快捷的代价就是复杂,麻烦!比起单道批,系统平均周转时间明显增加,同时,人机交互也做不到,也就是说那时候计算机还如同没有断奶的孩子,仍然严重依赖计算机科学家,不能为普通大众所使用,今天的操作系统之所以可以让一个没有任何计算机知识背景的人快速上手就是因为人机交互做得好。

4.分时操作系统
在这里插入图片描述

允许多个用户通过终端机同时使用计算机,每个用户通过终端与主机交互时都可以得到快速的响应,这就是分时操作系统。也是我们今天在用的系统。

电脑都是分为客户机和服务器,这个系统就是为了可以让大家共享服务器的资源

特点:多路性,独立性,及时性,交互性

优点:方便的交互性,使多个用户可以通过不同的终端共享主机

缺点:有时候响应不是很及时

5.实时系统
在这里插入图片描述

及时的响应外部事件请求,在规定时间内完成对该事件的处理,主要用于实时控制和实时信息处理等领域。主要用于人工智能,比较高大上

特点:多路性,独立性,及时性,交互性,可靠性

5.现代操作系统有什么特征?
在这里插入图片描述

首先先看一下最明显的:支持多任务;

从单道批到多道批是个非常伟大的进步,不仅CPU的利用率上来了,程序也开始共享内存资源;

为了更好的利用内存和外存的资源,也由此发展出了内存以及外存的调度;

其中大量的运用虚拟技术;

还用到了并产生了并发;

进程多了调度也是个问题,又涉及到了异步。

综上,现代操作系统有这四个特点:

1.并发性

2.共享性

3.虚拟性

4.异步性

- 并发性。两个或多个事件在同一时间间隔内发生。( 补充:并行:多个事件同时发生),注意,并发强调的是时间段

- 共享性。 系统中的资源可供内存中多个并发执行的进程共同使用,共享分为互斥共享和同时共享。前者是同一时刻只能被一个进程访问,后者本质是一样的,只是从宏观上是多个进程同时执行,任何共享的资源执行起来都是互斥的!

由此可见:共享和并发的关系是互相依赖的

虚拟性。最常用于内存虚拟化,本质上是把物理的变为逻辑的,物理的都是真实存在的,逻辑的是用户感觉的,虚拟化技术使得用户感觉到的内存比实际的内存大。秘诀在于操作系统会把CPU要用的进程提前加载到内存,暂时还用不到的就先不加载,这样好像内存扩充了,其实内存就那么大,一点也没有变化,操作系统有的时候是个骗子。

异步性。进程以不可预知的速度向前推进。这就意味着开始时间结束时间运行时间都不能提前知道,这就需要操作系统有临场发挥的能力,必须可以随机应变。

猜你喜欢

转载自blog.csdn.net/weixin_46107282/article/details/113899698