操作系统学习(一)——操作系统基础

一、操作系统

操作系统(Operating System, OS) 是一种系统软件,用于管理计算机硬件与软件资源,并为应用程序提供服务

作用:

  1. 资源管理者:管理CPU、内存、硬盘、I/O设备等资源;
  2. 用户与硬件之间的桥梁:用户通过操作系统间接使用硬件;
  3. 提供运行环境:为应用程序提供运行支持,如文件系统、网络、接口等;
  4. 提高效率与用户体验:通过调度、并发控制、虚拟内存等手段提升系统响应和吞吐率。

基本特征:

特征名称 说明
并发性(Concurrency) 多个程序或进程可以“同时”运行,提高资源利用率和系统吞吐量
共享性(Sharing) 多个用户或进程可以共享计算机系统中的硬件或软件资源
虚拟性(Virtualization) 操作系统通过抽象和模拟机制将物理资源虚拟为多个逻辑资源
异步性(Asynchrony) 程序执行的不可预知性,每个进程按自己的速度独立运行
程序控制性 操作系统控制程序的运行,包括加载、调度、挂起、终止等
中断处理性 能及时响应和处理来自硬件或软件的中断事件
安全性与保护性 提供用户隔离、权限管理、错误处理,确保系统稳定和数据安全

二、操作系统的功能

1. 进程管理(Process Management)

  • 进程与线程;
  • 进程状态(就绪、运行、等待);
  • 进程调度算法(FCFS、SJF、RR、优先级调度等);
  • 同步与互斥(信号量、互斥锁);
  • 死锁(产生条件、预防与解除方法)。

2. 内存管理(Memory Management)

  • 内存分配方式(连续分配、分区分配、分页、分段);
  • 虚拟内存(页表、TLB、换页算法如LRUFIFO);
  • 内存保护和地址转换(逻辑地址 ↔ 物理地址)。

3. 文件系统(File System)

  • 文件的组织方式(顺序、索引、链接);
  • 目录结构(单级、多级、树型);
  • 文件操作(创建、读写、删除);
  • 存储管理(空闲空间管理、磁盘调度算法)。

4. 设备管理(Device Management)

  • I/O设备分类(块设备、字符设备);
  • I/O控制方式(中断、轮询、DMA);
  • 缓冲管理、驱动程序;
  • 设备独立性与抽象。

5. 用户接口(User Interface)

  • 命令行界面(CLI)与图形用户界面(GUI);
  • 系统调用(System Call)机制。

三、操作系统的类型

  • 批处理系统(Batch System):早期操作系统,不支持交互;
  • 分时系统(Time-Sharing System):多个用户共享计算机资源;
  • 实时系统(Real-Time System):对时间要求高的系统,如工业控制;
  • 网络操作系统(Network OS):支持网络通信和分布式计算;
  • 嵌入式操作系统(Embedded OS):运行在嵌入式设备上,如RTOS

四、操作系统的结构

1. 单体结构(Monolithic)

  • 所有功能模块紧密集成在内核中,如Unix
  • 优点:性能高、通信开销小;
  • 缺点:模块耦合强、难维护、扩展性差。

示例:MS-DOS早期 UNIX

2. 分层结构(Layered Design)

  • 操作系统划分为若干层每层只依赖于下层,提供服务给上层
  • 优点:结构清晰、易调试;
  • 缺点:设计复杂、性能略下降。

示例:THE 操作系统、部分 UNIX 分层实现。

3. 微内核结构(Microkernel)

  • 核心思想:把内核功能“做小”,只保留:
    • 进程/线程管理,
    • 中断处理,
    • IPC(进程通信),
    • 基本内存管理。
  • 其他功能(如文件系统、网络协议、驱动)放到用户空间运行。
  • 优点
    • 安全性强:出错只影响对应模块;
    • 可移植性好。
  • 缺点
    • 模块间频繁通信,性能损耗较大。

示例:MinixQNXMach(Mac OS X 基础)。

4. 模块化结构

  • 特点
    • 类似单体结构,但模块可以动态加载/卸载
    • 内核支持插件式功能扩展(如 Linux 的 insmodmodprobe)。
  • 优点
    • 可扩展、易维护;
    • 性能优于微内核。
  • 缺点
    • 若模块错误,仍可能影响内核稳定。

示例:现代 Linux、Windows NT 系列。

5. 客户机-服务器结构(Client-Server OS)

  • 特点:操作系统被分为客户端(请求服务)与服务器(提供服务)进程
  • 通信方式:消息传递(message passing);
  • 典型应用:分布式系统、网络操作系统。

示例:Andrew 文件系统(AFS)、Plan 9 from Bell Labs

6. 虚拟机结构

  • 思想:将物理硬件抽象成多个逻辑主机每个虚拟机可运行一个操作系统实例
  • 组件
    • VMM(虚拟机监视器 / Hypervisor);
    • 客户操作系统(Guest OS)。
  • 优点
    • 实验、测试、隔离、安全性强;
  • 缺点
    • 有一定性能损耗。

示例:VMwareVirtualBoxKVMXenJVM(针对 Java)。

五、操作系统的典型实例

历史发展:

  • DOSUNIXWindowsLinuxAndroidiOS等移动系统

典型操作系统:

  • Windows:用户友好、图形化界面;
  • Linux/Unix:开源、稳定、安全,广泛用于服务器和嵌入式;
  • Android:基于Linux内核,面向移动设备;
  • iOS/macOS:Apple公司系统,封闭、安全、优化良好。

你可能感兴趣的:(操作系统学习,操作系统,学习)