§3.2 操作系统


1.由软件定义的操作系统
操作系统的定义
操作系统是管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。
操作系统的任务是管理好计算机的全部软硬件资源,提高计算机的利用率;担任用户与计算机之间的接口,使用户通过操作系统提供的命令或菜单方便地使用计算机。
操作系统是介于用户程序与计算机之间的软件。
操作系统的发展史

现代典型的操作系统架构(以Linux为例)

操作系统的型态非常多样,如果按应用领域来划分,有桌面操作系统、服务器操作系统和嵌入式操作系统3种。
操作系统五种主要功能:
处理机(CPU)管理、存储管理、设备管理、文件管理、人机接口管理。

2. 处理器(CPU)管理
处理器管理是操作系统的重要组成部分,它负责管理,调度和分派计算机系统的重要资源—处理器,并控制程序的执行。操作系统的基本任务是对“进程”实施管理,操作系统必须有效控制进程的执行,给进程分配资源,准许进程之间共享和交换信息,保护每个进程在运行期间免受其他进程干扰,控制进程的互斥,同步和通信。
中断处理
所谓中断是指CPU对系统发生的某个事件做出的一种反应,即CPU暂停正在执行的程序,保留现场(CPU当前的状态)后自动转去执行相应的处理程序,处理完该事件后再返回断点,继续执行被“打断”的程序。
处理器调度与进程
在多道程序或多用户的情况下,组织多个作业或任务执行时,就要解决处理器的调度、分配和回收等问题。为了实现处理器调度的功能,操作系统引入了进程(process)的概念,处理器的分配和执行都是以进程为基本单位。
线程
线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。线程可以在处理器上独立调度执行。在多处理器环境下允许几个进程各自在单独处理器上进行。l操作系统将资源分配给进程,同一进程的所有线程共享该进程的所有资源。
线程是附属于进程的,一个进程可以包含1个或多个线程,并且同一进程内的多个线程共享一块内存块和资源。一个线程是一个操作系统可调度的基本单元,,但是它的调度受限于该线程所属的进程,操作系统首先决定执行下一个执行的进程,进而才会调度该进程内的线程。

程序、进程、线程关系示意图
3. 存储管理
存储管理是指存储器资源(主要指内存和外存)的管理,其主要功能包括:☆存储分配 ☆存储共享 ☆存储保护 ☆存储扩充
存储扩充:虚拟存储器(Virtual Memory)是由操作系统提供的一个假象的特大存储器。虚拟存储器不是物理上扩大内存空间,而是逻辑上扩充了内存容量,用户可以使用到比实际物理内存大很多的虚拟存储容量。

计算机系统提供多级存储结构,操作系统可以对不同存储类型进行管理。高速缓存(cache)解决了CPU运算速度与内存读写速度不匹配的矛盾。它缩短了CPU读写数据的时间。

4.设备管理与驱动程序
设备管理指管理计算机系统中所有外围设备,其主要任务是控制设备和CPU之间进行I/O操作。
设备管理的主要任务有:1、选择和分配输入/输出设备进行数据传输操作;2、控制设备和CPU(或内存)之间交换数据;3、为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户不必考虑设备的硬件差异;4、提高设备和设备之间、CPU和设备之间的并行性。
操作系统依靠设备驱动程序来完成这些任务,即驱动程序(Device Driver),它是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。驱动程序在系统中的所占的地位十分重要。
5. 文件管理
文件是在逻辑上具有完整意义的并赋有名称的信息集合体。
所谓文件系统,就是操作系统中负责操纵和管理文件的一整套设施,它实现文件的建立、读写、修改、共享和保护等操作,还负责完成对文件的按名存取和进行存取控制。
文件管理指有效地组织文件的存储和修改,高效地提供检索服务,并保护文件安全。
Windows的文件夹结构示例:同一文件夹下的文件和文件夹不能重名;不同文件夹下的文件和文件夹可以重名。

6.安全机制
操作系统的安全机制主要有:
身份鉴别机制是大多数保护机制的基础。分为内部和外部身份鉴别两种。确保进程和用户的合法性。
访问控制机制是确定谁能访问系统(鉴别用户和进程),能访问系统何种资源(访问控制)以及在何种程度上使用这些资源(授权)。
加密机制是指操作系统可提供文件级的加密机制。
7.人机接口管理
人机接口管理的主要作用是控制有关设备的运行和理解并执行通过人机交互设备传来的有关的各种命令和要求。
对操作系统的更高要求是实现智能人机接口,以建立和谐的人机交互环境,改善人机交互的友好性和易用性,使人与计算机之间的交互更加自然、方便。

8. 操作系统的分类
(按照功能分类)☆桌面计算机操作系统 、☆嵌入式操作系统、☆网络操作系统、☆分布式操作系统、☆移动操作系统、☆云操作系统

windows操作系统

苹果公司拥有了iOS、MacOS、TVOS、watchOS操作系统
MacOS:一套运行于苹果MacBook系列和iMac系列电脑上的操作系统,是首个在商用领域成功的图形用户界面操作系统,它是基于Unix内核的图形化操作系统,多运行在X86\X86-64构架的硬件上;2019年6月发布的最新系统版本是macOS 10.15 Catalina,一般情况下在普通PC上无法安装Mac系统。

iOS:由苹果公司开发的移动操作系统,主要供iPhone、iPodtouch、iPad以及AppleTV等产品使用。iOS也属于类Unix的商业操作系统,只能运行在ARM构架的设备上,2019年9月最新版本iOS13。

安卓(Andriod)系统
Andriod是基于Linux内核的开源操作系统。它主要用于移动设备,例如智能手机和平板电脑。优点:开源、联盟、丰富、免费。缺点:系统碎片化、质量参差不齐。安卓系统按照甜点名称命名,自Android 10.0不再使用甜点命名,称为Android10。

9.嵌入式系统与嵌入式软件
嵌入式系统是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统,它执行的是带有特定要求预先定义的任务,是计算机的一种应用形式。通常它是一个控制程序存储在ROM中的嵌入式处理器控制板,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
常用来控制或者监视机器、装置、工厂等设备的系统。目前已广泛应用于网络交换机、路由器、Modem和所有带有数字接口的智能设备(如手表、微波炉、录像机)等,以及构建CIMS(计算机集成制造系统)所需的机器人以及汽车电子系统中。

嵌入式软件可分为嵌入式操作系统和嵌入式应用程序两部分。常见的嵌入式操作系统Linux、Windows CE和Android。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的;常称为“固件”



1. 操作系统在哪里工作,哪里休息?
2.多道批处理系统中的多道程序在某个时刻是同时执行的吗?(扩充资料二)

