您好,欢迎访问三七文档
第2章操作系统的界面§2.1系统生成和启动2.1.1系统的生成在系统生成过程中,下列信息必须确定:(1)CPU的类型。CPU的类型决定了系统的指令集;(2)内存的容量。内存容量的确定能够保证系统在合法的地址范围内活动,合理安排可用内存;(3)可用设备的类型和数量;系统需要知道如何访问设备、设备的中断号、设备类型和模型以及任何特别的设备特点;(4)操作系统的功能选项或使用的参数。这些选项或值可能包括需要使用多少和多大的缓冲区,需要什么类型的CPU调度算法,所支持进程的最大数量是多少,等等。§2.1系统生成和启动2.1.2系统的启动1.初始引导阶段现代多数计算机使用固化在ROM中的BIOS来启动计算机。BIOS包括中断服务程序、系统设置程序、POST(PoweronSelfTest)上电自检和BIOS系统启动自举程序。BIOS中断服务程序来完成硬件设备的初始化;系统设置程序用来设置CMOS的参数,该程序一般通过在启动计算机时,按Del健进入CMOS设置过程;POST上电自检程序完成对硬件配制的检测,如发现问题将给出提示或鸣笛警告;而BIOS系统启动自举程序是按照系统CMOS中设置的启动顺序搜寻软、硬盘驱动器及CD-ROM等,读入存放在该设备特定位置的操作系统引导记录(该记录在磁盘的0面0磁道1扇区)到内存的特定位置,然后将控制权交给引导记录,由该引导记录将内核代码从文件系统中装入内存,以便完成系统的启动。§2.1系统生成和启动2.核心初始化阶段在操作系统的内核代码装入内存后,引导程序将控制权转交给内核可执行代码,从此核心代码开始执行。内核首先进行初始化工作,包括对硬件以及接口电路的初始化,对内核所有数据结构进行初始化。3.系统初始化阶段这一阶段是前两个阶段的继续,其主要任务是做好准备工作,使系统处于命令接受状态,这时用户就可使用计算机来完成自己的工作。在这个阶段,操作系统为用户创建工作环境,接受并解释执行用户的程序和指令。例如:Window系统启动出现桌面,Unix/Linux系统启动出现的命令行界面或X-Window界面,均表明系统已经成功启动,用户可以使用计算机了。§2.1系统生成和启动实例研究——Linux的安装与启动1.RedHatLinux的安装放入启动盘或光盘,用户会看到第一个文字欢迎界面,并选择安装的模式。用户按Enter直接进入图形界面安装程序。若用户的设备不能进入图形花接口安装,输入:textEnter,则进入文字界面的安装程序(如下图所示)。§2.1系统生成和启动(1)设置安装环境设置语言:使用鼠标来选择你想在安装中使用的语言,当你选定了恰当的语言后,点击「下一步」来继续。§2.1系统生成和启动设置键盘:使用鼠标来选择你要在本次安装中和今后用作系统默认的键盘布局类型(例如,美国英语式)。选定后,点击「下一步」来继续。§2.1系统生成和启动设置鼠标:为你的系统选择正确的鼠标类型。如果你找不到确切的匹配,选择你确定会与你的系统兼容的鼠标类型。§2.1系统生成和启动(2)选择安装方式选择你要执行的安装类型。RedHatLinux允许你选择最符合你需要的安装类型。你的选项有「个人桌面」、「工作站」、「服务器」、「定制」、和「升级」。§2.1系统生成和启动(3)硬盘分区:在这个屏幕上,你可以选择自动分区,或者使用DiskDruid来手工分区。自动分区允许你不必亲自为驱动器分区而执行安装。如果你对在系统上分区信心不足,建议你不要选择手工分区,而是让安装程序自动为你分区。要手工分区,选择DiskDruid分区工具。§2.1系统生成和启动(4)安装启动程序为了要不使用引导盘来引导你的系统,你通常需要安装一个引导装载程序。引导装载程序是计算机启动时所运行的第一个软件,它的责任是载入操作系统内核软件并把控制转交给它,然后,内核软件再初始化剩余的操作系统。安装程序为你提供了两个引导装载程序:GRUB和LILO。GRUB(GRandUnifiedBootloader)是一个默认安装的功能强大的引导装载程序。GRUB能够通过连锁载入另一个引导装载程序来载入多种免费和专有操作系统(连锁载入是通过载入另一个引导装载程序来载入DOS或Windows之类不被支持的操作系统的机制)。LILO(LInuxLOader)是用于Linux的灵活多用的引导装载程序。它并不依赖于某一特定文件系统,能够从软盘和硬盘引导Linux内核映像,甚至还能够引导其它操作系统。§2.1系统生成和启动§2.1系统生成和启动(5)网络配置如果你有网络设备但还没有配置联网,你现在就有机会来配置它。§2.1系统生成和启动(6)防火墙设置RedHatLinux为增加系统安全性提供了防火墙保护。防火墙存在于你的计算机和网络之间,用来判定网络中的远程用户有权访问你的计算机上的哪些资源。一个正确配置的防火墙可以极大地增加你的系统安全性。§2.1系统生成和启动(7)设置语言支持你必须选择一种语言作为你的默认语言。当安装结束后,你的系统中将会使用默认语言。如果你选择安装了其它语言,你可以在安装后改变你的默认语言。§2.1系统生成和启动(8)设置时区你可以通过选择你的计算机的物理位置,或者指定你的时区和通用协调时间(UTC)间的偏移来设置你的时区。§2.1系统生成和启动(9)设置根口令§2.1系统生成和启动(10)选择安装套件§2.1系统生成和启动(10)开始安装软件包§2.1系统生成和启动(11)设置显卡§2.1系统生成和启动(12)设置XWindows系统配置你的显示器:安装程序会给你提供一个显示器列表。你既可以使用自动为你检测到的显示器,也可以在这个列表中另选一个。§2.1系统生成和启动定置配置:为你的X配置选择正确的色彩深度和分辨率§2.2操作系统的界面2.2.1操作系统提供的服务•执行程序:系统必须能将程序装入内存并运行该程序。•数据I/O:程序运行时可能需要I/O操作。•信息存取:用户按照文件名来建立、读写、修改以及删除文件,使信息的存取更加方便、可靠。•通信服务:一个进程需要与另外一个进程交换信息。•错误检测和处理:操作系统通常需要知道可能出现的错误。§2.2操作系统的界面2.2.2操作系统接口操作系统计算机用户程序接口(系统调用)命令接口、图形接口§2.2操作系统的界面2.2.2操作系统的接口1.命令接口在当前几乎所有的计算机(从大、中型机到微型机)的操作系统都向用户提供了命令接口,以实现用户与计算机之间的交互。用户使用命令接口来与计算机进行交互时,首先必须在终端上键入正确的操作命令,由终端处理程序接收用户键入的命令,并将它显示在终端屏幕上。当一条命令输入完成后,操作系统的命令解释程序对用户输入的命令进行分析,然后执行相应的命令处理程序。操作系统的命令接口应包括一组命令、终端处理程序和命令解释程序。其中,命令解释程序的主要作用是在屏幕上给出提示符,请求用户输入命令,然后读入命令,并识别命令,再转到相应的命令处理程序去执行,并将处理结果送屏幕上显示。若用户键入的命令有错,命令解释程序未能识别,或在执行过程中出现错误,则显示出错信息。§2.2操作系统的界面大家比较熟悉的命令解释程序有MS-DOS/windows98的command.com,windows2000的cmd.exe以及UNIX/Linux的shell程序。下面列举出部分常用DOS内部命令(具体的应用的含义和应用,可用helpcommand来查找)磁盘操作类:chkdsk磁盘检查;fdisk磁盘分区;format磁盘格式化文件和目录类:md建立目录;cd设置或显示当前目录;rd删除目录;copy复制文件;rename文件更名;del删除文件;type显示文件内容其他类:ver显示版本号;time显示系统时间;date显示系统日期§2.2操作系统的界面2.图形用户接口(GUI)为了方便用户地使用,Apple公司在20世纪80年代中期推出了图形用户接口(GUI)。使用GUI来操作计算机,用户不需要记忆复杂的操作命令,只需要用鼠标点击代表相应命令的图形(称为图标)来运行程序,因而极大地方便了用户。在提供GUI的操作系统中,当一个程序执行时,一个新的显示区域(称为窗口)被创建来完成程序的执行。用户可以通过鼠标来改变窗口的大小、形状、位置等。另外,用户也可以通过鼠标来控制自己所采取的操作。§2.2操作系统的界面3.程序接口——系统调用(1)系统调用的概念在计算机系统中运行的程序可以分为两种类型:一是管理程序,另一类是用户程序。这两类程序的任务是不同的,前者是管理和控制者,它负责管理和分配系统资源,为用户提供服务。而用户程序运行时,所需资源必须向操作系统提出请求,自己不能随意取用资源。显然,这两类程序执行时应用不同的权限,为此根据对资源和机器指令的使用权限,将处理机执行时的工作状态分为核心态(管态,kernelmode)和用户态(目态,usermode)。§2.2操作系统的界面核心态是指操作系统管理程序执行时机器所处的状态。在此状态下允许处理机使用全部资源和全部指令,实现对资源的分配与管理并为用户使用外部设备提供服务。用户态是指用户程序执行时机器所处的状态。在此状态下只允许使用有限的指令,不能直接取用资源与改变机器状态,并且只允许用户程序访问自己的存储区域。由于用户程序执行在用户态下,因此,为了使用操作系统的服务和功能,必须借助操作系统提供的程序接口。程序接口由一组系统调用(SystemCall))组成,用户程序使用“系统调用”就可获得操作系统的底层服务,使用或访问系统的各种软硬件资源。系统调用实质上是应用程序请求操作系统内核完成某一功能的一种特殊的过程调用。§2.2操作系统的界面(2)系统调用的实现从某种角度上看,进行系统调用就象进行一个特殊的过程调用。但是,系统调用的实现与一般的过程调用的实现相比,两者间有很大的差异。系统调用可以进入操作系统内核,而过程调用则不能进入操作系统的内核。对于系统调用,控制是由原来的用户态转换为系统态,这是借助于中断和陷入机制来完成的,在该机制中包括中断和陷入硬件机构和中断和陷入处理程序两部分。§2.2操作系统的界面SystemCall用户程序A0SUB0SUB1SUBiSUBnA1AiAn……系统调用处理子程序取系统功能号找入口地址表相应入口地址结束处理恢复现场A0A1…Ai…An保护CPU现场陷入指令系统调用陷入机构入口地址表§2.2操作系统的界面系统调用的格式随计算机的不同而不同,但对任何不同的计算机都有以下共同的特点:(1)每个系统调用对应一个功能号,要调用操作系统的某一特定例程,必须在指令中给出对应的功能号。(2)按功能号实现调用的过程大体相同,即都是通过对功能号的解释分别转入对应例行子程序。§2.2操作系统的界面Linux系统调用Linux系统调用由两部分组成:核心函数是实现系统调用功能的(内核)代码。接口函数是提供给应用程序的API,以库函数形式存在Linux的lib.a中。Linux系统调用入口程序entry.sENTRY(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.longSYMBOL-NAME(sys-open)5.longSYMBOL-NAME(sys-close)6..longSYMBOL-NAME(sys-vfork)190重点概念和内容提示操作系统接口的分类和特点系统调用的概念和执行过程ThankYouVeryMuch!
本文标题:操作系统原理第二章
链接地址:https://www.777doc.com/doc-3968935 .html