操作系统的启动引导ppt课件.ppt

操作系统的启动引导ppt课件.ppt

ID:59269087

大小:1.76 MB

页数:34页

时间:2020-09-22

操作系统的启动引导ppt课件.ppt_第1页
操作系统的启动引导ppt课件.ppt_第2页
操作系统的启动引导ppt课件.ppt_第3页
操作系统的启动引导ppt课件.ppt_第4页
操作系统的启动引导ppt课件.ppt_第5页
资源描述:

《操作系统的启动引导ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统的启动引导§操作系统初探§Linux0.11启动代码分析操作系统初探计算机硬件结构计算机系统结构什么是操作系统计算机硬件结构计算机硬件结构计算机是如何在上屏幕上输出“hello!”的?计算机系统结构操作系统是计算机硬件和应用之间的一层软件什么是操作系统是计算机硬件和应用之间的一层软件方便我们使用硬件,如使用显存…高效的使用硬件,如开多个终端(窗口)管理什么§Linux0.11启动代码分析计算机是如何工作的引导扇区代码:Bootsect.sSetup模块分析System模块分析计算机是如何工作的从白纸到图灵机计算机是如何工作的从图灵机到通

2、用图灵机计算机是如何工作的从通用图灵机到计算机冯∙渃依曼在1946年提出存储程序思想存储程序的主要思想:将程序和数据存放到计算机内部的存储器中,计算机在程序的控制下一步一步进行处理计算机由五大部件组成:输入设备、输出设备、存储器、运算器、控制器计算机是如何工作的打开电源,计算机执行的第一条指令计算模型⇒我们要关注指针IP及其指向的内容计算机刚打开电源时,IP=?是由硬件设计者决定!x86PCx86PC刚开机时CPU处于实模式(cs:ip的寻址模式)开机时,CS=0xFFFF;IP=0x0000寻址0x?(为ROMBIOS映射区)检查RAM,键盘

3、,显示器,软硬磁盘将磁盘0磁道0扇区读入cs=0x07c0,ip=0x0000处,寻址0x?计算机是如何工作的0x7c00处存放的代码是从磁盘引导扇区读入的那512个字节引导扇区就是启动设备的第一个扇区启动设备信息被设置在CMOS中CMOS是BIOS吗?因此,硬盘的第一个扇区上存放着开机后执行的第一段我们可以控制的程序CMOS:互补金属氧化物半导体(64B-128B),是电脑主板上用来保存计算机基本启动信息。CMOSRAM本身只是一块存储器,只有数据保存功能。对BIOS中各项参数的设定要通过专门的程序。因此BIOS设置有时也被叫做CMOS设置。

4、引导扇区代码:Bootsect.s.globlbegtext,begdata,begbss,endtext,enddata,endbss.text//文本段begtext:.data//数据段begdata:.bss//未初始化数据段begbss:entrystart//关键字entry告诉链接器“程序入口”start:movax,#BOOTSEGmovds,axmovax,#INITSEGmoves,axmovcx,#256subsi,sisubdi,direpmovwjmpigo,INITSEG.text等是伪操作符,告诉编译器产生文本段,

5、.text用于标识文本段的开始位置。SETUPLEN=4BOOTSEG=0x07c0INITSEG=0x9000SETUPSEG=0x9020SYSSEG=0x1000ENDSEG=SYSSEG+SYSSIZEROOT_DEV=0X306ds=0x07c0es=0x9000cx计数寄存器计数256W表示移动的是字移动多少字节呢?si=0,di=0这就是0x7c00处存放的语句ds:si为0x7c00,ds为数据段寄存器,si为源变址寄存器,可用来存放相对于DS段之源变址指针es:di为0x90000,es为附加段寄存器,di为目地变址寄存器,可

6、用来存放相对于ES段之目的变址指针段间跳转:cs=INITISE=0x9000,ip=go引导扇区代码:Bootsect.sBootsect.s首先将自身复制到地址0x90200中,并跳转到复制后的地址中执行:引导扇区代码:Bootsect.sjmpigo,INITSEG之后go:movax,csmovds,axmoves,axmovss,axmovsp,#0xff00load_setup://载入setup模块movdx,#0x0000movcx,#0x0002movbx,#0x0200movax,#0x0200+SETUPLENint0x1

7、3//BIOS中断jncok_load_setupmovdx,#0x0000movax,#0x0000int0x13jload_setup//重读cs=0x9000ds,es,ss=0x9000sp=0xFF00栈空间为?0x90000 - 0x9FF00INT0x13,AH=02:BIOS读磁盘扇区的中断:dh=磁头号,dl=驱动器号,驱动器0,磁头0ch=柱面号,cl=开始扇区,磁道0,扇区2es:bx=读出数据的缓冲区地址(es:bx为0x90200)al=要读的扇区数(SETUPLEN=4)如果成功,则跳转到ok_load_setup跳

8、转到load_setup,重读否则,复位磁盘引导扇区代码:Bootsect.s执行jmpi go,INITSEG后就由开始的Bootsect.s跳转到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。