西南交通大学操作系统期末复习总结

合集下载

操作系统期末总结

操作系统期末总结

操作系统期末总结操作系统(Operating System)是计算机系统中最基本的系统软件之一,为计算机提供了任务调度、资源管理、文件管理、通信、消息传递等功能,是计算机硬件和应用软件之间的桥梁。

经过一个学期的学习与研究,我对操作系统的原理与实现有了更深刻的理解。

在本次期末总结中,我将对所学的内容进行总结,并对操作系统的未来发展进行展望。

一、理论部分操作系统的理论部分主要包括进程管理、内存管理、文件系统、设备管理和虚拟化等内容。

这些理论知识是操作系统学习的基础,也是理解操作系统运行原理的重要部分。

1. 进程管理:进程是操作系统中最基本的执行单位,也是资源分配的基本单位。

它控制了程序的执行顺序和资源的利用情况。

进程管理包括进程的创建、调度、同步与通信等内容。

在学习中,我了解了进程的状态转换、进程调度算法以及进程间通信的方式等。

2. 内存管理:内存管理是指操作系统如何分配和回收内存资源。

在学习中,我了解了内存分区、内存分页、内存分段以及虚拟内存管理等内容。

这些知识对于操作系统的性能优化和内存资源的充分利用非常重要。

3. 文件系统:文件系统是操作系统中用来管理和存储文件的一种机制。

在学习中,我了解了文件的逻辑结构和物理结构、文件的操作方式以及文件系统的组织结构等内容。

文件系统的设计和实现是提高文件存储效率和数据可靠性的关键。

4. 设备管理:设备管理是操作系统对计算机硬件进行管理和控制的一部分。

在学习中,我了解了设备的分类和接口标准、设备的分配和调度以及设备驱动程序的开发等内容。

设备管理是保证硬件设备正常工作和提高系统性能的关键。

5. 虚拟化:虚拟化是一种将物理资源抽象为逻辑资源的技术,可以提高资源的利用率和系统的可扩展性。

在学习中,我了解了虚拟化的原理和实现方式,以及虚拟机监控器的功能和作用。

虚拟化技术在云计算和大数据领域有着广泛的应用。

二、实践部分操作系统的实践部分主要包括实验和项目设计。

通过实践,我将操作系统的理论知识应用到具体的实际问题中,并加深对操作系统原理的理解。

操作系统期末复习资料(知识点汇总)

操作系统期末复习资料(知识点汇总)

分为时分复用技术、空分复用技术。
如果虚拟的实现是通过时分复用方式,即对物理设备进行分时使用,设N是谋设备所对
应的逻辑设备数,则每台虚拟设备的平均速度必然小于等于1/N。类似,空分复用实现
虚拟,空间利用也小于等于1/N 。
4. 异步性:
进程的推进速度不可预知。
9. 操作系统五大功能
if(isfull(q)==1){//如果队列为满,生产者无法插入数据
}else{
enqueue(q,data));
}
}
void customer(queue &q){
if(isempty(q)==1){//如果队列为空,消费者取不到东西
}else{
进程挂起与激活:
进程挂起:首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪;对于
活动阻塞状态,改为静止阻塞。
进程激活:将进程从外存调入内存,检查其现行状态,若是静止就绪,便改为活动就绪;若
是静止阻塞,改为活动阻塞。
6. 进程同步
1. 由于资源共享和进程合作,进程间存在两种形式的制约关系:
2. C/S模式
由客户机、服务器、网络系统构成。完成一次交互可分为,客户发送请求信息,服务器
接受信息,服务器反馈消息,客户机接受消息。此种模式实现了数据的分布存储,便于
集中管理,可扩展性。但可靠性差。
3. 面向对象程序设计:
4. 微内核操作系统结构:
子操作wait(), signal() 来访问,即P,V操作。原子操作在执行时不可中断。
4. 进程控制信息:
进程控制块的组织方式:
1. 链式方式:把同一状态的PCB,用链接字链接成一个队列,形成就绪队列。

操作系统复习总结

操作系统复习总结

操作系统复习总结第⼀章操作系统的引论1.操作系统(operating system,简称OS),是控制和管理计算机系统的各种硬件和软件资源、有效地组织多道程序运⾏的系统软件(或程序集合),是⽤户与计算机之间的惟⼀接⼝。

2.多道程序:在主存中同时存放多个作业,使之同时处于运⾏状态的程序设计⽅法叫多道程序设计。

3.按时间⽚把CPU分配给各联机⽤户使⽤,这样每个⽤户都能在很短时间内得到主机的服务,彼此感觉不到别的⽤户存在,好像整个系统被它独占,这样的系统叫分时系统。

4.实时系统:对于特定的事件系统能在很短时间内作出响应并完成事件处理⼯作5.并发指两个或多个活动在同⼀给定时间间隔中进⾏6.并⾏是指两个或多个活动在同⼀时刻发⽣7.操作系统的三种基本类型:批处理系统、分时系统、实时系统批处理系统:吞吐量⼤,资源利⽤率⾼,作业流程⾃动化;作业的周转时间长,⽆交互能⼒。

分时系统:同时性、独⽴性、强交互性;时间响应不太及时(和实时系统⽐),资源利⽤率⽐批处理系统差。

实时系统是⼀个专⽤系统,强调的是实时性和安全可靠性,但仅有简单的交互能⼒。

8.操作系统的基本特征:并⾏、并发、共享、异步9.操作系统的主要功能:处理器管理,存储管理,设备管理,⽂件管理,⽹络与通信管理,⽤户接⼝。

10.例题1. ( A )不是多道程序系统。

A、单⽤户单任务B、多道批处理系统C、单⽤户多任务D、多⽤户分时系统2.下⾯关于并发性的叙述正确的是(C )。

A、并发性是指若⼲事件在同⼀时刻发⽣B、并发性是指若⼲事件在不同时刻发⽣C、并发性是指若⼲事件在同⼀时间间隔发⽣D、并发性是指若⼲事件在不同时间间隔发⽣3. 现代操作系统具有并发性和共享性,是由(D )的引⼊⽽导致的。

A、单道程序B、磁盘C、对象D、多道程序4. ⼀般来说,为了实现多道程序设计,计算机最需要(A )。

A、更⼤的内存B、更多的外设C、更快的CPUD、更先进的终端5. ⽤户和操作系统之间的接⼝可分为程序接⼝、命令接⼝和图形界⾯接⼝三类。

操作系统期末考试总结

操作系统期末考试总结

第一章操作系统概论第一章主要内容各节基本概念,操作系统的发展过程,操作系统的基本特征。

操作系统的目标1.有效性2、方便性3、可扩充性4.开放性分时系统实现中的关键问题(1)及时接收(2) 及时处理主要特征1.多路性2.独占性3.及时性4.交互性实时操作系统按其用途的不同可分为两种类型:实时控制系统和实时信息处理系统3.实时系统与分时系统特征的比较(1) 多路性。

实时信息处理系统也按分时原则为多个终端用户服务。

实时控制系统的多路性则主要表现在系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。

而分时系统中的多路性则与用户情况有关,时多时少。

(2) 独立性。

实时信息处理系统中的每个终端用户在向实时系统提出服务请求时,是彼此独立地操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。

(3) 及时性。

实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微秒。

(4) 交互性。

实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。

它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。

(5) 可靠性。

分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。

因为任何差错都可能带来巨大的经济损失,甚至是无法预料的灾难性后果,所以在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。

操作系统的特征(1)共享性从资源使用的角度来讲,所谓共享性是指操作系统程序与多个用户程序共同使用系统中的各种资源。

互斥共享方式同时访问方式(2)虚拟性指把一个物理上的实体,变为若干个逻辑上的对应物。

前者是实际存在的;而后者是虚的,只是用户的一种感觉。

◆时分复用:虚拟处理机◆空分复用:虚拟磁盘、虚拟I/O设备、虚拟存储器(3)并发性:是指两个或多个事件在同一时间间隔内发生。

操作系统期末复习知识点

操作系统期末复习知识点

操作系统期末复习知识点操作系统是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。

以下是操作系统期末复习的一些重要知识点。

一、操作系统的概念和功能操作系统是控制和管理计算机系统内各种硬件和软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,在计算机与用户之间起到接口的作用。

其主要功能包括:1、进程管理:负责进程的创建、调度、终止等操作,确保进程能够合理地共享 CPU 资源。

2、内存管理:管理计算机内存的分配、回收和保护,提高内存的利用率。

3、文件管理:实现对文件的存储、检索、更新和共享等操作。

4、设备管理:对输入输出设备进行有效的分配、控制和调度。

5、提供用户接口:包括命令接口和程序接口,方便用户与计算机进行交互。

二、进程管理进程是程序的一次执行过程,是操作系统进行资源分配和调度的基本单位。

进程的状态包括:就绪、运行、阻塞。

进程状态的转换是由操作系统根据资源的可用性和进程的需求进行控制的。

进程调度算法有先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)、优先级调度等。

每种算法都有其特点和适用场景。

例如,先来先服务算法按照进程到达的先后顺序进行调度,简单公平,但可能导致短作业等待时间过长;短作业优先算法优先调度执行时间短的作业,能有效减少平均等待时间,但可能对长作业不利。

进程同步与互斥是多进程环境下的重要问题。

互斥是指多个进程不能同时访问同一临界资源,同步则是指多个进程在执行顺序上存在依赖关系。

实现进程同步与互斥的方法有信号量机制、管程等。

三、内存管理内存管理的主要任务是为程序分配内存空间,并保证内存的高效利用和保护。

内存分配方式有连续分配和离散分配。

连续分配包括单一连续分配和分区分配,离散分配则有分页存储管理、分段存储管理和段页式存储管理。

分页存储管理将内存空间划分为固定大小的页面,分段存储管理则按照程序的逻辑结构将其划分为不同的段,段页式存储管理结合了分页和分段的优点。

操作系统第四版期末考点总结

操作系统第四版期末考点总结

第一章:操作系统的目标,作用,推动力,基本类型,基本特征(4个及关系),主要功能。

操作系统的目标:1、方便性:操作系统使计算机更易于使用。

2、有效性:操作系统使资源利用率更高,使系统的吞吐量更大。

3、可扩充性。

4、开放性。

操作系统的作用:1、操作系统是用户与计算机硬件系统之间的接口。

2、操作系统使计算机资源的管理者。

3、操作系统实现了对计算机资源的抽象。

操作系统的基本特征:1、并发性。

2、共享性。

3、虚拟性。

4、异步性。

操作系统的功能:1、处理机管理(进程控制、进程同步、进程通信、进程调度)。

2、存储器管理(内存分配、内存保护、地址映射、内存扩充)。

3、设备管理(缓冲管理、设备分配、设备处理)。

4、文件管理(文件存储空间的管理、目录管理、文件的读写管理和保护)。

5、友好的用户接口(用户接口、程序接口)。

课后题:10 11 1510.试从交互性、及时性以及可靠性方面将分时系统与实时系统进行比较答:交互性:分时系统是一种通用系统,主要用于运行终端用户程序,因而他具有较强的交互能力;而实时系统虽然也有交互能力,但这里人与系统的教育仅限于访问系统中欧冠某些特定的专用服务程序,其交互能力不及前者及时性:实时信息系统对及时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的,一边为毫秒级可靠性:分时系统虽然也要求系统可靠,但相比之下,实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高。

11.OS有哪几大特征?最基本的特征是什么?并发性、共享性、虚拟性和异步性四个基本特征。

最基本的特征是并发性。

15.处理机管理有哪些主要功能?其主要任务是什么?处理机管理的主要功能时:进程管理、进程同步、进程通信和处理及调度。

进程管理:为作业创建进程,撤销已结束的进程,控制进程在运行过程中的状态转换。

进程同步:为多个进程(含线程)的运行进行协调。

大学操作系统期末复习题总结

大学操作系统期末复习题总结

第一章操作系统引论OS的作用P2推动操作系统发展的主要动力P4操作系统的四大基本特征P14处理机管理功能能、存储器管理功能、设备管理功能和文件管理功能分别包括那些方面。

P1814.处理机管理有哪些主要功能?它们的主要仸务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。

进程同步:为多个进程(含线程)的运行进行协调。

通信:用来实现在相互合作的进程之间的信息交换。

处理机调度:(1)作业调度。

从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。

(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设臵运行现场,使进程投入执行。

15.内存管理有哪些主要功能?他们的主要仸务是什么?答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。

内存分配:为每道程序分配内存。

内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。

地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。

内存扩充:用于实现请求调用功能,置换功能等。

16.设备管理有哪些主要功能?其主要仸务是什么?答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。

主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设备的利用率;提高I/O速度;以及方便用户使用I/O设备.17.文件管理有哪些主要功能?其主要仸务是什么?答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。

文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。

现代操作系统的三种用户接口P23答:联机用户接口;脱机用户接口;图形用户接口第二章进程管理1、程序并发执行时的特征。

P37答:间断性,失去封闭性,不可再现性2、进程的状态转换及状态转换发生的原因。

计算机操作系统期末复习总结

计算机操作系统期末复习总结

第一章操作系统引论1.操作系统定义:操作系统是配置在计算机硬件上的第一层软件,是对硬件功能的首次扩充。

2.操作系统的基本类型:批处理系统,分时系统,实时系统3.脱机技术:主机与IO设备脱离的技术4.多道程序技术:在内存中同时有多个程序并存的技术5.操作系统的基本特性:并发性,共享性,异步性,虚拟技术6.操作系统的五大功能:处理机管理功能,存储器管理功能,设备管理功能,文件管理功能,用户交流界面(人机接口)第二章进程管理1.进程的概念:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

2.状态转换图3.进程控制块PCB,在进程的整个生命周期中,系统总是通过PCB对进程进行控制,因此PCB是进程存在的唯一标志。

4.原语是由若干条指令组成的,用于完成一定功能的一个过程。

它与一般过程的区别在于:它们是“原子操作”。

所谓原子操作,是指一个操作中的所有动作要么全做,要么全不做。

5.进程同步的主要任务是对多个相关进程在执行持续上进行协调,已使并发执行的诸进程之间能有效的共享资源和互相合作,从而使程序执行具有可再现性。

6.临界资源、临界区、信号的概念、同步、互斥问题的解决方法临界资源:Critical Resouce 诸进程间应采取互斥方式,实现对这种资源的共享,如打印机,磁带机等。

临界区:人们把在每个进程中访问临界资源的那段代码称为临界区(critical section)信号:同步合作直接互斥竞争间接7.进程通信的三种类型:共享存储器系统、消息传递系统、管道通信系统8.线程的概念和两种类型:线程:被称为轻型进程或进程元,通常一个进程拥有若干个线程。

两种类型:用户级线程和内核支持线程第三章处理机调度与死锁1.调度三个层次:高级调度,中级调度,低级调度2.调度算法:FCFS先来先服务SPF段作业优先调度RR时间片轮转法3.死锁的概念,在多个进程在运行过程中因为争夺资源而造成的一种僵局,当进程处于这种僵局状态时,若无外力作用,他们都将无法再向前推进。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1org 07c00h ;这是告诉编译器将这段程序加载到内存偏移地址0x7c00处mov ax,csmov ds,axmov es,axcall DispStrjmp $DispStr:mov ax,BootMessagemov bp,axmov cx,16mov ax,01301hmov bx,000chmov dl,0int 10hretBootMessage: db "hello,os world!"times 510-($-$$) db 0dw 0xaa55这是第一章的程序,从中可以看出起始位置是07c00h,程序的结束标志是0xaa55。

$表示当前行被汇编后的地址。

$$表示一个节的开始处被汇编后的地址。

那么$-$$表示本行距离程序开始处的相对距离。

1.对于程序的说明实际上以上程序只是一个引导扇区(Boot Sector),不是完整的OS,当计算机电源被打开时,它会加电自检(POST),然后寻找启动盘,如果是从软盘启动,计算机就会检查软盘的0面0磁道1扇区,如果发现它以0xaa55结束,并且包含了少于512字节的执行码,那么BIOS 认为它是一个引导扇区。

一旦发现了引导扇区,就将这512字节放入内存地址0000:7c00处,然后跳转并且移交控制器。

2.制作软盘过程本身这段程序是boot.asm,是汇编程序,然后使用工具nasm将其转换为boot.bin,然后使用软盘绝对扇区读写工具将这个文件写到一张空白软盘的第一个扇区。

(.bin文件的说明:*.bin是Foxbase定义的一种特殊的可执行文件,它同DOS的.com文件类似,区别在于.com文件是从100H开始运行的,而.bin从0开始,.bin的调用参数保存在DS:BX中。

如果在Foxbase中,你可以使用Call命令调用。

如果你在VFP中,将无法直接调用,只能使用Debug反汇编,分析其功能,然后重新编写.)3.方括号[]的使用在NASM中,任何不被方括号[]括起来的标签或变量名都被认为是地址,访问标签中的内容必须使用[]。

3.1认识保护模式1.对于这一节的程序的理解数据区:先是定义了一些描述符(LABEL_GDT,LABEL_DESC_CODE32,LABEL_DESC_VIDEO),然后定义了GdtPtr,它是一个6字节的数据结构,前两字节表示GDT的界限(即描述符的界限),后4字节表示GDT的基地址(GdtPtr就是用来描述GDT的,会用一个寄存器GDTR来保存它的值)。

然后定义两个选择子,分别指向已定义的描述符。

代码区:初始化32位代码段描述符,为加载GDTR作准备,加载GDTR: lgdt [GdtPtr],然后是关中断:cli,(保护模式下中断处理的机制是不同的,不关中断会出错)打开地址线A20,然后将cr0的PE位置为1(0:实模式,1:保护模式),准备切换到保护模式,跳转到保护模式中jmp dword SelectorCode32:02.Descriptor是一个宏,它是一个8字节的数据结构。

三个描述符组成了一个结构数组。

3.[BITS 16]说明这是一个16位的代码段,而[BITS 32]是32位的代码段。

程序中的知识点要搞清楚的有:GDT是一个索引,指向一个数据结构的表项。

GDT作用:提供段式存储机制。

程序对GDT做了什么?jmp SelectorCode32:0?GDT1.在保护模式下,CPU有着巨大的寻址能力(保护模式下为4G,实模式下为1M),并为强大的32位操作系统提供了更好的硬件保障。

2.在保护模式下,段值仅仅变成了一个索引,这个索引指向一个数据结构的一个表项,表项中定义了段的起始地址、界限、属性等内容。

这个数据结构就叫GDT,表项就叫描述符。

3.描述符分为代码段和数据段描述符,还可以分为系统段描述符和门描述符。

4.选择子TI位0:GDT,1:LDT当TI和RPL都为0时,选择子就变为了偏移。

5."段:偏移"经过段机制转化为“线性地址”,而不是物理地址。

JMP1.对于cr0的设置是实模式和保护模式的关键2.jmp dword SelectorCode32:0的作用是将描述符DESC_CODE32对应的段的首地址。

3.为什么那儿有一个dword呢?(没有dword的话编译出来是16位的代码,而目标地址是32位的。

)进入保护模式的主要步骤:1.准备GDT2.用lgdt加载gdtr3.打开A204.设置cr0的PE位5.跳转,进入保护模式描述符的属性1.P位——存在位。

P=1,表示在段内存中存在;P=0则在内存中不存在。

2.DPL位——描述符特权级。

有0,1,2,3级,数字越小级别越大3.S位——指明描述符是数据段/代码段(s=1),还是系统段/门描述符(s=0)3.2保护模式进阶在这一节中,首先在上一节程序的基础上改写:(1)跳入保护模式之后再次跳回实模式(2)读写大地址内存对于读大地址内容,它是先读,然后再写,然后再读,以此来判断是否可以读写大地址内存。

(注意:程序中调用子程序时要保存edi的值,要对其进行压栈,所以要用到堆栈,那么在程序中也要有堆栈的描述符和堆栈的选择子。

)从保护模式跳转到实模式时要复杂一些(从实模式到保护模式只要一个跳转就可以了),我们不能直接从32位的代码段中返回实模式,只能从16位代码段中返回,因为无法从32为代码段返回时cs高速缓存寄存器中的属性符合实模式的要求。

所以增加一个Normal描述符,在返回实模式前把对应的选择子加载到ds、ss和es.跳回实模式之后要做的事情:用Normal描述符的选择子加载到ds、ss和es,值cr0的PE=0,关闭A20地址线,开中断STI。

LDT:局部描述符表1.LDT与GDT差不多,一个是全局的,一个是局部的。

在代码中也要有一个LDT的描述符和选择子,它的初始化有所不同,有两步:(1)初始化LDT在GDT中的描述符,(2)初始化LDT中的描述符。

其中,第二步与GDT类似,多了一个在GDT中定义LDT。

2.LDT与GDT的区别就在于选择子中TI位(0为GDT,1为LDT)3.在使用LDT时需要先用lldt指令加载ldtr(lgdt加载gdtr)4.使用LDT的目的:多任务处理。

5.保护模式“保护”的含义(1)描述符中的段基址和段界限定义了一个段的范围,对超越段界限之外的地址的访问是被禁止的,这是对段的一种保护。

(2)有点复杂的段属性作为对一个段各个方面的定义规定和限制了段的行为和性质以上两点是静态的(3)在涉及特权级的每一步中,处理器都会对CPL,DPL和RPL等内容进行比较,这种比较是动态的。

特权级概述1.常规保护模式错误2.将Level0叫做内核,Level1、Level2叫做服务,Level3叫做应用程序。

3.CPL、DPL、RPLCPL 是当前执行的程序或任务的特权级。

通常情况下,CPL等于代码所在段的特权级,当程序转移到不同特权级的代码段时,处理器将改变CPL。

当处理器访问一个与CPL特权级不同的一致代码段时,CPL不会被改变。

DPL 表示段或者门的特权级,下面是各种类型的段或者门的情况数据段:高级->低级,相同级别之间非一致代码段:相同级别之间调用门:与数据段一致一致代码段和通过调用门访问的非一致代码段:低级->高级,相同级别之间TSS(Task-State Stack:任务状态栈):与数据段一致RPL 通过选择子的第0位和第1位表现出来的。

操作系统过程往往用RPL来避免低特权级应用程序访问高特权级段内的数据。

4.不同特权级代码之间的转移程序从一个代码转移到另一个代码之前,目标代码的选择子将会被加载到cs中。

通常使用jmp和call指令来实现转移,转移分为两大类:(1)直接转移(2)间接转移特权级转移1.如果目标是非一致代码段,要求CPL必须等于目标代码段的DPL,同时要求RPL小于等于DPL。

如果目标是一致代码段,要求CPL大于或者等于目标段的DPL,RPL此时不做检查。

这种直接转移是非常有限的,为了实现不同特权级之间的转移,可以使用门描述符或者TSS。

2.门是一种描述符,它由一个选择子和一个偏移所指定的线性地址。

门的种类:调用门,中断门,陷阱门,任务门。

作用:实现不同特权级之间的转换。

在原程序的基础上做的一些工作:定义门描述符及其选择子,初始化描述符,使用call 指令来实现跳转到已经定义好的通过门描述符能够跳转到的目标段。

门实际上是一个入口地址,只不过增加了若干的属性而已。

3.门转移总结:通过调用门和call指令,可以实现从低特权级到高特权级的转移,无论目标代码是一致的还是非一致的。

我们的目标是从低到高,在从高到低,那么下面的任务就是如何从高到低了。

4.长的和短的jmp和call的区别:对jmp而言,短跳转对应段内,长跳转对应段间;call 要复杂一些,因为call指令会影响堆栈。

5. 在使用call指令时,由于某些原因堆栈发生了切换,也就是说call指令执行前后的堆栈已经不是同一个。

Intel提供了一种机制,将堆栈A的诸多内容赋值到堆栈B中。

事实上,由于每一个任务最多可能在4个特权级间转移,所以,每个任务实际上需要4个堆栈,此时要用到一种数据结构,即TSS(Task-State Stack)。

6.综合:使用调用门的过程实际上分为两个部分,一部分是从低特权级到高特权级,通过调用门和call指令来实现;另一部分则是从高特权级到低特权级,通过ret指令来实现。

7.用程序实现从ring0到ring3在这里我们需要在原程序的基础上增加ring3的代码段描述符和堆栈段描述符,并添加响应的选择子,做好工作后,执行一下程序:push SelectorStack3push TopOfStack3push SelectorCodeRing3push 0retf为什么会进入ring3呢?原来程序是执行在ring0的,当使用retf指令后,堆栈将被自动切换到ring3的堆栈段,执行ring3的代码,也就完成了从高特权级项低特权级的转换。

8.从高特权级项低特权级的转换和从低特权级项高特权级的转换都需要用到TSS。

3.页式存储1.页的概念页是一块内存,在80386中,大小固定为4K。

在Pentium中,大小可以是2MB或4MB,并且可以访问多余4GB的内存。

2.逻辑地址、线性地址、物理地址在未打开分页机制的时候,逻辑地址经过分段机制直接转换成物理地址。

打开分页机制后,逻辑地址经过分段机制先是转换成线性地址,线性地址再经过分页机制转换成物理地址。

3.分页的目的实际上使用分段机制已经提供了很好的保护机制,分页的目的在于实现虚拟存储器。

用代码启动分页机制代码PageDirBase equ 200000h ; 页目录开始地址: 2MPageTblBase equ 201000h ; 页表开始地址: 2M+4K。

相关文档
最新文档