跳转到内容

操作系统

操作系统(Operating System,简称OS)是管理计算机硬件软件资源的系统软件,同时也是计算机系统的核心与基石。操作系统为用户和应用程序提供了一个高效、安全的运行环境,负责处理诸如内存管理、进程调度、文件系统控制以及设备驱动等基本任务。

概述[编辑 | 编辑源代码]

操作系统的主要功能包括:

  • 进程管理:创建、调度和终止进程,分配CPU时间
  • 内存管理:分配和回收内存空间,实现虚拟内存
  • 文件系统管理:组织、存储和检索文件数据
  • 设备管理:控制外围设备,提供设备驱动程序接口
  • 用户界面:提供命令行界面(CLI)或图形用户界面(GUI)

现代操作系统通常采用内核架构,可分为宏内核微内核两种主要设计范式。

历史发展[编辑 | 编辑源代码]

操作系统的发展大致经历了以下几个阶段:

操作系统发展简史
时期 特点 代表性系统 1940s-1950s 无操作系统,手工操作 ENIAC 1950s-1960s 批处理系统 IBM OS/360 1960s-1970s 分时系统 UNIX, Multics 1980s-1990s 个人计算机操作系统 MS-DOS, Mac OS, Windows 1990s-2000s 网络操作系统 Linux, Windows NT 2000s-至今 移动和分布式系统 Android, iOS, Chrome OS

主要类型[编辑 | 编辑源代码]

批处理操作系统[编辑 | 编辑源代码]

早期计算机系统采用批处理方式,用户将作业提交给操作员,由系统按顺序执行。典型代表如IBM的OS/360。

分时操作系统[编辑 | 编辑源代码]

允许多个用户通过终端同时交互使用计算机资源。UNIX系统是分时系统的经典代表。

实时操作系统[编辑 | 编辑源代码]

用于需要严格时间约束的场合,如工业控制系统。可分为:

  • 硬实时系统:绝对不容许错过截止时间
  • 软实时系统:可以容忍偶尔错过截止时间

分布式操作系统[编辑 | 编辑源代码]

管理分布在多台计算机上的资源,使其对用户表现为单一系统。如Amoeba

嵌入式操作系统[编辑 | 编辑源代码]

专为嵌入式设备设计,通常资源占用小、实时性强。如VxWorksFreeRTOS

核心组件[编辑 | 编辑源代码]

进程管理[编辑 | 编辑源代码]

操作系统通过进程控制块(PCB)跟踪每个进程的状态。主要进程状态包括:

  • 新建(New)
  • 就绪(Ready)
  • 运行(Running)
  • 阻塞(Blocked)
  • 终止(Terminated)

stateDiagram-v2 [*] --> New New --> Ready: 分配资源 Ready --> Running: 被调度 Running --> Ready: 时间片用完 Running --> Blocked: 等待I/O Blocked --> Ready: I/O完成 Running --> Terminated: 执行完毕 Terminated --> [*]

内存管理[编辑 | 编辑源代码]

现代操作系统使用虚拟内存技术,主要方法包括:

  • 分页(Paging)
  • 分段(Segmentation)
  • 段页式(Segmentation with Paging)

内存分配算法示例(首次适应算法):

// 内存块结构体
struct block {
    int size;
    int free;
    struct block *next;
};

// 首次适应分配算法
void* firstFit(struct block** head, int size) {
    struct block* current = *head;
    while (current != NULL) {
        if (current->free && current->size >= size) {
            // 找到合适块
            current->free = 0;
            return (void*)(current + 1);
        }
        current = current->next;
    }
    return NULL; // 未找到合适块
}

文件系统[编辑 | 编辑源代码]

常见文件系统类型包括:

  • FAT(File Allocation Table)
  • NTFS(New Technology File System)
  • ext4(Fourth Extended Filesystem)
  • APFS(Apple File System)

文件系统通常采用层次目录结构组织文件,提供以下基本操作:

  • 创建/删除文件
  • 打开/关闭文件
  • 读/写文件
  • 文件定位

流行操作系统[编辑 | 编辑源代码]

桌面操作系统[编辑 | 编辑源代码]

  • Microsoft Windows - 市场份额最大的个人电脑操作系统
  • macOS - Apple公司开发的专有操作系统
  • Linux - 开源操作系统内核,有多种发行版

移动操作系统[编辑 | 编辑源代码]

  • Android - 基于Linux的移动操作系统
  • iOS - Apple开发的移动操作系统
  • HarmonyOS - 华为开发的分布式操作系统

服务器操作系统[编辑 | 编辑源代码]

安全机制[编辑 | 编辑源代码]

现代操作系统提供多种安全功能:

  • 用户认证:用户名/密码、生物识别等
  • 访问控制:如UNIX的rwx权限
  • 防火墙:网络流量过滤
  • 加密文件系统:如BitLocker, FileVault

权限掩码计算示例(八进制表示): 实际权限=默认权限 & umask

发展趋势[编辑 | 编辑源代码]

当前操作系统领域的主要趋势包括:

  • 容器化:如DockerKubernetes
  • 微内核架构:提高系统可靠性和安全性
  • 跨平台融合:同一系统适应多种设备类型
  • 人工智能集成:智能资源调度和用户交互

参见[编辑 | 编辑源代码]

参考文献[编辑 | 编辑源代码]