版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统讲义西安财经学院1操作系统概述系统启动及用户界面进程管理与调度进程同步第一章第二章第三章第四章文件管理第七章Contents课程内容安排
西安财经学院设备管理第六章存储器管理第五章2第二章系统启动及用户界面操作系统的接口1操作系统的引导和启动2Linux操作系统的安装3西安财经学院Linux操作系统的启动
4Linux操作系统的接口53PC机系统主板构架操作系统在哪里?4操作系统的引导和启动CMOS(ComplementaryMetalOxideSemiconductor),互补金属氧化物半导体,是组成CMOS数字集成电路的半导体工艺。在计算机中是用来保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。BIOS(BasicInput-OutputSystem)基本输入输出系统,其内容集成在微机主板上的一个ROM芯片上,主要保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机上电自检程序和系统启动自举程序等。MBR(MainBootRecord)主引导记录存放在磁盘的第一个扇区里,系统启动时,它自动装入内存并由它负责装入操作系统的其他部分。5BIOS功能主要包括以下方面:一是BIOS中断服务程序,包括操作系统对软盘、硬盘、光驱、键盘、显示器等外围设备的管理,操作人员可以通过访问INT5、INT13等中断点而直接调用BIOS中断服务程序。二是BIOS系统设置程序,在BIOSROM芯片中装有“系统设置程序”,主要用来设置CMOSRAM中的各项参数。这个设置CMOS参数的过程,习惯上也称为“BIOS设置”。三是POST上电自检程序,接通电源后,由POST(PowerOnSelfTest,上电自检)程序来对内部各个设备进行检查。通常完整的POST自检将包括对CPU、内存、ROM、主板、CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘进行测试,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。第四为BIOS系统启动自举程序,系统在完成POST自检后,BIOS就首先按照系统CMOS设置中保存的启动顺序搜寻软硬盘驱动器及CD—ROM、网络服务器等有效启动驱动器,读入操作系统引导记录,然后将系统控制权交给引导记录,并由引导记录来完成系统的顺利启动。
672.1用户工作环境1用户环境用户工作环境的形成设计合理的操作命令,它允许用户处理由操作系统支持的各种目标。系统要提供各种硬件、软件资源,并提供关于操作系统的实用说明。将操作系统装入计算机,并对系统参数和控制结构进行初始化,使计算机系统能够为用户服务。82系统生成和系统启动系统生成系统生成就是操作系统的生成过程。是指为了满足物理设备的约束和需要的系统功能,通过组装一批模块来产生一个清晰的、使用方便的操作系统的过程。系统生成包括:根据硬件部件确定系统构造的参数,编辑系统模块的参数,并且连接系统模块成为一个可执行程序。
系统初启系统初启又叫系统引导。其任务是把操作系统的必要部分装入主存并使系统进行初始化工作,最终处于命令接收状态。
2.1用户工作环境92.1用户工作环境系统引导分为三个阶段:初始引导:把系统核心装入内存中的指定位置,并在指定地址启动;核心初始化:执行系统核心的初启子程序,初始化系统核心数据;系统初始化:为用户使用系统作准备。如建立文件系统、日历时钟等。系统引导的方式独立引导(bootup)辅助下装(download)102.1用户工作环境独立引导方式(滚雪球方式)OS核心文件存储在系统本身的存储设备中由系统自己将OS核心程序读入内存并运行最后建立一个操作环境适用于微机和大多数系统。辅助下装方式OS主要文件不放在系统本身的存储设备中,而是在系统启动后,执行下装操作,从另外的计算机系统中将操作系统常驻部分传送到该计算机中,使它形成一个操作环境。优点:可节省较大存储空间,下装的OS并非全部代码,只是常驻或专用部分,当这部分OS出现问题和故障时,可再请求下装。适于多计算机系统、由主控机与前端机构成的系统及分布式系统。112.1用户工作环境系统引导过程(1)初始引导(也叫自举)初始引导的任务就是把核心送入主存并启动它运行。系统核心是存放在辅存上的。需要通过引导程序来进行装入。系统加电,硬件电子线路便会自动地把ROM中这段初始引导程序(辅存固定位置)读入内存,并将CPU控制权交给它;执行初始引导程序,对系统硬件和配置进行自检,保证系统没有硬件错误;从硬盘中读入操作系统引导程序,并将控制权交给该程序模块。引导程序执行,将操作系统核心文件读入内存,并将控制交给核心的初始化程序。122.1用户工作环境(2)核心初始化初始化系统数据结构及参数:建立进程有关的数据结构
获得自由存储空间的容量,建立存储管理的数据结构
建立系统设备和文件系统的数据结构
初始化时钟
核心页表寄存器与核心数据初始化建立0号进程。建立1号进程。实现系统的初始化。(3)系统初始化完善OS的操作环境,装载命令处理程序(或图形用户界面),并初始化;在多用户系统中,为每个终端建立命令解释进程,使系统处于命令接收状态。由1号进程执行初始化程序,为控制台终端建造一个进程,执行命令解释程序,等待接受用户的命令。1314WINDOWS系统的引导打开机器电源ROM中引导程序运行,装入系统盘中的主引导程序。主引导块程序执行,读入操作系统核心程序。系统初始化的工作:包括系统资源初始状态的设置、系统主要数据结构初始化、引导图形用户界面程序。图形用户界面运行,生成用户的图形用户界面,系统初启工作完成。15UNIX系统初启UNIX操作系统执行代码装入内存存储空间及其管理机构初始化与设备有关的初始化与文件系统有关的初始化创建0#和1#进程1#进程创建各终端进程终端进程运行shell各用户终端上出现login16Linux系统引导启动时要加载核心,让核心来驱动整个硬件。
整个启动过程:
1.
加载BIOS的硬件信息,并获得第一个启动设备的代号(CMOS中设定的启动项)。
2.
读取第一个启动设备的MBR的引导加载程序(lilo、grub、spfdisk)
3.
加载核心操作系统的核心信息,核心开始解压缩,并且尝试驱动所有硬件设备。
4.
核心执行init程序并获取运行信息。
5.
Init执行/etc/rc.d/rc.sysinit文件
6.
启动核心的外挂模块(/etc/modprobe.conf)
7.
Init
执行各个批处理文件(根据运行级别)。
8.
Init
执行/etc/rc.d/rc.local文件
9.
执行/bin/login程序,等待用户登录。
10.登录之后开始以shell控制主机。172.1.3运行一个用户程序的过程作业计算机系统按指定步骤对初始数据进行处理并得到计算结果的加工工作。
作业有其对应的程序和数据。将作业装入主存,指的就是将该作业的程序和数据装入主存。
作业步加工工作中的一个步骤称为作业步。2.1用户工作环境作业:是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部过程称为一个作业。批处理系统中作业是抢占内存的基本单位。作业比程序的概念更广:它由程序、数据、作业说明书组成。作业流(JobStream):一批作业在系统控制下,依次输入到后援存储器中等待运行,就形成了一个作业流。18作业步:通常一个作业又可分为若干个顺序处理的步骤。作业步就是在一个作业处理的过程中计算机所做的相对独立的工作.作业步之间有一定的关联的,其关联关系:一个作业中的各作业步必须是顺序执行的;前一个作业步的输出是下一个作业步的输入;一个作业步能否正确执行,依赖于前一个作业步是否成功地完成。1920作业处理步骤编辑:建立一个新文件,或对已有的文件中的错误进行修改。编译:将源程序翻译成目标代码。连接:主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的、完整的主存映像文件。运行:将主存映像文件调入主存,并启动运行,最后得出计算结果。作业步是相互关联、顺序地执行2.1用户工作环境概念功能设计结构设计建档详细设计编辑输入输出执行链接编译调试需求分析分析一般编程过程编辑输入人工完成计算机完成作业的定义21典型的作业步:编译连接装配运行目标程序段目标程序源程序输入数据子程序库函数动态库函数计算结果该作业的作业步1该作业的作业步2该作业的作业步32223作业步之间的关系
user.cuser.objuser.exe
编辑—
编译—
连接—
运行
第一个第二个第三个第四个作业步作业步作业步作业步每个作业步运行的结果产生下一个作业步所需要的文件;一个作业步能否正确地执行,依赖于前一个作业步是否成功地完成。2.1用户工作环境242.1用户工作环境编译过程中,要为连接装配工作准备,形成内部符号表和外部调用表。内部符号表:本模块可以被其他程序调用的入口点;外部符号表:本模块要调用的外部的程序模块名。连接的主要工作是确定本模块和其他所需要的目标模块之间的调用关系,并进行地址连接,形成主存映像文件。当该程序要进入主存运行时,由装载程序负责加载。25静态连接和动态链接
静态连接:将所需的外部调用函数链接到目标文件中形成为一个完整的主存映像文件。静态连接的缺点若多个应用程序都调用了同一个库函数,那么,这些应用程序的目标文件中都包含了这个外部函数对应的代码,造成主存极大的浪费。动态连接:不需要将外部函数代码从库中提取出来并连接到目标文件中,而是在应用程序中需要调用外部函数的地方作记录,并说明要使用的外部函数名和引用入口号,形成函数调用链表。所需支持——DLL(动态连接库)当Windows的装载程序将应用程序和DLL装入内存后,装载程序会遍历形成函数调用链表,将DLL中函数在内存的入口(段:偏移)填入链表中的每个结点。2.1用户工作环境262.2操作系统的用户界面1用户界面的概念操作系统的用户界面(或称接口)是操作系统提供给用户与计算机打交道的外部机制。用户能够借助这种机制和系统提供的手段来控制用户所在的系统。操作系统的用户界面分两个方面:操作界面:又称操作命令,用户通过这个操作界面来组织自己的工作流程和控制程序的运行。程序界面:又称系统功能调用,任何一个用户程序在其运行过程中,可以使用操作系统提供的功能调用来请求操作系统的服务(申请主存、使用外设、创建进程或线程)。272.2操作系统的用户界面操作系统提供的用户界面操作命令类型及与操作系统类型的关系:键盘命令——分时操作系统、个人计算机操作系统图形化用户界面——分时操作系统、个人计算机操作系统作业控制语言——批处理操作系统操作系统系统功能调用
操作命令:
作业控制语言键盘命令图形界面282.2操作系统的用户界面键盘命令系统为联机用户(交互作用的用户)提供键盘命令。什么是键盘命令是操作系统为联机用户提供的一种操作命令,用户通过这一组命令直接控制和干预程序的运行。键盘命令的功能分时操作系统—用于注册、通信、注销的各类命令。
个人计算机操作系统—用于通信的各类命令。292.2操作系统的用户界面图形用户界面什么是图形化的用户界面图形化用户界面是良好的用户交互界面,它将菜单驱动、图符驱动、面向对象技术等集成在一起,形成一个图文并茂的视窗操作环境。菜单驱动方式是面向屏幕的交互方式,它将键盘命令以屏幕方式来体现。命令和系统能完成的操作,用菜单分类分窗口在屏幕上列出。用户像点菜一样选择命令或某种操作,以控制系统去完成指定的工作。菜单系统的类型有多种,如下拉式菜单,上推式菜单和随机弹出式菜单。302.2操作系统的用户界面图符驱动方式是一种面向屏幕的图形菜单选择方式。图符(Icon)也称图标,是一个小小的图符符号。它代表操作系统中的命令、系统服务、操作功能、各种资源。图形化的命令驱动方式:当需要启动系统命令、请求系统资源或操作功能时,可以选择代表它的图符,并借助标记输入设备(鼠标器),采用鼠标器的点击和拖拽功能,完成命令和操作选择及执行。图形化用户界面是良好的用户交互界面,它将菜单驱动、图符驱动、面向对象技术等集成在一起,形成一个图文并茂的视窗操作环境。Windows系统就是这种图形化用户界面的代表。312.2操作系统的用户界面图形化的用户界面的特点所有程序以统一的窗口形式出现提供统一的菜单格式系统资源、系统命令、操作功能以图标表示统一的操作方法322.2操作系统的用户界面作业控制语言在脱机方式下系统提供作业控制语言(JCL)。什么是作业控制语言是一种命令语言,包括了对作业处理的命令和资源请求命令。批处理系统中作业的组织作业申请:作业名、需用CPU时间,最迟完成时间、资源请求(主存、外部)等。操作说明书:编译命令、连接命令、运行命令等。程序与数据332.3系统调用什么是系统调用系统调用是用户在程序一级请求操作系统服务的一种手段,它不是一条简单的硬指令,而是带有一定功能号的“访管指令”。它的功能并非由硬件直接提供,而是由操作系统中的一段程序完成的,即由软件方法实现的。应用程序
i
系统调用中央处理机
存储器应用程序外部设备系统调用是操作系统提供给编程人员的唯一接口,它通知内核为调用程序做各种操作,并在内核与调用程序之间交换数据。对用户屏蔽了操作系统的具体动作。系统调用的分类
1.设备管理:这类系统调用被用来请求和释放设备,以及启动设备操作等。
2.文件管理:这类系统调用包括创建、删除文件,读、写文件操作以及移动文件指针等。
3.进程控制:当多个用户程序在系统内执行时引出了一个新的概念,称为进程。
4.进程通信:进程间传递消息或信号的系统调用。
5.存储管理:内存块的申请、释放,获取作业占用内存块的首址、大小等。
6.线程管理:包括线程的创建、调度、执行、撤销等34系统调用示意图3536操作系统如何为用户程序提供服务操作系统提供实现各种功能的例行子程序
┇显示一个字符串打印一个字符串
应用程序j
┇┇printf();
┇2.3系统调用37如何调用操作系统服务功能?采用统一的方式访管指令访管中断访管指令(自愿进管指令)
svcnsvc表示机器访管指令的操作码记忆符n为地址码(功能号)访管中断当处理机执行到访管指令时就发生中断,该中断称为访管中断,它表示正在运行的程序对操作系统的某种需求。
2.3系统功能调用38操作系统基本服务是通过系统调用来处理的,实现这些服务是通过系统服务请求机构提供的。系统服务请求(SSR)机构本质上是一个自陷门,它的执行要发生访管中断。系统功能调用的格式和功能号的解释因机器的不同而异,但任何不同的机器都有以下共同的特点:每个系统调用对应一个功能号,要调用操作系统的某一特定例程,必须在访管时给出对应的功能号。按功能号实现调用的过程大体相同,都是由软件通过对功能号的解释分别转入对应的例行子程序。2.3系统功能调用系统调用的处理过程系统调用的处理过程39参数传递过程问题怎样实现用户程序和系统程序间的参数传递?常用的实现方法:由陷入指令自带参数:陷入指令的长度有限的,且还要携带系统调用功能号,只能自带有限的参数通过有关通用寄存器来传递参数:这些寄存器应是系统程序和用户程序都能访问,由于寄存器长度较短,从而无法传递较多的参数大多在内存中开辟专用堆栈区来传递参数40库函数和系统调用的区别库函数可被修改、替换、增加,系统调用则不能;系统调用是在管态模式下执行,在内核地址空间中运行;库函数是在目态模式下执行,在用户地址空间运行。从时间片计时来看,系统调用的运行属于内核时间,而库函数调用运行属于用户时间。从执行过程来看,系统功能调用需要切换到进程上下文的内核态,是通过中断机构来实现的,结束后再切换回去,安全性好;库函数则只是过程调用而已。412.4Linux用户界面2.4.1Linux系统安装方式Linux模拟机—Bochs机Linux虚拟机---在Windows系统下用虚拟机安装。常用的虚拟机软件有vmware和virtualpc。Linux单系统---将整个机器安装成Linux系统。Linux与Windows双系统---在磁盘的不同分区分别安装Linux系统和Windows系统。先安装Windows系统,事先为Linux系统留出充足的磁盘空间(不含在Windows分区中)42硬盘的分区1.一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。2.分出主分区后,其余的部分可以分成扩展分区,一般是剩下的空间全部分成扩展分区,也可以不全分,剩余的空间就浪费了。3.扩展分区不能直接使用,必须分成若干逻辑分区。所有的逻辑分区都是扩展分区的一部分。硬盘的容量=主分区的容量+扩展分区的容量;扩展分区的容量=各个逻辑分区的容量之和。4.由主分区和逻辑分区构成的逻辑磁盘称为驱动器(Drive)或卷(Volume)。5.激活的主分区会成为“引导分区”(或称为“启动分区”),引导分区会被操作系统和主板认定为第一个逻辑磁盘。43GRUBGRUB是一个多重操作系统启动管理器。用来引导不同系统,如windows,linuxGRUB对LINUX系统的启动:Title行:定义名字Root行:表示/boot所在的分区Kernel行:启动内核文件Intrid行:运行初始化模块44LINUX的系统启动45Linux引导线路图ROMBIOS→bootsect.S→setup.S→head.S→main.c与Linux的启动部分密切相关的代码:三个汇编语言程序bootsect.S、setup.S和head.Sinit目录下的main.c启动引导时内核在内存中的位置和移动后的位置情况见Linux内核剖析图2.146电源开启后,由机器的ROMBIOS先上电自检,然后负责将启动盘第一扇区(bootsector)中的内容主引导记录(MBR)从磁盘装入地址为0x7C00的内存空间,然后跳转至该位置执行。由(GRUB或LILO)负责启动系统。4748Linux启动装载程序按照OS标签来选择安装对应的OS内核。LINUX系统内核首先执行init程序,它是所有运行进程的父进程。init启动的第一批进程按照/etc/rc.d/rc.sysinit脚本来运行。LINUX有7个不同的运行级别0~60:halt,1:单用户,2:多用户,3:多用户并启动NFS服务4:保留,5:运行xdm(Xwindow)以图形界面方式登录6:reboot49不同的运行级别启动不同的脚本50实模式与保护模式开机后INTELCPU在实模式(realmode)下工作,只能使用低端64KB内存空间。在引导扇区中的内核模块是压缩的内核模块zImage。其源代码为arch/i386/boot/bootsect.S是实模式下运行的汇编程序。将自己从0000:7C00移至9000:0000,并跳至该处继续执行。在Linux中0x9000代码段为INITSEG。51系统预备知识---as86汇编语言汇编命令的基本格式:as[选项]–o目标文件名源文件名选项用来控制编译过程,以产生指定格式和设置的目标文件。伪操作符语句:以.开始汇编器编译生成的目标文件通常包括三个段:正文段(.text)、数据段(.data)和未初始化数据段(.bss).global伪操作符用于定义随后的标号是外部的或全局的。entry是保留关键字,用于迫使连接器ld86在生成的可执行文件中包括进其后指定的标号start。jmpigoBOOTSEG是段间跳转语句,跳转后CS:IP=0x07c0:0005。52IntelCPU的寄存器结构段寄存器、专用寄存器、系统地址寄存器、控制寄存器、通用寄存器531、段寄存器可见的6个段选择寄存器:CS,DS,SS,ES,FS,GS高13位是索引值d2指明段描述符所在的描述符表d1d0是特权标志另外6个64位的段描述符高速缓冲寄存器(编程不可见,在保护模式下起作用)32位基址,20位界限,段说明符信息542、专用寄存器EIP/IP可由跳转指令修改EFLAGS/FLAGS包括运算状态标志:CF,PF,AF,SF,OF控制状态标志:DF,TF,IF,IOPL553、系统地址寄存器GDTR、LDTR、IDTR、TR4、控制寄存器4个32位寄存器:CR0~CR3565、通用寄存器4个数据寄存器:AX/EAX/RAX:累加器BX/EBX/RBX:基址索引,如,数组CX/ECX/RCX:计数器DX/EDX/RDX:数据或一般用途4个指针及变址寄存器:SI/ESI/RSI:用于字符串操作的源索引
DI/EDI/RDI:用于字符串操作的目标索引SP/ESP/RSP:堆栈地址的栈顶指针BP/EBP/RBP:堆栈地址的栈底指针57地址空间内存地址空间(显示内存占用0x0B80~0x0BC0)外设地址空间,需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF(陕) 019-2019 混凝土氯离子电通量测定仪校准规范
- 《让安全伴你我同行》课件
- 增强市场竞争力的行动计划
- 研究员工激励机制效果计划
- 专业发展与教研活动的关系计划
- 精细化管理在仓库中的体现计划
- 消防安全责任落实机制培训
- 小班情景剧表演项目的设计计划
- 家用美容、保健电器具相关项目投资计划书范本
- 《销售管理培训》课件
- 第二十五章 锐角的三角比(单元重点综合测试)
- 七年级上册道德与法治2023-2024期末试题附答案系列
- 网络与信息安全管理员(高级技师)资格理论考试题及答案
- 公共关系服务合同
- 期中(试题)-2024-2025学年人教PEP版(2024)英语三年级上册
- 城市经济学课件:可持续发展理论与循环经济
- 广东省肇庆市2023-2024学年高二上学期期末教学质量检测试题 政治试题 附答案
- 2024年新高考全国Ⅰ卷语文高考真题(答案版)
- 2024年度战略顾问聘用协议范本版
- 街道社区城管工作目标考核细则
- 国开电大专科《Dreamweaver网页设计》2023-2024期末试题及答案(试卷号:2445)
评论
0/150
提交评论