unix启动过程

系统初启时,引导程序把系统内核放在内存低地址的48KB内(系统内核原来在哪?下面有解释)。然后经过内部的初启程序为系统建立了进程0和进程1。进程0是所有进程的祖先,也是系统中唯一的核心态进程,它负责把盘上准备运行的进程换入内存,有时也把它称作交换进程。进程1负责为每个终端建立一个进程,执行shell解释程序。shell解释程序分析输入的命令,找到相应的命令执行文件,并为之建立一个子进程来执行这个命令,一旦命令执行完毕,相应的子进程即被撤销。

更详细的启动过程描述:
unix操作系统的目标代码首先要安装在硬盘的根目录下,目录名为/UNIX(系统内核在这里)。其装入内存需两级引导。首先,利用面板开关启动时自动启动只读存储器中第一级引导程序,从磁盘0号块读出引导程序装入内存,创建了第一个进程(进程0),再由引导程序从硬盘根目录下把/UNIX文件安装到内存,创建了它的第一个子进程初始化程序init(进程1),进程1成为系统其他所有进程的祖先进程。由进程1 负责为每个终端进程建立一个进程,执行shell解释程序。每个终端的shell进程等待用户输入命令。一旦用户登陆,就自动装载日期,安装文件系统,启动假脱机(什么是假脱机?),初始化网络服务,运行保护程序,清除系统临时区和用户临时区文件,等待用户命令的输入。一旦有命令输入,就要对其进行分析,找到相应的命令执行文件,并为之建立一个子进程来执行这个命令,命令执行完毕后,相应的子进程即被撤销。

这里,进程0还是进程1是祖先进程,表述上有自相矛盾的地方,似乎哪个还都有点道理。先记着进程0为交换进程,进程1为init初始化进程。

你可能感兴趣的:(unix&linux)