操作系统具有以下基本功能:
-
进程管理(Process Management):
- 进程创建、删除和调度:操作系统负责管理和控制进程的生命周期,包括创建新进程、销毁不再需要的进程以及根据特定策略(如优先级、时间片轮转等)在多个进程中进行调度。
- 进程同步与通信:确保并发执行的进程之间能正确协调并交换信息。
- 例如,当你在电脑上打开Word编写文档的同时又播放音乐,操作系统会创建两个独立的进程分别对应Word和音乐播放器,并通过调度算法确保两个进程都能得到CPU时间。当Word在等待用户输入时,操作系统会切换到音乐播放进程执行。
-
内存管理(Memory Management):
- 内存分配与回收:操作系统负责为进程分配内存空间,并在进程结束时回收内存资源。
- 虚拟内存管理:通过虚拟内存技术实现地址转换,使得每个进程看到一个独立且连续的地址空间,同时支持内存页面的换入换出以充分利用物理内存资源。
- 例如,当你启动一个新的应用程序时,操作系统首先会在虚拟地址空间中为它分配足够的内存。如果物理内存不足,操作系统会利用虚拟内存技术将部分暂时不用的数据交换至硬盘上的交换文件(Swap File),以便腾出物理内存供新进程使用。
-
文件系统管理(File System Management):
- 文件存储与检索:操作系统提供数据的持久化存储机制,创建、读取、写入、更新和删除文件或目录。
- 目录结构管理:维护文件系统的树状目录结构,支持对文件的权限控制和保护。
- 空间管理:合理分配磁盘空间,保持文件系统的完整性。
- 例如,当你在Windows资源管理器或Linux终端中创建一个新文件并保存文本内容时,操作系统负责在磁盘上找到合适的位置存储文件,并更新目录结构以反映新的文件存在。同时,你可能只有读写权限,而管理员有完全控制权,这体现了操作系统对文件访问权限的管理。
-
设备管理(Device Management):
- 设备驱动程序:为每种类型的硬件设备提供软件接口,实现硬件操作的抽象化。
- 设备分配与释放:根据进程请求,分配合适的输入/输出设备给进程使用,并在使用完毕后释放资源。
- 设备控制与缓冲区管理:控制设备的操作顺序,提高I/O效率,管理设备与内存之间的数据缓冲。
- 例如,当你打印一份文档时,操作系统通过打印机驱动程序与打印机硬件交互,将文档数据转化为打印机可以理解的指令并发送出去。此外,操作系统还会缓冲打印任务,优化I/O操作,即使打印机速度较慢也不会导致计算机阻塞。
-
作业管理(Job Management or Batch Processing):
- 作业提交与调度:接受用户提交的作业(即一系列任务指令),将其组织成作业队列并按照一定的策略安排执行顺序。
- 作业状态监控与控制:跟踪作业的状态,例如等待、运行、完成或终止,并在适当时候进行状态转换。
- 例如,在早期批处理系统中,用户通常将一系列命令集合在一起形成一个“作业”,提交给操作系统。操作系统根据作业队列和调度策略,逐个运行这些作业。现代操作系统虽然不再强调批处理作业概念,但在多任务环境中的任务调度依然类似于作业管理的功能。
-
安全性和保护机制(Security and Protection):
- 权限管理:实施访问控制列表和权限设置,确保只有授权的用户和进程可以访问指定资源。
- 审计和日志记录:记录用户的操作行为和系统事件,以便追踪异常活动和审计审查。
- 例如,在一个企业网络环境中,操作系统可能会限制普通员工只能查看他们自己创建的文件,而不能修改系统配置文件或他人的重要资料。当有人尝试非法访问受保护资源时,操作系统会拒绝请求,并记录下这次未授权访问事件。
-
网络管理(Network Management):
- 在现代操作系统中,还包括网络服务的支持和管理,如端口分配、网络协议栈处理、网络连接的建立和断开等。
- 例如,当你浏览网页时,操作系统通过网络管理功能负责建立TCP/IP连接、解析域名、处理HTTP协议等操作。同时,操作系统会对每个网络连接分配一个端口号,以区分不同应用间的网络通信。