题目
计算机插上电源操作系统做了什么
答案
1. **BIOS(基本输入输出系统,Basic Input/Output System)自检**:计算机开机时,首先会进行硬件自检。BIOS是一个固化在计算机主板上的程序,它会对硬件进行测试并检查它们是否能够正常工作。如果存在硬件故障,BIOS会在屏幕上显示相关的错误信息。 ![](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/202305041652800.png) 2. **引导加载程序(Boot Loader)加载**:一旦 BIOS 完成自检,计算机将会查找启动设备(通常是硬盘、U 盘、光盘等)中的引导加载程序,将其加载到内存中,并运行它。引导加载程序的作用是加载操作系统的核心代码并将控制权转交给操作系统。 3. **操作系统内核(Kernel)加载**:引导加载程序会从硬盘中加载操作系统的内核代码,将其复制到内存中,并初始化操作系统的各个子系统。这个过程包括初始化进程、加载设备驱动程序、建立内存映射表等: - **初始化内存管理**:操作系统需要管理计算机的内存资源,包括将内存分配给进程、将内存映射到硬盘、提供虚拟内存等功能。因此,操作系统会初始化内存管理器,建立内存池、空闲内存块列表等数据结构,以便于管理内存。 - **建立进程管理机制**:进程是计算机中最基本的资源管理单元,它代表了一个正在运行的程序。操作系统需要能够创建、撤销、挂起和恢复进程,为进程分配资源,以及管理进程间的通信和同步。因此,在初始化时,操作系统会建立进程管理器,初始化进程控制块、进程调度算法等数据结构。 - **初始化设备驱动程序**:操作系统需要与计算机的硬件设备进行交互,如硬盘、键盘、鼠标、打印机等。操作系统会初始化相应的设备驱动程序,以便于控制和管理设备。设备驱动程序通常包括初始化硬件设备、向操作系统提供操作设备的接口等功能。 - **建立文件系统**:文件系统是操作系统管理文件的方式,它定义了文件的组织方式、存储方式和访问方式。在初始化时,操作系统会建立文件系统,并建立文件目录、文件控制块等数据结构,以便于管理文件。 - **建立网络协议栈**:现代操作系统通常需要支持网络通信功能,因此在初始化时会建立网络协议栈。网络协议栈通常包括多个协议层,如物理层、数据链路层、网络层、传输层和应用层,每一层都有自己的协议,负责不同的功能。 - **初始化安全机制**:为了保证操作系统的安全性,操作系统需要实现一系列安全机制,如用户身份验证、文件权限管理、进程隔离等。在初始化时,操作系统会建立相应的数据结构和程序,以便于管理和实现这些安全机制。 一旦操作系统初始化完成,它会进入空闲状态,等待用户的命令。当用户执行一个应用程序时,操作系统会根据程序的需要为它分配资源(如 CPU、内存、磁盘等),并将程序加载到内存中运行。当应用程序完成时,操作系统会释放它所占用的资源,并将控制权交还给用户。