第二章操作系统的界面_第1页
第二章操作系统的界面_第2页
第二章操作系统的界面_第3页
第二章操作系统的界面_第4页
第二章操作系统的界面_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章操作系统的界面2.1系统的生成与启动系统的生成系统的启动实例分析2.1系统的生成与启动/系统的生成系统的生成(SYSGEN)在系统生成过程中,下列信息必须确定:(1)CPU的类型。(2)内存的容量。(3)可用设备的类型和数量;(4)操作系统的功能选项或使用的参数。2.1系统的生成与启动/系统的生成系统的生成(SYSGEN)多种方法生成:(1)根据以上信息修改OS源码,完全编译(2)编译过的库中选择合适的模块连接生成(3)构造完全由各种表驱动的系统2.1系统的生成与启动/系统的启动系统的启动装入操作系统内核以启动计算机系统的过程。初始引导核心初始化系统初始化2.1系统的生成与启动/系统的启动系统的启动装入操作系统内核以启动计算机系统的过程。了解基本概念

BIOS

内存地址2.1系统的生成与启动/系统的启动BIOS

“BasicInputOutputSystem”的缩略语,中文名称“基本输入输出系统”。它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、中断程序、系统设置信息、开机上电自检(POST)程序和系统启动自举程序。2.1系统的生成与启动/系统的启动BIOS中断程序:完成硬件设备的初始化系统设置程序:设置CMOS参数POST上电自检:完成对硬件配制的检测BIOS系统自举:在自检成功后将磁盘上的引导程序装入内存,让其运行以装入系统;

2.1系统的生成与启动/系统的启动内存地址机器中的内存一般有般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。

2.1系统的生成与启动/系统的启动系统的启动初始引导阶段

BIOS的工作2.1系统的生成与启动/系统的启动系统的启动核心初始化阶段在操作系统的内核代码装入内存后,引导程序将控制权转交给内核可执行代码,从此核心代码开始执行。内核首先进行初始化工作,包括对硬件以及接口电路的初始化,对内核所有数据结构进行初始化。2.1系统的生成与启动/系统的启动系统的启动系统初始化工作主要任务是做好准备工作,使系统处于命令接受状态,这时用户就可使用计算机来完成自己的工作。在这个阶段,操作系统为用户创建工作环境,接受并解释执行用户的程序和指令。例如:Window系统启动出现桌面,Unix/Linux系统启动出现的命令行界面或X-Window界面,均表明系统已经成功启动,用户可以使用计算机了。2.1系统的生成与启动/实例分析Windows系统的启动从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:

1.预引导(Pre-Boot)阶段;

2.引导阶段;

3.加载内核阶段;

4.初始化内核阶段;

5.登录。2.1系统的生成与启动/实例分析预引导阶段

按下计算机电源使计算机启动,并且在WindowsXP专业版操作系统启动之前这段时间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,计算机首先运行PowerOnSelfTest(POST),POST检测系统的总内存以及其他硬件设备的现状。2.1系统的生成与启动/实例分析预引导阶段

如果计算机系统的BIOS(基础输入/输出系统)是即插即用的,那么计算机硬件设备将经过检验以及完成配置。计算机的基础输入/输出系统(BIOS)定位计算机的引导设备,然后MBR(MasterBootRecord)被加载并运行。在预引导阶段,计算机要加载WindowsXP的NTLDR文件。

2.1系统的生成与启动/实例分析引导阶段包含4个小的阶段。

首先,计算机要经过初始引导加载器阶段(InitialBootLoader),在这个阶段里,NTLDR将计算机微处理器从实模式转换为32位平面内存模式。在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存,而在32位平面内存模式中,系统(WindowsXPProfessional)视所有内存为可用内存。2.1系统的生成与启动/实例分析引导阶段包含4个小的阶段

接着,NTLDR启动内建的mini-filesystemdrivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载WindowsXPProfessional,到这里,初始引导加载器阶段就结束了。

2.1系统的生成与启动/实例分析引导阶段包含4个小的阶段。

接着系统来到了操作系统选择阶段,如果计算机安装了不止一个操作系统(也就是多系统),而且正确设置了boot.ini使系统提供操作系统选择的条件下,计算机显示器会显示一个操作系统选单,这是NTLDR读取boot.ini的结果。2.1系统的生成与启动/实例分析引导阶段

NTLDR就是从boot.ini查找WindowsXPProfessional的系统文件的位置的。如果在boot.ini中只有一个操作系统选项,则系统不出现操作系统选择菜单,直接引导到那个唯一的系统或者默认的系统。在选择启动WindowsXPProfessional后,操作系统选择阶段结束,硬件检测阶段开始。

2.1系统的生成与启动/实例分析引导阶段

在硬件检测阶段中,将收集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。硬件检测完成后,进入配置选择阶段。如果计算机含有多个硬件配置文件列表,可以通过按上下按钮来选择。如果只有一个硬件配置文件,计算机不显示此屏幕而直接使用默认的配置文件加载WindowsXP专业版。

2.1系统的生成与启动/实例分析引导阶段引导阶段结束。在引导阶段,系统要用到的文件一共有:NTLDR,Boot.ini,,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)。

2.1系统的生成与启动/实例分析加载内核阶段

在加载内核阶段,ntldr加载称为WindowsXP内核的ntokrnl.exe。系统加载了WindowsXP内核但是没有将它初始化。接着ntldr加载硬件抽象层(HAL,hal.dll),然后,系统继续加载HKEY_LOCAL_MACHINE\system键,NTLDR读取select键来决定哪一个ControlSet将被加载。控制集中包含设备的驱动程序以及需要加载的服务。2.1系统的生成与启动/实例分析加载内核阶段

NTLDR加载HKEY_LOCAL_MACHINE\system\service\...下start键值为0的最底层设备驱动。当作为ControlSet的镜像的CurrentControlSet被加载时,ntldr传递控制给内核,初始化内核阶段就开始了。2.1系统的生成与启动/实例分析初始化内核阶段

在初始化内核阶段开始的时候,彩色的WindowsXP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的4项任务:

内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINE\HARDWARE键。

内核通过引用HKEY_LOCAL_MACHINE\system\Current的默认值复制ControlSet来创建了CloneControlSet。CloneControlSet配置是计算机数据的备份,不包括启动中的改变,也不会被修改。2.1系统的生成与启动/实例分析

系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...下start键值为1的设备驱动程序。2.1系统的生成与启动/实例分析这些设备驱动程序在加载的时候便完成初始化,如果有错误发生,内核使用ErrorControl键值来决定如何处理,值为3时,错误标志为危机/关键,系统初次遇到错误会以LastKnownGoodControlSet重新启动,如果使用LastKnownGoodControlSet启动仍然产生错误,系统报告启动失败,错误信息将被显示,系统停止启动;2.1系统的生成与启动/实例分析值为2时错误情况为严重,系统启动失败并且以LastKnownGoodControlSet重新启动,如果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;当值是1的时候错误为普通,系统会产生一个错误信息,但是仍然会忽略这个错误并且继续启动;当值是0的时候忽略,系统不会显示任何错误信息而继续运行。2.2操作系统提供的服务和用户接口操作系统操作系统计算机用户程序接口(系统调用)命令接口、图形接口2.2操作系统提供的服务和用户接口2.2.1操作系统提供的基本服务执行程序:系统必须能将程序装入内存并运行该程序。数据I/O:程序运行时可能需要I/O操作。信息存取:用户按照文件名来建立、读写、修改以及删除文件,使信息的存取更加方便、可靠。通信服务:一个进程需要与另外一个进程交换信息。错误检测和处理:操作系统通常需要知道可能出现的错误。2.2操作系统提供的服务和用户接口2.2.2命令接口

操作系统的命令接口应包括一组命令、终端处理程序和命令解释程序。其中,命令解释程序的主要作用是在屏幕上给出提示符,请求用户输入命令,然后读入命令,并识别命令,再转到相应的命令处理程序去执行,并将处理结果送屏幕上显示。若用户键入的命令有错,命令解释程序未能识别,或在执行过程中出现错误,则显示出错信息。2.2操作系统提供的服务和用户接口2.2.2命令接口

大家比较熟悉的命令解释程序有MS-DOS/windows98的,windows2000的cmd.exe以及UNIX/Linux的shell程序。2.2操作系统提供的服务和用户接口2.2.2命令接口下面列举出部分常用DOS内部命令(help<command>来查找)磁盘操作类:

chkdsk

磁盘检查;fdisk

磁盘分区;format磁盘格式化文件目录类:

md

建立目录;cd

设置或显示当前目录;rd删除目录;copy复制文件;rename文件更名;del删除文件;type显示文件内容其他类:ver

显示版本号;time显示系统时间;date显示系统日期。2.2操作系统提供的服务和用户接口2.2.3图形用户接口(GUI)为了方便用户地使用,Apple公司在20世纪80年代中期推出了图形用户接口(GUI)。使用GUI来操作计算机,用户不需要记忆复杂的操作命令,只需要用鼠标点击代表相应命令的图形(称为图标)来运行程序,因而极大地方便了用户2.2操作系统提供的服务和用户接口2.2.4程序接口程序接口又称应用编程接口API(ApplicationProgrammingInterface),允许运行程序调用操作系统的服务和功能。程序接口由一组系统调用(SystemCall))组成,用户程序使用“系统调用”就可获得操作系统的底层服务,使用或访问系统的各种软硬件资源。2.2操作系统提供的服务和用户接口2.2.4程序接口系统调用的概念两种运行程序类型管理程序用户程序处理机工作状态划分核心态(管态kernelmode)用户态(用户态usermode)2.2操作系统提供的服务和用户接口2.2.4程序接口系统调用的概念系统调用实质上是应用程序请求操作系统内核完成某一功能的一种特殊的过程调用每个操作系统都提供几百种系统调用,包括:外存文件与目录的读写,各种I/O设备的使用,在程序中启动另一个程序,查询和统计系统资源使用情况等等。系统调用就是用户程序对操作系统的调用2.2操作系统提供的服务和用户接口2.2.4程序接口系统调用的实现系统调用可以进入操作系统内核,而过程调用则不能进入操作系统的内核。对于系统调用,控制是由原来的用户态转换为系统态,这是借助于中断和陷入机制来完成的,在该机制中包括中断和陷入硬件机构和中断和陷入处理程序两部分。2.2操作系统提供的服务和用户接口2.2.4程序接口系统调用的实现

(1)每个系统调用对应一个功能号,要调用操作系统的某一特定例程,必须在指令中给出对应的功能号。

(2)按功能号实现调用的过程大体相同,即都是通过对功能号的解释分别转入对应例行子程序。2.2操作系统提供的服务和用户接口2.2.4程序接口系统调用的实现

2.2操作系统提供的服务和用户接口Win32API和UNIX/Linux系统调用粗略对应关系UNIX/LinuxWin32说明forkCreatProcess

创建进程waitpid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论