1、第4讲 操作系统设计与启动,操作系统设计方法操作系统的启动,4,操作系统的结构操作系统的设计方法单体结构 模块化结构 可扩展内核结构 层次结构,单体结构,模块化结构,5,可扩展内核结构,内核,层次结构,什么是内核?,OS内核也称OS核心,是构成OS的最为基本的部分,其作用是为多道程序设计提供支持,或者说为进程的并发执行建造必需的环境。从虚拟机的角度看,内核相当于对硬件裸机的第一次扩充,它将一个实的处理机改造为多个虚的处理机。内核运行频率高,实现应当是高效的。,哪些功能放到内核呢?,中断处理:OS是中断驱动的,即中断是进程之间切换的必要条件,因而中断处理程序应当属于内核原语管理:进程执行原语操作
2、可能导致自身进入等待状态,也可能导致其他进程被唤醒。因而同步原语应当负责完成进程由运行状态到等待状态之间的转换以及由等待状态到就绪状态之间的转换。短程调度(低级调度或进程调度):中断处理结束后如果需要切换运行进程,内核将转到低级调度程序。它负责保存下降进程的现场,选择上升进程,并恢复上升进程的现场。,7,3. 实例操作系统的结构UNIX操作系统的结构UNIX核心层处理机管理 存储管理设备管理文件系统UNIX实用层实用程序 编辑程序、调试程序、系统状态监控、文件管理等的实用程序软件工具 源代码控制程序SCCS、文档准备程序包等,8,Linux系统的核心结构,OS/2应用,Win32应用,OS/2
3、子系统,系统级线程,Win32子系统,POSIX子系统,POSIX应用,系统服务,执行体,用户态,系统态,对象管理器,安全访问控制,进程管理器,虚拟存储管理器,本地过程调用,核心,HAL,文件系统,缓存管理,设备驱动,网络管理,I/O管理器,硬件,Windwso2000/XP体系结构,第4讲 操作系统设计与启动,操作系统设计方法操作系统的启动,3,操作系统的用户接口用户工作环境,系统引导的方式独立引导方式(滚雪球方式) OS核心文件存储在系统本身的存储设备中,由系统自己将OS核心程序读入主存并运行,建立一个操作环境。 适用于微机和大多数系统,辅助下装方式 OS主要文件不放在系统本身的存储设备中
4、,在系统启动后执行下装操作,从另外的计算机系统中将操作系统常驻部分传送到该计算机中,使它形成一个操作环境。 适用于多计算机系统、由主控机与前端机构成的系统以 及分布式系统。,6,操作系统的用户接口用户工作环境,4. Linux系统初启 Linux系统是以滚雪球的方式启动 加电或复位 BIOS的启动 Boot Loader OS初始化系统加电或复位对主存中所有的数据清零,对内存进行校验,若无错,CS:IP BIOS入口。,7,操作系统的用户接口用户工作环境,BIOS启动 在ROM中的引导程序放在固定位置:FFFF:0000 CPU从这里开始执行。上电自检;对硬件设备进行检测和连接,并将测得的数据
5、BIOS数据区;从盘中读入Boot Loader(引导程序)。 从硬盘启动时,读入零柱面零磁道1扇区MBR(Master Boot Record),将控制权交Boot Loader,Loader(引导程序) 功能:将OS读入内存,并将控制权交给OS的初始化程序。,8,操作系统的用户界面用户工作环境,系统核心初始化对与CPU、内存等最基本硬件相关部分进行初始化;对中断向量表进行初始化;为进程调度程序作准备;设置基准时钟;内核的内存分配;对文件系统进行初始化;建立init进程。 init进程对每一个联机终端建立“getty”进程,getty在终端上显示“login”,等待用户登录。,如果你将来要设计一个操作系统,那么你需要知道这一讲的内容,