一、什么是操作系统
1、操作系统的概念
操作系统就是安装在计算机硬件上的一个实实在在的软件,人们通过这个软件可以方便、高效地使用计算机硬件。
2、操作系统的基本类型
批处理系统、分时系统、实时系统。
3、操作系统的4个基本特性
并发、共享、异步、虚拟。
(并发 和 共享 是两个最基本的特征,二者互为存在条件。)
4、操作系统的五个主要功能
(1)管理计算机的硬件资源
(2)提供用户界面
(3)管理应用程序
(4)提供系统文件
(5)提供网络服务和安全保护
5、操作系统的核心轮廓
(1)多进程视图:主要管理 CPU,提高cpu的利用率。
(2)文件视图:主要管理外设(输入、输出设备)。
二、操作系统的启动过程
1、第一阶段
(1)开机CPU处于实模式状态下,硬件电路会初始化设置PC寄存器的值,同时计算机刚启动时会设置CS=0xFFFF,IP=0x0000。
(2)实模式下,取出指令的地址=CS<<4+IP,将这个地址放到地址总线上去以取出内存中存放的指令,此处要内存地址PC=0xFFFF0,取出第一条指令开始执行。
(3)IBM PC指向只读寄存器ROM的BIOS区域(放置的代码是对基本硬件的测试代码,和提供用户调用硬件的基本输入输出功能的子程序)。
CPU在ROM这一段的指令完成的工作是测试硬件是否正常,如果出现异常,停止启动。
(4)硬件正常,利用BIOS的输入功能将引导扇区(0磁0扇区)的内容(bootsect.s)的内容读到0x7c00处,接着启动扇区(也就是运行扇区上的代码)。
bootsect.s(操作系统第一个要编写的文件)是由硬盘生产厂商在生产硬盘时写入的,用户不能修改。由此操作系统进入内存。
(5)bootsect.s代码的功能:移动DS:SI的地址,目的时为读入操作系统的核心代码腾出空间。
(6)bootsect.s读入setup.s的文件,接下来交给setup.s执行,在其中完成OS启动前的设置工作
2、第二阶段
(1)setup获取硬件参数,为建立操作系统做准备
(2)启动保护模式,让程序代码可以寻址到32位地址空间
(进入保护模式以后执行的第一条指令“jmpi 0,8”最终跳到main.c的第一句指令)
(3)setup将整个system模块拖拽到0x0地址处(从此刻开始BIOS中断无法使用)
3、第三阶段
这一阶段需要对操作系统管理资源的关键数据进行初始化工作。
(1)进入32位保护模式后执行的第一段代码:head.s。
(2)在head.s中初始化前的准备工作:设置中断表、设置GDT表(全局描述符表)、设置页表。
(3)system:head.s的最后一段代码是从汇编语言程序跳转到C语言程序。
4、第四阶段
(1)进入系统初始化工作阶段,c语言mian函数的主要功能呢就是初始化各种管理硬件资源的数据结构,调用各种初始化函数来完成想要的初始化工作。
(2)mem_init()实现在内存管理的主要文件memory.c。初始化内存mem_map空闲内存硬盘。
(3)初始化其他重要的数据结构。
(4)main()函数代码中的init()回启动一个shell。

1万+

被折叠的 条评论
为什么被折叠?



