# book-basic-os **Repository Path**: shouce/book-basic-os ## Basic Information - **Project Name**: book-basic-os - **Description**: 操作系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-07-05 - **Last Updated**: 2026-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 操作系统 ## 定义 没有操作系统的年代,计算机照样运行,可能维护操作系统的精力花在了维护一个应用程序的 “底层” 去了,不过总之,操作系统这个概念不是必需的。 再说了,操作系统究竟负责什么事情,有些做的事情可能多一些,有些系统做的事情可能少一点,比如 Win 10 的安装镜像达到 4G 以上,而著名的风河系统大小却听说是按 KB 计算。 随着计算机的发展,一些层次就慢慢的浮现出来,计算机系统分成硬件部分和软件部分两层(最早期或许硬件和软件都没有明确界限),软件系统中又分出操作系统和应用程序两层,操作系统提供对硬件的管理控制功能,为应用程序提供基本接口。 颇有 “天地开辟,阳清为天,阴浊为地” 的感觉。 层次的划分有利于... 总之,我们对于一个操作系统是有以下共同的基本要求的: 1. 操作系统应该为用户提供一个使用环境,为应用程序提供一套系统调用接口、服务; Linux 应该不算是操作系统,严谨的说法是:内核,操作系统内核。 而包裹了一堆 GNU 工具(尤其是 Shell),再加上一些定义、配置之后的 GNU/Linux 发行版才算操作系统吧! 2. 操作系统应该能妥善管理好计算机的各种软硬件资源; 3. 操作系统应该有一个进程环境,为应用程序的生命周期管理提供一个基本框架。 OpenStack 有时都被称之为一个云计算操作系统,因为它真的似乎挺符合这些定义的。 #### 基本功能 1. 处理器管理 2. 存储管理 3. 文件管理(文件系统) 4. 设备管理 5. 作业管理 #### 常见概念 1. 批处理操作系统(Batch Processing Operating System) 2. 分时操作系统(Time Share Operating System) 3. 实时操作系统(Real Time Operating System,RTOS) 4. 网络操作系统(Network Operating System) 5. 分布式操作系统(Distributed Operating System) 6. 嵌入式操作系统 ## 常见设计模式