3-系统调用
操作系统第三版(孟庆昌)第一章习题答案

操作系统第三版(孟庆昌)第⼀章习题答案1. 计算机系统主要由哪些部分组成?计算机系统由硬件系统和软件系统两部分组成。
硬件系统主要由中央处理器、存储器、输⼊输出控制系统和各种外部设备组成。
软件分为系统软件、⽀撑软件和应⽤软件。
系统软件由操作系统、实⽤程序、编译程序等组成。
⽀撑软件有接⼝软件、⼯具软件、环境数据库等,它能⽀持⽤机的环境,提供软件研制⼯具。
⽀撑软件也可认为是系统软件的⼀部分。
应⽤软件是⽤户按其需要⾃⾏编写的专⽤程序,它借助系统软件和⽀援软件来运⾏,是软件系统的最外层。
2. 什么是操作系统(OS)?它的主要功能是什么?操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基⽯。
操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输⼊与输出设备、操作⽹络与管理⽂件系统等基本事务,提供⼀个让⽤户与系统交互的操作界⾯。
操作系统的功能有:进程管理:中央处理器,在宏内核的情况下多进程只是简单迅速地切换各进程,让每个进程都能够运⾏,在多内核或多处理器的情况下,所有进程透过许多协同技术在各处理器或内核上转换。
内存管理:有许多进程存储于记忆设备上,操作系统必须防⽌它们互相⼲扰对⽅的存储器内容,除⾮透过某些协议在可控制的范围下操作,并限制可访问的存储器范围。
⽂件系统:通常指称管理磁盘数据的系统,可将数据以⽬录或⽂件的型式存储。
每个⽂件系统都有⾃⼰的特殊格式与功能,例如⽇志管理或不需磁盘重整。
⽹络通信:操作系统都具备操作主流⽹上通信协议TCP/IP的能⼒,可以进⼊⽹上世界,并且与其他系统分享诸如⽂件、打印机与扫描仪等资源。
安全机制:操作系统提供外界直接或间接访问数种资源的管道,并有能⼒认证资源访问的请求。
⽤户界⾯:操作系统允许⽤户安装或创造任何他们喜欢的图形⽤户界⾯,改变诸如菜单风格或颜⾊配置等部分。
驱动程序:操作系统通常会主动制订每种设备该有的操作⽅式,⽽驱动程序功能则是将那些操作系统制订的⾏为描述,转译为可让设备了解的⾃定义操作⼿法。
操作系统复习题及答案

1操作系统概述自测题1 选择题“时间〞来换取“空间〞的。
2.设计实时操作系统必须首先考虑系统的______。
3.一个作业第一次执行时用了5min,而第二次执行时用了6min,这说明了操作系统的______特点。
4.下述操作系统类型中,哪个操作系统一定是由多台计算机组成的系统?5.操作系统中,以下______采用了以“空间〞换“时间〞的技术。
6.按照所起的作用和需要的运行环境,操作系统属于_______。
7.操作系统的主要功能是存储器管理、设备管理、文件管理、用户接口和______。
8.操作系统的最根本的两个特征是资源共享和_______。
A.多道程序设计B.程序的并发执行C.中断D.程序顺序执行9.采用多道程序设计技术可以提高CPU和外部设备的______。
10.在计算机系统中,操作系统是_______。
11.操作系统是对_____进展管理的软件。
12.从用户的观点,操作系统是______。
D.是扩大裸机功能的软件,是比裸机功能更强、使用方便的虚拟机13.操作系统的根本类型是_____。
A.批处理系统、分时系统和多任务系统B.实时系统、分时系统和批处理系统C.单用户系统、多用户系统和批处理系统D.实时系统、分时系统和多用户系统14.为了使系统中的所有用户都得到及时的响应,操作系统应该是___.15.如果分时系统的时间片一定,那么____会使响应时间越长。
16._______类型的操作系统允许在一台主机上同时连接多台终端,多个用户可以通过多台终端同时交互地使用计算机。
多个作业同时提交给计算机。
18.在______操作系统的控制下计算机系统能及时处理由过程控制反应的数据并做出及时响应。
19.一个计算机系统采用多道程序设计技术后,使多道程序实现了___.A.微观上并行B.微观和宏观上均串行20.用户程序要将一个字符送到显示器上显示,要使用操作系统提供的_____。
2 判断题1.自从有了计算机,就有了操作系统。
计算机操作系统实验指导计算机系统调用

使用内核编译法添加系统调用
为了验证系统调用是否成功,编写验证代码如下。 #include <stdio.h> #include <linux/kernel.h> #include <sys/syscall.h> #include <unistd.h> int main() { long int a = syscall(三三三); printf("System call sys_helloworld reutrn %ld\n", a); return 0; }
如图地执行结果,我们得到sys_call_table地址:ffffffffabe00一a0 三. 编写Makefile文件,可参考实验指导书地内容。 四. 编译并装入模块 # sudo make //编译 # sudo insmod hello.ko //装入模块 # lsmod //该命令查看所有模块,用以检查hello是否被装入系统 # sudo rmmod hello.ko //卸载模块
三三三 六四 helloworld
sys_helloworld
使用内核编译法添加系统调用
六. 配置内核 # cd /usr/src/linux-四.一六.一0 # sudo make mrproper # sudo make clean # sudo make menuconfig 七. 编译与安装内核(与第七章类似) # sudo make -j八 # sudo make modules -j八 # sudo make modules_install # sudo make install 八. 重启系统 # uname -r 查看此时地内核版本
编译验证代码: # gcc hello.c
《计算机操作系统教程》第三版答案

第一章操作系统概述课后习题1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? 答:便于设计安全可靠的操作系统。
管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。
通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
2. 何为特权指令?举例说明之。
如果允许用户执行特权指令,会带来什么后果?答:只能在态下才能执行的指令称为特权指令。
如开关中断、置程序状态寄存器等。
如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。
3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? 答:中断向量在机器中的位置是由硬件确定的。
例如,在 INTEL 80x86 CPU 中,内存空间0x00000——0x003ff为中断向量空间。
4. 中断向量的内容是由操作系统程序确定的还是由用户程序确定的?答:中断向量的内容是由操作系统程序确定的。
向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
5. 中断向量内的处理机状态位应当标明是管态还是目态 ? 为什么? 答:应当标明是管态。
该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。
6. 中断和程序并发之间的关系是什么?答:中断是程序并发的必要条件。
如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
7. 说明“栈”和“堆”的差别.答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。
408计算机学科专业基础综合考试大纲

408计算机学科专业基础综合考试大纲I考试性质计算机学科专业基础综合考试是为高等院校和科研院所招收计算机科学与技术学科的硕士研究生而设置的具有选拔性质的联考科目,其目的是科学、公平、有效地测试考生掌握计算机科学与技术学科大学本科阶段专业知识、基本理论、基本方法的水平和分析问题、解决问题的能力,评价的标准是高等院校计算机科学与技术学科优秀本科毕业生所能达到的及格或及格以上水平,以利于各高等院校和科研院所择优选拔,确保硕士研究生的招生质量。
II考查目标计算机学科专业基础综合考试涵盖数据结构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。
要求考生比较系统地掌握上述专业基础课程的基本概念、基本原理和基本方法,能够综合运用所学的基本原理和基本方法分析、判断和解决有关理论问题和实际问题。
III考试形式和试卷结构一、试卷满分及考试时间本试卷满分为150分,考试时间为180分钟。
二、答题方式答题方式为闭卷、笔试。
三、试卷内容结构数据结构45分计算机组成原理45分操作系统35分计算机网络25分四、试卷题型结构单项选择题80分(40小题,每小题2分)综合应用题70分IV考查内容数据结构【考查目标】1.掌握数据结构的基本概念、基本原理和基本方法。
2.掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。
3.能够运用数据结构基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力。
一、线性表(一)线性表的定义和基本操作(二)线性表的实现1.顺序存储2.链式存储3.线性表的应用二、栈、队列和数组(一)栈和队列的基本概念(二)栈和队列的顺序存储结构(三)栈和队列的链式存储结构(四)栈和队列的应用(五)特殊矩阵的压缩存储三、树与二叉树(一)树的基本概念(二)二叉树1.二叉树的定义及其主要特征2.二叉树的顺序存储结构和链式存储结构3.二叉树的遍历4.线索二叉树的基本概念和构造(三)树、森林1.树的存储结构2.森林与二叉树的转换3.树和森林的遍历(四)树与二叉树的应用1.二叉排序树2.平衡二叉树3.哈夫曼(Huffman)树和哈夫曼编码四、图(一)图的基本概念(二)图的存储及基本操作1.邻接矩阵法2.邻接表法3.邻接多重表、十字链表(三)图的遍历1.深度优先搜索2.广度优先搜索(四)图的基本应用1.最小(代价)生成树2.最短路径3.拓扑排序4.关键路径五、查找(一)查找的基本概念(二)顺序查找法(三)分块查找法(四)折半查找法(五)B树及其基本操作、B+树的基本概念(六)散列(Hash)表(七)字符串模式匹配(八)查找算法的分析及应用六、排序(一)排序的基本概念(二)插入排序1.直接插入排序2.折半插入排序(三)气泡排序(bubble sort)(四)简单选择排序(五)希尔排序(shell sort)(六)快速排序(七)堆排序(八)二路归并排序(merge sort)(九)基数排序(十)外部排序(十一)各种内部排序算法的比较(十二)排序算法的应用计算机组成原理【考查目标】1.理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。
操作系统习题及答案

操作系统试题汇总一、填空题1.进程的基本状态有_____________、_____________、_____________。
2.常用的内存管理方法有、、和段页式管理。
3.文件的三种物理结构是_________、_________、_________。
4.一次仅允许一个进程使用的共享资源称为。
每个进程中访问临界资源的那段程序称为。
5.从结构上讲,每个进程都是由、和部分组成。
6.按照设备的使用方式将设备分为:独享设备、共享设备和_________设备。
7.进程具有下面的特征性质:________、__________、_________和异步性8.产生死锁的必要条件____________、____________、___________和____________9.在请求页式管理中,当地址转换机构发现所需的页不在时,产生中断信号,由中断处理程序作相应的处理。
10.缓冲引入的目的是缓和CPU与I/O设备间_______,减少对CPU的_______,提高CPU和I/O设备之间的_________。
11.进程之间的通讯类型分为:_______________、_____________和________________。
12.用户进程从用户态变为系统态的途径是___________________。
13.操作系统的基本特性包括:__________、_________、___________和异步性14.动态重定位是指。
15.设备按传输数据类型分为:和16.常用的进程调度算法有优先级调度算法、____________和算法。
17.操作系统具有四大功能分别为______________、_______________、_____________和设备管理。
18.常用的页面置换算法是_________、_________、________和Clock置换算法。
19.按照设备的使用方式将设备分为:独享设备、设备和________设备。
习题1

1.4.1 选择题1.在计算机系统中配置操作系统的主要目的是(A),操作系统的主要功能是管理计算机系统中的(B),其中包括(C)管理和(D),以及文件管理和设备管理。
这里的(C)管理主要是对进程进行管理。
A:(1)增强计算机系统的功能;(2)提高系统资源的利用率;(3)提高系统的运行速度;(4)合理组织系统的工作流程,以提高系统吞吐量。
B:(1)程序和数据;(2)进程;(3)资源;(4)作业;(5)软件;(6)硬件。
C,D:(1)存储器;(2)虚拟存储器;(3)运算器;(4)处理机;(5)控制器。
2.操作系统有多种类型:允许多个用户以交互方式使用计算机的操作系统,称为(A);允许多个用户将若干个作业提交给计算机系统集中处理的操作系统称为(B);在(C)的控制下,计算机系统能及时处理由过程控制反馈的数据,并做出响应;在IBM-PC机上的操作系统称为(D)。
A,B,C,D:(1)批处理操作系统;(2)分时操作系统;(3)实时操作系统;(4)微机操作系统;(5)多处理机操作系统。
3.操作系统是一种(A),它负责为用户和用户程序完成所有(B)的工作,(C)不是操作系统关心的主要问题。
A:(1)应用软件;(2)系统软件;(3)通用软件;(4)软件包。
B:(1)与硬件无关并与应用无关;(2)与硬件相关并与应用无关;(3)与硬件无关并与应用相关;(4)与硬件相关并与应用相关。
C:(1)管理计算机裸机;(2)设计、提供用户程序与计算机硬件系统的接口;(3)管理计算机中的信息资源;(4)高级程序设计语言的编译。
4.在OS中采用多道程序设计技术,能有效地提高CPU,内存和I/O设备的(A),为实现多道程序设计需要有(B)。
A:(1)灵活性;(2)可靠性;(3)兼容性;(4)利用率。
B:(1)更大的内存;(2)更快的CPU;(3)更快的外部设备;(4)更先进的终端。
5.推动批处理系统形成和发展的主要动力是(A),推动分时系统形成和发展的动力是(B),推动微机OS发展的主要动力是(C)。
《操作系统》形成性考核1和3试题

《操作系统》形成性考核1和3试题快捷查找题目方式:Ctrl+F,复制粘贴题目,利用查找功能题目1UNIX操作系统核心层的实现结构设计采用的是()。
选择一项:A. 层次结构B. 单块式结构C. 网状结构D. 微内核结构反馈Your answer is incorrect.【解析】UNIX系统的核心层采用的是层次结构,答案是:层次结构。
当前答案是:层次结构评论写评语或修改得分题目2不正确获得4.00分中的0.00分未标记题干操作系统内核与用户程序、应用程序之间的接口是()。
选择一项:A. shell命令B. 系统调用C. C语言函数D. 图形界面反馈Your answer is incorrect.【解析】系统调用是操作系统内核与用户程序、应用程序之间的接口。
当前答案是:系统调用评论写评语或修改得分题目3正确获得4.00分中的4.00分未标记题干现代操作系统的基本特征是()、资源共享和操作的异步性。
选择一项:A. 实现分时与实时处理B. 程序的并发执行C. 中断处理D. 多道程序设计反馈Your answer is correct.【解析】操作系统的基本特征为并发、共享和异步性,因此选:程序的并发执行。
当前答案是:程序的并发执行评论写评语或修改得分题目4不正确获得4.00分中的0.00分未标记题干UNIX命令的一般格式是()。
选择一项:A. [选项] [参数] 命令名B. 命令名[选项] [参数]C. [参数] [选项] 命令名D. [命令名] [选项] [参数]反馈Your answer is incorrect.【解析】需要熟悉UNIX和LINUX操作系统命令的一般格式。
当前答案是:命令名[选项] [参数]评论写评语或修改得分题目5正确获得4.00分中的4.00分未标记题干以下著名的操作系统中,属于多用户、分时系统的是()。
选择一项:A. Windows NT系统B. DOS系统C. UNIX系统D. OS/2系统反馈Your answer is correct.【解析】UNIX是当代最著名的多用户、多进程、多任务分时操作系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 BIOS启动
• 上电自检POST(Power On Self Test) • 对系统内的硬件设备进行监测和连接 • 最后,BIOS将从软盘或硬盘上读入Boot Loader.如果从硬盘启动,BIOS将读入该盘的 零柱面零磁道1扇区(MBR),读取Boot Loader.
2 BIOS启动
• 除了启动程序,BIOS还提供了一组中断以便 于对硬件设备的访问。 • 在操作系统没有被装入以前(Bootsect.S还没 有被读入),中断的响应程序由BIOS提供。
系统访问
错误检测和反馈 系统使用纪录 程序开发
内 容
• • • Linux内核的目录结构 linux启动流程 系统调用
内核目录结构(1/)
内核源程序代码安装在/usr/src/linux目录下 ,核心源代码 主要在kernel和arch/kernel两个目录下。 1. Documentation :这个目录下面没有内核代码,只有一 套有用的文档。 2. arch :包括了所有和体系结构相关的核心代码。它的每 一个子目录都代表一种支持的体系结构,例如i386就是 关于intel cpu及与之相兼容体系结构的子目录。PC机一 般都基于此目录;其下的kernel,存放支持体系结构特 有的诸如信号处理之类特征的实现; 3. Drivers: 放置系统所有的设备驱动程序;每种驱动程序 又各占用一个子目录,它包括显卡、网卡、软盘驱动器 和其他任何你可以说出的Linux支持的外围设备的软件 驱动程序。如 /block 下为块设备驱动程序
3 Boot Loader
• Boot Loader是一段汇编代码,存放在MBR中, 它的主要作用就是将系统启动代码读入内存。 • 因为在启动过程中,BIOS会把Boot Loader读 入内存,并把控制权交给它。MBR(硬盘启 动)内的代码就是Boot Loader或者它的一部 分。
3 Boot Loader
4 进入操作系统
(3)main.c中的初始化
• Head.S调用/init/main.c中的start_kernel函数, 把控制权交给它,这个函数是整个操作系统初 始化的最重要的函数,一旦它执行完,整个操 作系统的初始化也就完成了。
4 进入操作系统
(3)main.c中的初始化
• 计算机在执行start_kernel前进入了保护模式, 使处理器完全进入了全面执行操作系统代码的 状态。 • Start_kernel执行后,就可以以一个用户的身 份登陆和使用
4 进入操作系统
(4)建立init进程
• Linux要建立的第一个进程是init进程 • 启动所需的Shell脚本文件 a.Linux系统启动所必须的 b.用户登陆后自己设定的 • 系统启动所必须的脚本存放在系统默认的配置 文件目录/etc下。首先调用的是/etc/inittab.
例:
#include <linux/unistd.h> Int main(){ int i=getuid(); printf(“Hello Word!This is my uid:%d\n”,i); }
相关数据结构及源代码分析
和系统调用相关的内核代码文件主要有: • arch/i386/kernel/entry.S • arch/i386/kernel/traps.c • include/linux/unistd.h
entry.S汇编文件
其中包含了系统调用和异常的底层处理程序,信号量识 别程序。特别是系统调用和中断处理程序的返回点 (ret_from_sys_call),还有一个系统调用表。 1. 堆栈 2. SAVE_ALL,RESTORE_ALL 3.系统调用表 4. system_call和ret_from_sys_call
• Linux 作为一个典型的现代网络型操作系 统,其中所涉及到的技术实现涵盖了操 作系统技术的最新成果。它是一个多用 户多任务操作系统,支持分时处理和软 实时处理,并带有微内核特征,具有很 好的定制特性。由于它是开放源码的, 全世界很多科学技术人员都在不断对它 完善和改进.
操作系统功能
操作系统是充当计算机用户和计算机硬件之间的一个 中介,并用于管理计算机资源和控制应用程序运行的 计算机程序。 简单的讲,操作系统一般会提供以下服务: 程序运行 I/O 设备访问 文件访问
内核栈 用户空间SS 用户空间esp EFLAGS 用户空间cs 中断后及iret返 回前的esp 用户空间eip 系统调用号
向内中断 向外返回
用户栈 函数返回地址 eip 局部变量 中断前及iret返回 后的esp
可用空间 用户ss
可用空间
Task_struct 内核ss
堆栈切换
entry.S汇编文件
3)其他文件:主要包括用于存放Map Installer记录的map文
件和存放LILO配置信息的配置文件。
4 进入操作系统
• Boot Loader 完成的工作:把操作系统的代码 调入内存,所以当它执行完后,自然该把控制 权交给操作系统,由操作系统的启动程序来完 成剩下的工作。
4 进入操作系统
• 把控制权交给Setup.S这段程序 • 进入保护模式,同时把控制权交给Head.S • Head.S调用/init/main.C中的start_kernel函数, 启动程序从start_kernel()函数继续执行
• 如果是硬盘启动,Boot Loader将查找主分区 表中标记为活动分区的表项,把该表项对应的 分区的引导扇区读入,然后将控制权交给该扇 区内的引导程序。 • 如果计算机上装有不只一个操作系统,仅仅 MS-DOS的Boot Loader无法完成这种工作,需 要一个可以多重起动的工具:LILO或GRUB.
4 进入操作系统(1)Setup.S
首先,Setup.S对已经调入内存的操作系 统代码进行检查,如果没错,它会通过 BIOS中断获取内存容量,硬盘等信息 (实模式),准备让CPU进入保护模式 完成基本设置后,Setup.S设置保护模式 的标志,重取指令,再用一条跳转指令 jmpi 0x100000,KERNEL_CS。进入保护 模式下的启动阶段,控制权交给Head.S.
内核目录结构(3/)
9. lib :包含两部分的内容。lib/inflate.c中的函数能够在系统启 动时展开经过压缩的内核。lib目录下剩余的其他文件实现 一个标准C库的有用子集。 10. mm :包括所有独立于 cpu 体系结构的内存管理代码, 如页式存储管理内存的分配和释放等; 11. net :包含了Linux应用的网络协议代码,例如AppleTalk、 TCP/IP、IPX等等。 12. scripts :该目录下没有内核代码,它包含了用来配置内核的 脚本。当运行make menuconfig或者make xconfig之类的命 令配置内核时,用户就是和位于这个目录下的脚本进行交互 的。
4 进入操作系统
(3)main.c中的初始化
对文件系统的初始化 • Inode_initI() i节点管理机制初始化 • Name_cache_init() 目录缓存机制初始化 • Buffer_init() 块缓存机制初始化
4 进入操作系统
(3)main.c中的初始化
• 启动到了目前这种状态,只剩下运行/etc下的 启动配置文件。 • 这时初始化程序并没有完成操作系统各个部分 的初始化,更关键的文件系统的安装还没有涉 及,这是在init进程建立后完成的。就是 start_kernel()最后部分内容。
linux启动流程
初始化流程 • 加电或复位 • BIOS的启动 • Boot Loader • 操作系统初始化
1 加电或复位
• 冷启动过程开始,中央处理器进入复位状态, 将内存中的所有数据清零,对内存进行校验, 如果没错,CS寄存器置数,IP寄存器置入0000, 这个CS:IP组合指向的是BIOS的入口。系统就 是这样进入BIOS启动过程的。
entry.S汇编文件
2.关于SAVE_AL \ popl %ebx; \ popl %ecx; \ popl %edx; \ popl %esi; \ popl %edi; \ popl %ebp; \ popl %eax; \
内核目录结构(2/)
4. fs :Linux支持的所有文件系统在fs目录下面都有一个对应 的子目录。 5. include :包括编译核心所需要的大部分头文件。 例如:include/scsi/—这个目录供与SCSI控制器和SCSI 设备有关的头文件使用。 6. Init:核心的初始化代码 ,其中比较重要的一个是main.c, 它包含了大部分内核初始化的代码。 7. ipc :这个目录文件实现了System V的进程间通讯(IPC) 8. Kernel:主要的核心代码,此目录下的文件实现平台独 立的基本功能。这部分内容包括进程调度( kernel/sched.c) 及创建和撤销进程的代码(kernel/fork.c和kernel/exit.c); 其中最重要的文件当属sched.c;
4 进入操作系统
(2)Head.S
• 先做屏蔽中断一类的工作 • 然后对中断向量表做一定的处理 • Boot Loader读入内存的启动参数和命令行 参数,Head.S把它们保存在 empty_zero_page页中 • 检查CUP类型 • 对协处理器进行检查 • 页初始化,调用setup_paging这个子函数
entry.S汇编文件
1.关于堆栈 * * 28(%esp) * 2C(%esp) * 30(%esp) * 34(%esp) * 38(%esp)
-
%eip %cs %eflags %oldesp %oldss
注释语句说明:把当前任务的堆栈信息保存 (oldss,oldesp),再依此保存eflags,cs,eip,从用 户堆栈切换到内核堆栈。这几步由硬件完成。
4 进入操作系统
(3)main.c中的初始化