配色: 字号:
《操作系统原理与实践教程》02
2017-09-09 | 阅:  转:  |  分享 
  
第2章操作系统的界面§2.1系统生成和启动2.1.1系统的生成在系统生成过程中,下列信息必须确定:(1)CPU的类型。C
PU的类型决定了系统的指令集;(2)内存的容量。内存容量的确定能够保证系统在合法的地址范围内活动,合理安排可用内存;(3)可用
设备的类型和数量;系统需要知道如何访问设备、设备的中断号、设备类型和模型以及任何特别的设备特点;(4)操作系统的功能选项或使用的
参数。这些选项或值可能包括需要使用多少和多大的缓冲区,需要什么类型的CPU调度算法,所支持进程的最大数量是多少,等等。§2.1
系统生成和启动2.1.2系统的启动1.初始引导阶段现代多数计算机使用固化在ROM中的BIOS来启动计算机。BIOS包括中
断服务程序、系统设置程序、POST(PoweronSelfTest)上电自检和BIOS系统启动自举程序。BIOS中断服务程
序来完成硬件设备的初始化;系统设置程序用来设置CMOS的参数,该程序一般通过在启动计算机时,按Del健进入CMOS设置过程;POS
T上电自检程序完成对硬件配制的检测,如发现问题将给出提示或鸣笛警告;而BIOS系统启动自举程序是按照系统CMOS中设置的启动顺序搜
寻软、硬盘驱动器及CD-ROM等,读入存放在该设备特定位置的操作系统引导记录(该记录在磁盘的0面0磁道1扇区)到内存的特定位置,然
后将控制权交给引导记录,由该引导记录将内核代码从文件系统中装入内存,以便完成系统的启动。§2.1系统生成和启动2.核心
初始化阶段在操作系统的内核代码装入内存后,引导程序将控制权转交给内核可执行代码,从此核心代码开始执行。内核首先进行初始化
工作,包括对硬件以及接口电路的初始化,对内核所有数据结构进行初始化。3.系统初始化阶段这一阶段是前两个阶段的继续,其主
要任务是做好准备工作,使系统处于命令接受状态,这时用户就可使用计算机来完成自己的工作。在这个阶段,操作系统为用户创建工作环境,接受
并解释执行用户的程序和指令。例如:Window系统启动出现桌面,Unix/Linux系统启动出现的命令行界面或X-Window界面
,均表明系统已经成功启动,用户可以使用计算机了。§2.2操作系统的界面2.2.1操作系统提供的服务?执行程序:
系统必须能将程序装入内存并运行该程序。?数据I/O:程序运行时可能需要I/O操作。?信息存取:用户按照文件名来
建立、读写、修改以及删除文件,使信息的存取更加方便、可靠。?通信服务:一个进程需要与另外一个进程交换信息。?
错误检测和处理:操作系统通常需要知道可能出现的错误。§2.2操作系统的界面2.2.2操作系统接口§2.2操
作系统的界面2.2.2操作系统的接口1.命令接口在当前几乎所有的计算机(从大、中型机到微型机)的操作系统都向用户提供了命令
接口,以实现用户与计算机之间的交互。用户使用命令接口来与计算机进行交互时,首先必须在终端上键入正确的操作命令,由终端处理程序接收
用户键入的命令,并将它显示在终端屏幕上。当一条命令输入完成后,操作系统的命令解释程序对用户输入的命令进行分析,然后执行相应的命令处
理程序。操作系统的命令接口应包括一组命令、终端处理程序和命令解释程序。其中,命令解释程序的主要作用是在屏幕上给出提示符,请求用户
输入命令,然后读入命令,并识别命令,再转到相应的命令处理程序去执行,并将处理结果送屏幕上显示。若用户键入的命令有错,命令解释程序未
能识别,或在执行过程中出现错误,则显示出错信息。§2.2操作系统的界面大家比较熟悉的命令解释程序有MS-DOS/window
s98的command.com,windows2000的cmd.exe以及UNIX/Linux的shell程序。下面列举出部
分常用DOS内部命令(具体的应用的含义和应用,可用help来查找)磁盘操作类:chkdsk磁盘检查;f
disk磁盘分区;format磁盘格式化文件和目录类:md建立目录;cd设置或显示当前目录;rd删除目录;c
opy复制文件;rename文件更名;del删除文件;type显示文件内容其他类:ver显示版本号;ti
me显示系统时间;date显示系统日期§2.2操作系统的界面2.图形用户接口(GUI)为了方便用户地使用,Apple
公司在20世纪80年代中期推出了图形用户接口(GUI)。使用GUI来操作计算机,用户不需要记忆复杂的操作命令,只需要用鼠标点击代
表相应命令的图形(称为图标)来运行程序,因而极大地方便了用户。3.程序接口程序接口又称应用编程接口API(Applicatio
nProgrammingInterface),允许运行程序调用操作系统的服务和功能。§2.2操作系统的界面程序接口由一组
系统调用(SystemCall))组成,用户程序使用“系统调用”就可获得操作系统的底层服务,使用或访问系统的各种软硬件资源。从
某种角度上看,进行系统调用就象进行一个特殊的过程调用。但是,系统调用的实现与一般的过程调用的实现相比,两者间有很大的差异。系统调用
可以进入操作系统内核,而过程调用则不能进入操作系统的内核。对于系统调用,控制是由原来的用户态转换为系统态,这是借助于中断和陷入机制
来完成的,在该机制中包括中断和陷入硬件机构和中断和陷入处理程序两部分。§2.2操作系统的界面系统调用的格式随计算机的不同而不
同,但对任何不同的计算机都有以下共同的特点:(1)每个系统调用对应一个功能号,要调用操作系统的某一特定例程,必须在指令中给
出对应的功能号。(2)按功能号实现调用的过程大体相同,即都是通过对功能号的解释分别转入对应例行子程序。§2.2操作
系统的界面§2.2操作系统的界面Linux系统调用Linux系统调用由两部分组成:核心函数是实现系统调用功能的(内核)代码
。接口函数是提供给应用程序的API,以库函数形式存在Linux的lib.a中。Linux系统调用入口程序entry.sENTR
Y(sys-call-table).longSYMBOL-NAME(sys-ni-syscall)0
.longSYMBOL-NAME(sys-exit)1.longSYMBOL-
NAME(sys-fork)2.longSYMBOL-NAME(sys-read)
3.longSYMBOL-NAME(sys-write)4.long
SYMBOL-NAME(sys-open)5.longSYMBOL-NAME(sys-clo
se)6.
.longSYMBOL-NAME(sys-vfork)190§2.2操作系统的界面Win32API和U
NIX/Linux系统调用粗略对应关系重点概念和内容提示操作系统接口的分类和特点系统调用的概念和执行过程操作系
统计算机用户程序接口(系统调用)命令接口、图形接口SystemCall用户程序A0SUB0
SUB1SUBiSUBnA1AiAn……系统调用处理子程序取系统功能号找入口地址表相应入口地址结束处理恢
复现场A0A1…Ai…An保护CPU现场陷入指令系统调用陷入机构入口地址表UNIX/Linux
Win32说明fork
CreatProcess创建进程wa
itpidWaitForSingleObject等待进程终止open/c
loseCreatFile/CloseHandle创建或打开/关闭文件read/wri
teReadFile/WriteFile读/写文件lseekSetFilePointer移动文件指针mkdir/rmdirCreat/RemoveDirectory建立/删除目录statGetFileAttributesEx获得文件属性ThankYouVeryMuch!
献花(0)
+1
(本文系hdch1986首藏)