前言
这篇文章是操作系统基础的开始,收录于我是沐风晓月的《操作系统原理》专栏
文章目录
一 .操作系统的概念
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件。
操作系统,我们每天都在使用,比如我们的笔记本,台式机里的windows系统或者手机的安卓系统,还有苹果公司手机端的ios及电脑端的MasOS,以及开源的Liunx,都被称为操作系统
熟悉的操作系统举例:
在我们的电脑上,用户是通过操作系统上的应用程序进行管理的,应用程序就是我们常见的QQ,浏览器等等, 而硬件则是我们的CPU,内存,硬盘等,在这两者之间的就是操作系统。
那么操作系统主要提供了什么功能呢?
二. 操作系统的目标与功能
结合下图的结构关系理解
- 负责管理协调硬件、软件等计算机资源的工作
- 为上层的应用程序、用户提供简单易用的服务
- 实现对硬件机器的拓展
思考一下对应以上要求,需要提供什么样的功能达到目标呢?
用一个直观的例子来理解操作系统“”
我们假设:用户是雇主,操作系统是工人(用来操作机器),计算机是机器(由处理机(CPU)、存储器、设备、文件几个部件构成)
工人有熟练的技能去控制和协调各个部件的工作,这就是操作系统对资源的管理
同时,工人必须接受雇主的命令,这就是“接口”
有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”
工人操作机器、机器有了更大的作用比如GUI界面,于是工人便成了扩充机器,去扩充GUI界面等功能
😄 操作系统的目标与功能,主要有以下几点:
2.1 作为系统资源的管理者
作为系统的资源管理者:
- 处理机管理 处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理就是对进程的管理。进程管理的主要功能是进程控制、进程同步、进程通信、死锁处理、处理机调度等。
- 存储器管理
存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。
- 文件管理
计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。
- 设备管理
设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。
补充:进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被cpu处理
2.2 作为用户与计算机硬件之间的接口
- 联机命令接口(交互式命令接口)
“用户说一句,系统做一句”
终端用户利用该接口可以调用操作系统的功能,取得操作系统的服务。用户可以使用联机控制命令来对自己的作业进行控制。联机用户接口可以实现用户与计算机间的交互。
如:命令行命令
[root@mufeng100 local]# date2023年 03月 09日 星期四 14:21:12 CST
- 脱机命令接口(批处理命令接口)
“用户说一堆,系统做一堆”
脱机命令接口又称批处理命令接口,适用于批处理系统。
它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。
系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书的命令。
比如我们写一个脚本
[root@mufeng100 test]# cat time.sh #!/bin/bash# 获取当前时刻current_time=$(date +%s)# 设置限制时间(秒)limit_time=10
run(){
}
#完成run命令后的时刻time1=$(date +%s)if[$current_time-$time1<=$limit_time];thenecho"运行正常"elseecho"正在运行,请稍等"fi
- 程序接口(系统调用) 程序接口由一组系统调用(也称广义指令)组成。
- GUI图形用户界面
GUI图形界面最大的好处就是: 用户可以使用形象的图形化界面进行操作,而不再需要使用复杂的命令或参数了。
用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。当前最为流行的是图形用户界面( GUI ) ,即图形接口。
GUI 最终是通过调用程序接口实现的,用户通过鼠标和键盘在图形界面上单击或使用快捷键,就能很方便地使用操作系统。
严格来说,图形接口不是操作系统的一部分,但图形接口所调用的系统调用命令是操作系统的一部分。
如(动态链接库.dll)
2.3 作为最接近硬件的层次
操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?
当然是实现对硬件机器的拓展
没有任何软件支持的计算机被称为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更加强、使用更加方便的机器(覆盖了软件的机器被称为扩充机器,又称作虚拟机)
三. 操作系统的特征
3.1 并发
定义:指两个或多个事件在同一时间间隔内交替发生。这些事件宏观上是同时发生的,但微观上是交替发生的在操作系统中引入进程的目的是使程序能并发执行,操作系统的并发性是通过分时实现的。(注:一台处理机同一时刻只能处理一个进程)
3.2 并行
并行指多个事件在同一时刻同时发生。
一个单核处理机CPU同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但是宏观上看起来就像同时执行)
当今的计算机,一般都是多核CPU
一个四核CPU,就意味着同一时刻可以有4个程序并行执行,但是操作系统的并发性依然必不可少。因为电脑可能开着十几个应用程序,比如微信、谷歌、腾讯、酷狗音乐、Excel等等,都是需要同时工作的,而且电脑运行时,电脑系统自带的程序,也数不胜数。
3.3 共享
定义:指系统中的资源可供内存中多个并发执行的进程共同使用。
两种资源共享的方式,分别是:
1) 互斥共享方式
系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
如对摄像头设备的共享使用。
2)同时共享方式
系统中的某些资源,允许一个时间段内有多个进程“同时”对它们进行访问。
所谓的“同时”往往是宏观的,而从微观上讲,这些进程可能是交替地对该资源进行访问的,即分时共享。
如对硬盘资源的共享使用。
注意:
并发和共享是操作系统两个最基本的特征。
两者之间互为存在条件,资源共享是以程序的并发为条件的,若系统不支持程序并发执行,就不存在资源共享的问题;其次若系统不能对资源共享实施有效管理,就会影响程序的并发执行
3.4 虚拟
定义:指把一个物理上的实体变成若干逻辑上的对应物。利用虚拟技术实现虚拟处理器(分时处理),虚拟内存(逻辑划分),虚拟设备(逻辑划分)
空分复用技术 ——用时间换空间
- 实现虚拟磁盘、虚拟内存等
- 提高资源的利用率,提升编程效率
虚拟磁盘技术虚拟内存技术物理磁盘虚拟为逻辑磁盘在逻辑上扩大程序的存储容量如C、D、E等逻辑盘使用比实际内存更大的容量使用起来更加安全、方便大大提升编程效率
时分复用技术
- 资源在时间上进行复用,不同程序并发使用
- 多道程序分时使用计算机的硬件资源
- 提高资源的利用率
虚拟处理器技术虚拟设备技术借助多道程序设计技术物理设备虚拟为多个逻辑设备为每个程序建立进程每个程序占用一个逻辑设备多个程序分时复用处理器多个程序通过逻辑设备并发访问3.5 异步
定义:在多道程序环境下,允许多个程序并发执行,但由于资源有限,系统只能按一定规则分配资源,程序只有得到所需资源后,才能运行,导致进程的执行是走走停停的。
四 . 操作系统的发展和分类
- 手工操作阶段 程序员用纸带手工输入二进制,让计算机进行运算,计算机再进行二进制输出。
缺点:效率太低,计算机大部分时间都在等待用户输入。
- 批处理阶段
- 单道批处理系统(引入脱机输入输出技术)优点:缓解人机速度矛盾缺点:资源利用率较低
- 多道批处理系统(操作系统开始出现)优点:多道程序并发执行,资源利用率高缺点:不提供人机交互功能
- 分时操作系统优点:提供人机交互功能缺点:不能有限处理紧急任务
- 实时操作系统
- 硬实时系统必须在绝对严格的规定时间内完成处理
- 软实时系统能接受偶尔违反时间规定优点:能优先处理紧急任务
- 网络操作系统网络操作系统是在网络环境下实现对网络资源的管理和控制的操作系统,是用户与网络资源之间的接口。网络操作系统是建立在独立的操作系统之上,为网络用户提供使用网络系统资源的桥梁。实现网络中各种资源的共享和各台计算机之间的通信。
- 分布式操作系统分布式系统是多个处理机通过通信线路互连而构成的松散耦合的系统
- 个人计算机操作系统 个人计算机操作系统:即是个人使用的计算机操作系统,如常见的有有Windows,MacOs 等,方便个人使用
总结
💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
💕 本文由沐风晓月原创,首发于CSDN博客, 博客主页:mufeng.blog.csdn.net
💕 学习如逆水行舟,不进则退,一起努力加油哦!
💕 喜欢的话记得点赞收藏哈
版权归原作者 我是沐风晓月 所有, 如有侵权,请联系我们删除。