跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
操作系统
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{NoteTA |G1=IT |G2=OS }} '''操作系统'''(Operating System,简称OS)是管理[[计算机硬件]]与[[软件]]资源的系统软件,同时也是计算机系统的核心与基石。操作系统为用户和应用程序提供了一个高效、安全的运行环境,负责处理诸如内存管理、进程调度、文件系统控制以及设备驱动等基本任务。 == 概述 == 操作系统的主要功能包括: * '''进程管理''':创建、调度和终止进程,分配CPU时间 * '''内存管理''':分配和回收内存空间,实现虚拟内存 * '''文件系统管理''':组织、存储和检索文件数据 * '''设备管理''':控制外围设备,提供设备驱动程序接口 * '''用户界面''':提供命令行界面(CLI)或图形用户界面(GUI) 现代操作系统通常采用[[内核 (计算机科学)|内核]]架构,可分为[[宏内核]]和[[微内核]]两种主要设计范式。 == 历史发展 == 操作系统的发展大致经历了以下几个阶段: {| class="wikitable" |+ 操作系统发展简史 ! 时期 !! 特点 !! 代表性系统 | 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 (操作系统)|Amoeba]]。 === 嵌入式操作系统 === 专为嵌入式设备设计,通常资源占用小、实时性强。如[[VxWorks]]、[[FreeRTOS]]。 == 核心组件 == === 进程管理 === 操作系统通过[[进程控制块]](PCB)跟踪每个进程的状态。主要进程状态包括: * 新建(New) * 就绪(Ready) * 运行(Running) * 阻塞(Blocked) * 终止(Terminated) <mermaid> stateDiagram-v2 [*] --> New New --> Ready: 分配资源 Ready --> Running: 被调度 Running --> Ready: 时间片用完 Running --> Blocked: 等待I/O Blocked --> Ready: I/O完成 Running --> Terminated: 执行完毕 Terminated --> [*] </mermaid> === 内存管理 === 现代操作系统使用[[虚拟内存]]技术,主要方法包括: * 分页(Paging) * 分段(Segmentation) * 段页式(Segmentation with Paging) 内存分配算法示例(首次适应算法): <syntaxhighlight lang="c"> // 内存块结构体 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; // 未找到合适块 } </syntaxhighlight> === 文件系统 === 常见文件系统类型包括: * '''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]] - 华为开发的分布式操作系统 === 服务器操作系统 === * [[Linux发行版]](如Ubuntu Server, CentOS) * [[Windows Server]] * [[UNIX]]系统(如AIX, HP-UX) == 安全机制 == 现代操作系统提供多种安全功能: * '''用户认证''':用户名/密码、生物识别等 * '''访问控制''':如UNIX的rwx权限 * '''防火墙''':网络流量过滤 * '''加密文件系统''':如BitLocker, FileVault 权限掩码计算示例(八进制表示): <math> \text{实际权限} = \text{默认权限} \ \& \ \text{umask} </math> == 发展趋势 == 当前操作系统领域的主要趋势包括: * '''容器化''':如[[Docker]]、[[Kubernetes]] * '''微内核架构''':提高系统可靠性和安全性 * '''跨平台融合''':同一系统适应多种设备类型 * '''人工智能集成''':智能资源调度和用户交互 == 参见 == * [[计算机科学]] * [[计算机网络]] * [[数据库系统]] * [[分布式系统]] == 参考文献 == {{Reflist}} [[Category:操作系统]] [[Category:系统软件]] [[Category:计算机科学]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
该页面使用的模板:
模板:Main other
(
编辑
)
模板:NoteTA
(
编辑
)
模板:Reflist
(
编辑
)
模板:Reflist/styles.css
(
编辑
)
模块:Check for unknown parameters
(
编辑
)
模块:Crc32lua
(
编辑
)
模块:NoteTA
(
编辑
)
模块:WikitextLC
(
编辑
)