文章

操作系统学习笔记 | 1. 操作系统概述

什么是操作系统

  • 从用户角度来看:操作系统是一种控制软件

    • 管理应用程序

    • 为应用程序提供服务

    • 结束(杀死)应用程序

  • 从系统内部角度来看:操作系统是一个资源分配器

    • 负责资源管理

    • 管理外设,分配计算机资源

操作系统站在管理者的角度,为应用程序和底层硬件提供管理和控制功能。

操作系统层次

操作系统将硬件资源抽象化,向应用程序提供统一的服务:

  • CPU 资源抽象为进程

  • 磁盘 资源抽象为文件

  • 内存 资源抽象为地址空间

操作系统位于硬件之上、应用程序之下,为应用软件提供支持和服务。

操作系统作为软件,提供两类主要接口:

  • Shell(外壳):为外部应用程序提供交互界面,如 Linux 的命令行界面、Windows 的 GUI

  • Kernel(内核):负责计算机内部资源的管理(重点内容)

操作系统内部组件

  1. CPU 调度器

  2. 物理内存管理

  3. 虚拟内存管理:为上层应用提供一个安全、连续且虚拟化的内存空间

  4. 文件系统管理:在磁盘上抽象出便于访问的文件存储结构

  5. 中断处理与设备驱动

重点关注:CPU 调度内存管理文件管理I/O 管理

操作系统的特征

并发

允许多个程序同时运行,操作系统负责管理和调度 CPU。

  • 并发:一个时间段内多个程序可以运行

  • 并行:一个时间点上多个程序同时运行

共享

  • 同时共享:多个用户同时访问资源

  • 互斥共享:资源只能被一个用户独占使用

虚拟

通过程序设计技术,虚拟出一个每个用户独占计算机的环境。

异步

程序运行并非一贯到底,而是走走停停,向前推进的速度不可预测。但操作系统必须保证程序在相同环境下的运行结果一致。

学习操作系统面临的挑战

  1. 体系庞大

    • 代码量大,需聚焦核心内容学习

  2. 并发性

    • 并发带来复杂的编程挑战

  3. 硬件依赖性

    • 涉及时间依赖行为、非法行为、硬件故障

  4. 高效性要求

    • 必须尽可能低耗 CPU、内存和磁盘

  5. 可靠性需求

    • 操作系统出错会导致整机崩溃,需要高度稳定

  6. 安全性

    • 操作系统是系统安全的基础

  7. 知识更新

    • 技术发展迅速,需从更高的视角理解核心原理

操作系统的重点

权衡

  • 空间与时间

  • 性能与可预测性

  • 公平与性能

硬件管理与资源分配

  • 高效管理硬件资源

  • 合理分配资源

例如:硬盘速度远低于 CPU,需要操作系统合理协调处理。

总结

操作系统是介于硬件和应用程序之间的重要软件,其核心作用在于通过并发、共享、虚拟和异步等特性,实现对硬件资源的高效管理和抽象服务。学习操作系统需要掌握其关键组件和特征,并理解其在硬件管理、资源分配和系统安全中的重要作用。

License:  CC BY 4.0