本文用于记录学习W3schools的操作系统教程,该教程的部分内容比较难懂,所以也参考了其他文章。
操作系统基础知识
- 一、操作系统概括
- 二、操作系统的8个组件
- 1 流程管理
- 2 I/O设备管理
- 3 文件管理
- 4 网络管理
- 5 内存管理
- 6 磁盘管理(辅助存储管理)
- 7 安全管理
- 8 命令解释系统
- 三、操作系统类型
- 1 批处理操作系统
- 2 分时操作系统
- 3 分布式操作系统
- 4 网络操作系统
- 5 实时操作系统
- 四、操作系统提供的服务
一、操作系统概括
操作系统:
计算机系统可以分为计算机用户、应用软件、系统软件、计算机硬件。操作系统属于系统软件,它是计算机用户和硬件的接口,使应用程序能够管理硬件和软件资源。
通用架构图
常见的操作系统:
Windows、Linux、MacOS、iOS、Android。
内核:包含操作系统核心组件的软件。
操作系统的重要功能:
- 内存管理。内存是由字或字节组成的大数组。内存可以由CPU直接访问,要执行的程序必须在内存中。内存管理指的是对内存进行管理,包括:跟踪内存(被使用的是哪些程序、哪些还未使用)、决定哪个进程在何时获得多少内存、进程不需要或终止时取消内存分配。
- 处理器管理(进程调度)。决定哪个进程在何时、多长时间获得处理器。包括跟踪处理器与进程的状态(交通控制器)、分配处理器、取消分配。
- 设备管理。用I/O控制器来跟踪所有设备、决定哪个进程获取设备以及获取时间、分配设别的方式、取消分配。
- 文件管理。文件系统通常被组织成目录。文件管理包括:文件系统(跟踪信息、位置、用途、状态)、决定谁获取资源、重新分配资源。
- 其它。安全访问、性能记录、作业监听等。
二、操作系统的8个组件
1 流程管理
进程:处于运行状态的程序。进程需要资源(CPU、内存、文件、IO设备)。
操作系统在流程管理中的活动:
- 进程的创建、加载、执行、暂停、恢复、终止
- 多进程切换
- 进程间通信
- 提供同步机制。保证共享数据的并发访问
- 避免死锁
2 I/O设备管理
目的:令主机和设备并行工作,提高设备使用效率。对设备进行抽象,屏蔽设备的物理细节和操作过程,配置驱动程序,提供统一界面,供用户或高层软件使用。
操作系统在I/O设备管理中的活动:
- 设备中断处理
- 缓冲区管理
- 设备的分配与取消分配
- 设备驱动调度
- 实现虚拟设备
3 文件管理
计算机存储信息的几种物理形式:磁带、磁盘、鼓。
文件:一组相关信息,是位、字节或行的序列。通常被组织到目录以方便使用。
操作系统在文件管理中的活动:
- 文件创建和删除
- 目录创建和删除
- 支持操作文件和目录的原语
- 将文件映射到辅助存储中
- 备份到稳定存储介质
4 网络管理
网络管理是保持网络健康以在不同计算机之间进行有效通信的过程。
5 内存管理
内存管理的主要动机是最大化计算机系统上的内存利用率。
操作系统在内存管理中的活动:
- 跟踪内存的使用情况和使用者
- 内存可用时决定加载哪些进程
- 分配和释放内存
6 磁盘管理(辅助存储管理)
计算机执行程序时,需要访问数据和程序,然后在主存储器中执行。由于主存储器太小,所以需要辅助存储来备份数据和程序,一般都是存储在磁盘上,然后内存去访问磁盘并将最终的结果存储在磁盘。
操作系统在磁盘管理中的活动:
- 空闲空间管理
- 存储分配
- 磁盘调度
7 安全管理
操作系统中的各个进程不能互相干扰彼此活动,所以需要各种机制来确定各进程对各种资源的访问权限。
安全管理是一种机制,用于控制程序、进程、用户对资源的访问。
8 命令解释系统
命令解释器是用户和系统之间的主要接口,为用户提供方便的编程环境。例如shell,用户通过输入命令来控制系统内核。
图源
三、操作系统类型
1 批处理操作系统
用户和作业之间没有交互性。 为了加快处理速度,具有相似需求的作业被分批处理并作为一个组运行。
问题:
- 用户与作业缺乏互动
- 由于机械I/O的毒素慢于CPU,所以CPU空闲时间长。
- 难以提供所需的优先级
2 分时操作系统
使位于不同终端的许多人能够同时使用特定计算机系统。CPU通过在多个程序之间切换来执行多个作业,使得用户可以快速收到响应。
分时:多个用户同时共享处理器的时间。
优点:
- 快速响应
- 减少CPU空闲时间
问题:
- 可靠性问题
- 程序和数据的安全性问题
- 数据通信问题
3 分布式操作系统
分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。它使一组节点看起来像是一台计算机。
节点间的协调需要中间件。中间件负责屏蔽异构型、协调计算机之间的通信和资源共享。
优点:
- 1个节点的用户可以使用另一个节点的资源
- 节点间可以进行数据交换
- 如果一个节点有故障,其余节点一般仍然可以运行
- 减少主机负载
- 减少数据处理延迟
4 网络操作系统
网络操作系统在服务器上运行,并提供与网络相关的功能。例如给远程客户端提供本地服务。
优点:
- 集中式服务器高度稳定
- 安全性由服务器管理
- 新技术和硬件升级可以轻松集成到系统中
- 可以远程访问服务器
缺点: - 购买和运行服务器的成本高
5 实时操作系统
实时操作系统又称即时操作系统,它的最大特点是实时性,需要保证在严格的时间限制内响应事件。分2种:
- 硬实时系统:保证关键任务按时完成,数据存储在ROM中,基本上无虚拟内存。
- 软实时系统:限制较少,多数情况下能够在规定时间内完成任务,但偶尔会超时。正确性会下降。
图源