操作系统的概念
一、 操作系统的基本概念
1、概念
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。是最接近硬件的一层软件。
- 操作系统是系统资源的管理者
- 向上层提供方便易用的服务
- 最接近硬件的一层软件
二、操作系统的功能和目标
1、操作系统作为计算机系统资源的管理者
1.1 提供的功能:
【1】处理机管理
【2】存储器管理(也叫主存管理、内存管理)
【3】文件管理
【4】设备管理(后续详细讲)
1.2 目标:安全高效
执行一个程序前需要将该程序放到内存中,才能被CPU处理
四个功能的内容
【1】处理机管理(CPU 管理)
核心功能:决定 “谁先用 CPU” 和 “怎么用”。
- 调度程序运行:比如你同时开微信、浏览器,系统会分配 CPU 时间片,让它们 “轮流干活”。
- 管理进程 / 线程:确保程序运行时不冲突,比如结束卡死的程序(任务管理器杀进程)。
【2】存储器管理(内存管理)
核心功能:管理电脑的 “运行空间”(内存 / RAM)。
- 分配内存:程序运行时先 “申请内存”,比如打开游戏需要占几 GB 内存。
- 回收内存:程序关闭后,释放没用的内存,避免 “内存泄漏”(越用越卡)。
- 虚拟内存:当内存不够时,临时用硬盘空间当内存用(比如 Windows 的 “分页文件”)。
【3】文件管理
核心功能:管理电脑里的 “文件和文件夹”。
- 存文件:把文件存到硬盘 / U 盘等存储设备,比如保存文档到桌面。
- 找文件:通过文件名、路径快速定位文件(类似 “搜索” 功能)。
- 管权限:控制文件的读写权限,比如设置文件夹 “只读” 或 “加密”。
【4】设备管理
核心功能:管理电脑的 “硬件设备”(如键盘、打印机、显卡等)。
- 驱动支持:让系统认识硬件(比如插 U 盘自动装驱动)。
- 协调工作:处理设备的输入输出请求,比如点击打印后,系统安排打印机排队打印。
- 分配资源:避免设备冲突,比如多个程序同时想调用摄像头时,决定 “谁先用”。
一句话总结:
- 处理机管理:管 CPU “干活顺序”,
- 存储器管理:管内存 “空间分配”,
- 文件管理:管文件 “存哪儿、怎么存”,
- 设备管理:管硬件 “怎么用、谁先用”。
2、操作系统作为用户与计算机硬件系统之间的接口(向上层提供方便易用的服务)
封装思想:操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可
2.1 GUI-图形接口(最流行)
GUI:图形化用户接口(Graphical User Interface)用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。
严格来说图像接口不是操作系统的一部分,其调用的系统调用命令操作才是操作系统的一部分
2.2 命令接口
早期的一些操作系统并没有图形化界面,都是让用户通过命令接口的方式,也就是命令行的方式和操作系统进行交互。命令接口又可以分为联机命令接口和脱机命令接口,都是操作系统对上层提供的两种接口
2.2.1 联机命令接口(交互式命令接口)- 用户说一句,系统跟着做一句
2.2.2 脱机命令接口 (批处理命令接口) – 用户说一堆,系统跟着做一堆
.bat文件
.bat文件里有一堆命令,但本质上和time命令没有任何区别,我们只不过是把这一系列的命令罗列在了清单里,然后当我们执行.bat文件时操作系统其实就是根据这个文件当中的命令一条一条地往后执行。
2.3 程序接口(2010考过)
可以在程序中进行系统调用来使用程序接口;普通用户只能通过程序代码间接调用
程序接口的原理
普通程序员使用了C语言提供的库函数printf。这个库函数在底层实现的时候其实是使用了操作系统提供的系统调用的功能,操作系统在收到系统调用的请求之后,它才会替我们去操作硬件显示器,并且在显示器上显示出“Hello world”。
很多操作系统中都提供了上百种的系统调用,由这些系统调用组成了所谓的程序接口。
3、操作系统实现了对计算机资源的扩充(作为最接近硬件的层次)
3.1需要实现对硬件机器的拓展
3.2没有任何软件支持的计算机成为裸机。实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机;在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。
3.3通常把覆盖了软件的机器成为扩充机器,又称之为虚拟机
类比汽车:
发动机一一只会转:轮胎一一只会滚: 在原始的硬件机器上覆盖一层传动系统一一让发动机带着轮子转一一使原始的硬件机器得到拓展
操作系统对硬件机器的拓展:将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件 能够相互协调配合,实现更多更复杂的功能
三、 操作系统的四个特征
操作系统的四个特征:并发、共享、虚拟、异步(并发、共享为两个最基本的特征、二者互为存在条件)
提前理解
【1】并发:像极了你的 “一心多用”
本质:看起来同时干多件事,其实是 “快速切换”。
类比:
- 你一边刷抖音(A 程序)、一边下载电影(B 程序)、一边微信回消息(C 程序),
- 但你的大脑同一时间只能干一件事,只是在 3 件事之间 “飞速切换”(比如 0.1 秒刷抖音,0.1 秒看下载进度,0.1 秒回消息),
- 操作系统的 “并发” 就是这样:CPU 在多个程序间快速切换,让你以为它们 “同时运行”。
关键点:不是真・同时,是 “假同时” 的 “时间切片” 魔法。
【2】共享:像小区的 “公共健身房”
本质:多个程序 “共享一套资源”,但要守规矩。
类比:
- 小区健身房的跑步机(内存 / CPU 等资源),住户 A 跑步时,住户 B 在旁边等;A 用完后 B 才能用,
- 操作系统里,多个程序(比如微信和浏览器)共享 CPU、内存、硬盘等资源,
- 但系统会制定规则(比如 “排队”“限时”),防止它们抢资源打起来(比如微信占满内存导致浏览器卡死)。
关键点:资源共享≠随便用,得按系统的 “规矩” 来。
【3】虚拟:像 “变魔术的内存”
本质:用 “假的” 模拟 “真的”,让资源看起来更多或更大。
类比:
- 你用手机玩 “云游戏”,手机本身没装游戏,但通过网络 “虚拟” 出一个游戏运行环境,
- 操作系统的 “虚拟内存” 更绝:当物理内存(RAM)不够时,系统把硬盘当内存用,
→ 比如你电脑只有 8GB 内存,却能打开 20GB 的程序,因为系统偷偷把暂时不用的数据 “挪到硬盘”,假装内存 “变大了”。 - 再比如 “虚拟 CPU”:一台物理电脑模拟出 10 台 “虚拟机” 同时运行,每台虚拟机都以为自己独占 CPU。
关键点:虚拟 =“无中生有” 或 “以小充大”,靠软件魔法实现。
【4】异步:像 “外卖员的随机送货”
本质:程序执行 “走走停停”,结果靠谱但过程随机。
类比:
- 你同时点了奶茶(任务 A)、炸鸡(任务 B)、蛋糕(任务 C),
- 外卖员可能先送蛋糕(任务 C 先完成),再送奶茶(任务 A),最后送炸鸡(任务 B),
- 操作系统里,多个程序也是 “随机推进” 的:
→ 程序 A 运行到一半,被系统强制暂停去处理程序 B,等程序 B 干完再回来接着跑 A,
→ 但最终结果一定是对的(比如你代码里 “先算 1+2 再乘 3”,不会变成 “先乘 3 再算 1+2”)。
关键点:过程 “乱序”,但结果 “有序”,全靠系统 “暗中调度”。
一句话总结四个特征:
- 并发:表面同时干,实则快速切换;
- 共享:资源大家用,但得守规矩;
- 虚拟:变魔术一样 “假装资源更多”;
- 异步:执行顺序随机,但结果稳如老狗。
1、并发(Concurrence)
1.1 并发定义:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
常考易混概念一一并行:指两个或多个事件在同一时刻同时发生。(2009年)
1.2 操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。
1.3 操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
注意点:
单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行;
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行;
比如Intel的第八代i3处理器就是4核CPU,意味着可以并行地执行4个程序,但并发性依然是必不可少的。
2、共享(Sharing)
2.1 共享定义
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
2.2 两种资源共享方式
互斥共享方式
:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程
访问该资源
同时共享方式
:系统中的某些资源,允许一个时间段内由多个进程
“同时”对它们进行访问
所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)
生活实例:
互斥共享方式: 使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。
同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。
2.3 并发和共享的关系
- 并发性指计算机系统中同时存在着多个运行着的程序。
- 共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。
通过上述例子来看并发与共享的关系:
使用QQ发送文件A,同时使用微信发送文件B。
1.两个进程正在并发执行(并发性)
2.需要共享地访问硬盘资源(共享性)
可以看到:
如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发
所以并发性和共享性互为存在条件
3、虚拟(Virtual)
3.1虚拟定义:
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
3.2虚拟技术包含:
- 空分复用技术(如虚拟存储器技术)
- 时分复用技术(如虚拟处理器)
解释
一、空分复用技术(空间换资源,典型:虚拟存储器)
核心逻辑:把 “空间” 切开分着用,各部分互相独立。
类比场景:
就像你和室友合租一套房:
- 房子总面积是固定的(好比物理内存大小有限),
- 但你们把房间、客厅、厨房 “划分成独立空间”(空分复用),
→ 你在卧室打游戏(程序 A 用一部分内存),室友在客厅追剧(程序 B 用另一部分内存),互不干扰。
虚拟存储器(空分复用的典型):
- 当物理内存(RAM)不够时,操作系统会 “借硬盘当内存用”,
→ 比如你电脑只有 8GB 内存,却想运行一个 10GB 的程序,
→ 系统会把程序中暂时不用的数据 “挪到硬盘”(相当于在硬盘里开辟一个 “虚拟内存空间”),
→ 就像你把衣柜里放不下的衣服塞到地下室(硬盘),假装衣柜(内存)变大了。 - 关键点:靠 “空间划分”(内存 + 硬盘)让程序以为 “可用空间更大”,本质是 “用硬盘空间换内存容量”。
二、时分复用技术(时间换资源,典型:虚拟处理器 / CPU 分时)
核心逻辑:把 “时间” 切成小块轮流用,同一空间轮流服务不同对象。
类比场景:
就像公司的 “共享会议室”:
- 会议室只有 1 间(好比 1 个物理 CPU),
- 但上午 9 点给部门 A 开会(程序 A 用 CPU),10 点给部门 B 讨论(程序 B 用 CPU),下午给部门 C 培训(程序 C 用 CPU),
- 虽然同一时间只能有一个部门用会议室,但通过 “分时” 让大家感觉 “会议室被多个部门同时使用”。
虚拟处理器 / CPU 分时(时分复用的典型):
- CPU 核心只有 1 个(或几个),但操作系统把时间切成 “tiny 小块”(比如每 0.01 秒切换一次),
- 让多个程序轮流 “霸占” CPU:
→ 程序 A 运行 0.01 秒,被暂停;程序 B 运行 0.01 秒,被暂停;程序 C 再运行 0.01 秒…… 循环往复, - 由于切换速度极快,你会觉得 “所有程序好像同时在运行”(比如一边听歌一边刷网页),
- 关键点:靠 “时间切片” 让单个 CPU “假装同时服务多个程序”,本质是 “用时间换并发能力”。
三、一句话对比两者
技术 | 核心思路 | 类比 | 解决的问题 |
---|---|---|---|
空分复用 | 空间划分,各占一块 | 合租房子分房间、硬盘当内存用 | 资源容量不足(如内存不够) |
时分复用 | 时间切片,轮流使用 | 共享会议室、CPU 轮流服务程序 | 资源数量不足(如 CPU 核心少) |
总结:
两者都是操作系统 “变魔术” 的核心手段,让有限的硬件资源(内存、CPU)发挥出 “无限” 的效果!
空分复用是 “空间上拆东补西”,时分复用是 “时间上偷梁换柱”,
先说结论:显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性
用两个个例子来理解 背景知识:一个程序需要放入内存并给它分配CPU才能执行
虚拟技术中的“空分复用技术”:
eg1:GTA5需要4GB的运行内存,QQ需要256MB的内存,迅雷需要256MB的内存,网易云音乐需要256MB的内存 我的电脑:4GB内存 问题:这些程序同时运行需要的内存远大于4GB,那么为什么它们还可以在我的电脑上同时运行呢? 答:这是虚拟存储器技术。实际只有4GB的内存,在用户看来似乎远远大于4GB
虚拟技术中的“时分复用技术”。微观上处理机在各个微小的时间段内交替着为各个进程服务
eg2:单核CPU打开六个应用程序,但6个程序却能同时运行
4、异步(Asynchronism)
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
由于并发运行的程序会争抢着使用系统资源,而系统中的资源有限,因此进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进
如果失去了并发性,即系统只能串行地运行各个程序,那么每个程序的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性
没有并发和共享,就谈不上虚拟和异步,而并发和共享互为存在条件,因此并发和共享是操作系统的两个最基本的特征
四、小结
本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客