导图社区 操作系统概论
【操作系统:数字世界的隐形指挥官】 操作系统是计算机系统的核心,负责管理硬件、协调软件,为用户提供高效服务它具备四大特性:并发性、共享性、虚拟性和异步性,并通过进程管理、存储管理、文件管理和设备管理实现功能系统调用是用户与内核交互的桥梁,而中断机制则灵活响应突发事件从早期批处理到现代多任务系统,操作系统不断演进,成为计算机不可或缺的"大脑"。
编辑于2025-09-10 13:12:36操作系统概论
操作系统的定义、目标、地位和作用
定义
操作系统是指控制和管理整个计算机系统的硬件和软件资源(操作系统是系统资源的管理者),并合理的组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。
操作系统的地位
操作系统是计算机系统的 “神经中枢”,是连接硬件、软件与用户的核心纽带,决定了计算机的可用性、效率和安全性。 1.硬件与软件的 “桥梁” 操作系统直接管理计算机的硬件资源(如 CPU、内存、磁盘、外设等),同时为上层软件(应用程序、其他系统软件)提供统一的接口。没有操作系统,应用程序无法直接与硬件交互,用户也难以高效使用计算机。 2.资源的管理者 它负责合理分配硬件资源(如 CPU 时间、内存空间、I/O 带宽),协调多任务、多用户的并发操作,避免冲突,最大化系统效率和资源利用率。 3.用户与计算机的 “接口” 操作系统通过图形界面(GUI)、命令行界面(CLI)等方式,为用户提供便捷的操作入口,屏蔽了底层硬件的复杂细节,让用户无需了解硬件原理即可使用计算机。 4.系统安全与稳定性的保障 它通过权限管理、内存隔离、进程保护等机制,防止恶意程序破坏系统或非法访问资源,同时处理软硬件错误(如死机、崩溃),维持系统稳定运行。 5.其他软件的运行基础 所有应用程序(如浏览器、Office、游戏)都必须在操作系统的支持下运行,依赖其提供的服务(如文件管理、网络通信、进程调度等)。
操作系统的目标和作用
目标
有效性 合理分配和管理硬件资源(如 CPU、内存、I/O 设备),减少资源闲置和浪费,最大化系统吞吐量(单位时间内处理的任务量),提升整体运行效率。例如,通过进程调度算法让 CPU 始终处于忙碌状态,通过内存管理减少空间碎片。 方便性 为用户和应用程序提供简洁的交互接口,屏蔽底层硬件的复杂细节。用户无需了解硬件原理(如磁盘读写机制、CPU 指令集),只需通过图形界面(GUI)或命令行(CLI)即可操作计算机;应用程序则通过系统调用(如文件读写、网络通信)获取服务,降低开发难度。 可扩展性 支持新硬件、新功能的集成,适应技术发展(如新增外设、引入虚拟化、分布式计算等)。现代操作系统(如 Linux、Windows)通过模块化设计,允许开发者添加驱动程序、插件或扩展模块,无需重构整个系统。 开放性 遵循标准化接口和协议(如 POSIX 标准),支持不同软硬件的兼容与互联。例如,基于开源协议的 Linux 系统可在多种架构的芯片(x86、ARM 等)上运行,且能与其他系统(如 Windows、macOS)通过网络协同工作。 可靠性与安全性 保障系统稳定运行,防止软硬件故障(如死机、崩溃)导致的数据丢失;同时通过权限管理、加密、防火墙等机制,抵御恶意攻击(如病毒、非法访问),保护用户数据和系统资源。
作用
操作系统的目标是高效、易用、可靠、可扩展,而其作用则围绕 “管理资源、连接用户与硬件、协调系统运行” 展开,是计算机系统不可或缺的核心组件,决定了整个系统的性能、安全性和可用性。 资源管理者 这是操作系统最基本的作用,包括对各类硬件和软件资源的管理: 处理机管理:通过进程调度算法(如优先级调度、时间片轮转)分配 CPU 时间,协调多进程并发执行,避免冲突。 内存管理:负责内存的分配、回收和保护,通过虚拟内存技术扩展可用空间,防止进程非法访问其他内存区域。 设备管理:控制 I/O 设备(如磁盘、键盘、网卡)的操作,提供设备驱动程序接口,实现设备的高效共享(如打印机队列)。 文件管理:管理磁盘上的文件和目录,提供创建、删除、读写、权限控制等功能,组织数据的存储与检索。 用户与计算机的接口 操作系统是用户与计算机硬件之间的 “中间人”,提供两种主要接口: 用户接口:如图形界面(Windows 的桌面、macOS 的 Dock 栏)、命令行(Linux 的 bash、Windows 的 PowerShell),让用户可直观操作计算机。 程序接口(系统调用):为应用程序提供一组标准化函数(如open()、fork()),使其能请求操作系统服务(如访问硬件、创建进程)。 进程协调者 在多任务或多用户环境中,操作系统负责协调进程间的关系,解决资源竞争问题。例如,通过同步机制(如信号量、锁)避免多个进程同时修改同一文件,通过通信机制(如管道、消息队列)实现进程间的数据交换。 系统扩展与演化的支撑 操作系统通过模块化架构和标准化接口,为新功能(如云计算、人工智能加速)的集成提供基础。例如,Linux 的内核模块机制允许动态加载驱动程序,无需重启系统;Windows 的 WSL(Windows 子系统 for Linux)则通过兼容层扩展了系统对 Linux 应用的支持。
计算机硬件结构
计算机三大抽象
操作系统发展过程
1946--1957
电子管计算机
无操作系统,手工操作
特点:1.用户独占计算机资源 2.人工操作多,易出错,浪费时间 3.计算机处理能力的提高,手工操作的效率低(造成浪费)
1985--1963
晶体管计算机
单道批处理系统(执行系统或管理程序)
特点:1.解决人工操作所带来的效率低下等问题 2.缩短作业执行时间和建立时间,减少人工干预 缺点:计算机中的资源得不到充分的利用;对计算为主的作业,外设空闲;对I/O为主的作业,CPU空闲。
1964--1971
集成电路计算机
多道批处理系统
优点:计算机资源利用率高(CPU、内存、I/O);系统吞吐量大。 缺点:平均周转时间长;用户与系统无交互能力;行命令控制方式。
1971--至今
大规模集成电路计算机
分时操作系统
特点:人机交互性好:在调试和运行程序是由用户自己操作 共享主机:多个用户同时使用 用户独立性:对每个用户而言似乎独占计算机
实时操作系统
特点:用于工业过程控制、军事实时控制、金融领域等 包括实时控制,实时信息处理 响应时间短,系统可靠性高
操作系统的基本特性
并发性
并发性是指两个或多个事件在同一时间间隔内发生
子主题
并行性是指两个或多个事件在同一时刻发生,并行性并不是操作系统基本特性,这里是指出两者不同之处
子主题
共享性
互斥共享 (独占资源访问)
一段时间内,只允许一个进程访问该资源(如打印机、摄像头等“临界资源”)
同时访问 (透明资源共享)
允许在一段时间内由多个进程“同时”对他们进行访问(如磁盘设备的访问)
虚拟性
定义:是指把一个物理上的实体变为若干个逻辑上的对应物。物理试题(前者)是实际存在的,二逻辑上对应物(后者)使用户感受到的
时分复用技术 (多道程序技术)
充分利用时间,并发执行多个程序
虚拟处理技术,虚拟设备
空分复用技术
利用存储器的空闲空间分区域存放和运行其他多道程序,提高内存利用率
虚拟存储技术
异步性
定义:又称随机性,在多道程序环境中允许多个程序并发执行,并发活动会导致随机事件的发生,由于资源有限而程序众多,每个程序的执行并非连贯的,而是“走走停停“,以不可预知的速度向前推进,这就是进程的异步性。
异步性会给系统带来潜在危险,有可能导致并发程序的执行产生与时间有关的错误。因此操作系统会采用合理的进程同步机制来解决异步性的问题。
操作系统的主要功能
进程管理/处理器管理
管理目标:完成处理机资源的分配调度等功能。(处理机调度的单位可为进程或线程)
存储管理
管理目标:提高存储利用率、方便用户使用、提供足够的存储空间、方便程序并发运行
设备管理
方便设备的使用、提高CPU与I/O设备利用率
文件管理
解决软件资源的存储、共享、保密和保护
中断
定义:中断是CPU对突发的外部事件的反应过程或机制
程序在执行的过程中,遇到继续处理的事件时,暂时终止当前在CPU上运行的程序,转而执行相应的事件处理程序,待处理完成后再返回原来工作的中断处(断点)或调度其他程序执行
中断分类
外中断(中断)
可屏蔽中断
时钟中断
I/O中断请求
非屏蔽中断
设备硬件故障
内中断(异常/陷入)
访管中断
系统调用(使用访管指令、陷入指令)
硬件故障
CPU、内存硬件故障
程序性异常
地址越界
除零
缺页
中断处理过程图
中断服务程序在哪里
在实模式下,Intel的CPU把从0开始的1k字节地址空间作为中断向量表。中断向量表的每个表项为4Byte,因此共256个中断向量,其中前32个保留,每个表项的低2Byte存储偏移地址,高2Byte存储段基址,这样构成的地址就是中断处理程序的入口地址。
多个中断一起来的时候怎么办
在计算机系统运行过程中可能出现多个中断,或者前一个中断尚未结束接着又发生新的中断,于是CPU暂停正在运行的中断程序,转而执行新的中断处理程序,这就是多重中断或中断嵌套
系统调用
分类
进程管理
创建和撤销进程;终止进程;阻塞、唤醒、挂起、激活进程;获取和设置进程属性等。
文件操作
建立、删除、打开、关闭文件;读写文件;显示文件和目录内容;显示和设置文件属性等。
设备管理
申请、释放设备;I/O操作和重定向;获得和设置设备属性;控制和检查设备状态等。
主存管理
申请、释放主存;增加减少主存等。
进程通信
建立、断开通信连接;发送、接收消息;传送状态信息;连接、断开远程设备等。
信息维护
获取、设置日期以及时间;获取、设置系统数据;生成诊断和统计数据等
调用过程
调用过程图
调用过程图
传参(eax)、陷入指令/Trap/访管(int0x80)、由操作系统内核程序处理系统调用请求、返回引用程序
系统调用与库函数的区别
有的库函数是对系统调用的进一步封装
有的库函数没有使用系统调用
操作系统结构设计
分类
传统操作系统
单体式结构
单体式结构也称为整体式结构,也就是把模块作为操作系统的基本单位,根据功能把操作系统分解成若干模块,模块还可以细分为子模块,每个子模块具有一定的独立功能,若干关联模块协作完成某项功能。
单体式结构示意图
层次结构
层次结构把操作系统划分为若干模块,这些模块按功能的调用次序排列成若干层次,各层之间必须是单向依赖或单向调用关系(即底层为高层服务,高层可调用底层的功能,反之则不行)。
虚拟机结构
虚拟机结构操作系统的最早尝试是IBM公司的VM/370.它通过虚拟机控制程序CP虚拟出若干太物理计算机的逻辑复制品(包含内核/用户态、中断、CPU、I/O设备、内存、外存等)。
现代操作系统
内核结构(客户--服务器结构)
现代操作系统的一个趋势是从操作系统中去掉尽可能多的东西,只留下一个最小的内核,将大多数操作系统的功能放到内核之外,由在用户态运行的服务器进程完成。在这样的结构下,用户进程称之为客户进程和服务器进程就构成了客户--服务器结构,通过内核所提供的消息传递机制完成进程间通信。
内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作。通常驻留在内核空间,运行于核心态,具有直接访问硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
内核的类别
宏内核(如MINIX OS、Windows 2000以后、Mac)
宏内核示意图
微内核(UNIX、Linux、Windows 9x等 )
微内核示意图
内核基本功能
中断处理
中断处理室内和最基本的功能,也是操作系统赖以活动
时钟管理
操作系统中的许多活动都需要时钟的支持
进程调度
按一定的策略管理处理器的分配并保存或恢复现场
原语管理
原语是内核中实现特定功能的不可中断过程
内核的属性
内核是由中断驱动的
内核不可抢占/可抢占
内核可以在屏蔽中断的情况下执行
内核可以使用特权指令
唯一一个主动中断的方式