操作系统期末总结-北大
操作系统 期末考试复习总结
Ch11. 操作系统的定义(填空题、选择题、简答题)操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
操作系统是控制和管理计算机硬件和软件资源,合理的组织计算机的工作流程,以及方便用户的程序集合。
2. 从资源管理的角度看,操作系统的主要功能。
(填空题)处理机管理:用于分配和控制处理机存储器管理:主要负责内存的分配和回收i/o设备管理:负责i/o设备的分配和操纵文件管理:负责文件的存取,共享和保护3. 理解操作系统的主要特性:并发性、共享性和异步性。
(选择题)并发性:是指两个或两个以上的事件或活动在同一时间间隔内发生。
共享性:指系统中的资源可供内存中多个并发执行的进程共同使用,而不是被一个进程所独占,相应的,把这种资源共同使用称为资源共享,或资源复用。
异步性:在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“走走停停”的方式运行。
虚拟技术:指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
时分复用技术,空分复用技术。
4. 理解操作系统的基本类型:批处理操作系统、分时操作系统和实时操作系统。
(选择题)单道批处理系统:自动性,顺序性,单道性。
多道批处理系统:可以进一步提高资源的利用率和系统吞吐量。
优点:资源利用率高、系统吞吐量大;缺点:平均周转时间长、无交互能力。
好处:1.提高CPU的利用率2.提高内存和i/o设备利用率3.增加系统吞吐量。
分时操作系统:能很好的将一台计算机提供给多个用户同时使用,提高计算机的利用率。
它被经常应用于查询系统,满足许多查询用户的需要。
实时操作系统:指系统能及时响应外部事件的请求,在规定事件内完成对事件的处理,并控制所有实时任务协调一致的运行。
5. 用户与操作系统之间的接口:系统调用和操作命令。
(填空题)用户接口:它是提供给用户使用的接口,用户可通过该接口取得操作系统的服务。
分为:联机用户接口,脱机用户接口,图形用户接口。
操作系统总结
操作系统总结引言:操作系统是计算机系统的核心软件,负责管理计算机硬件资源,提供程序运行环境和用户接口。
在计算机领域中,操作系统扮演着至关重要的角色。
本文旨在总结和探讨操作系统的特点、功能以及发展趋势。
一、操作系统的特点操作系统具有以下几个特点:1. 并发性:操作系统能够同时管理多个程序的执行,提高计算机系统的利用率。
2. 共享性:操作系统可以合理调度和分配计算机资源,使多个用户能够共享这些资源。
3. 随机性:操作系统的执行逻辑是非确定性的,与外部事件和用户操作等相关。
4. 虚拟性:操作系统通过虚拟技术,将实际物理资源抽象成逻辑资源,提供给用户使用。
5. 持久性:操作系统能够将用户的数据和程序存储在持久存储设备中,确保数据不会丢失。
二、操作系统的功能操作系统具有下列主要功能:1. 资源管理:操作系统负责管理和分配计算机的各种硬件资源,包括CPU、内存、外部设备等。
2. 进程管理:操作系统能够创建、销毁和调度进程,确保程序的有序执行。
3. 内存管理:操作系统通过内存管理机制,将内存划分为不同的区域,实现程序的加载和运行。
4. 文件系统:操作系统负责管理和组织计算机上的文件,提供文件的存储和访问接口。
5. 设备管理:操作系统通过设备管理机制,控制和调度计算机上的硬件设备,保证其正常工作。
6. 用户接口:操作系统提供用户接口,使用户能够方便地操作计算机系统。
三、操作系统的发展趋势随着计算机技术的快速发展,操作系统也在不断演进和改进。
以下是操作系统发展的趋势:1. 分布式系统:随着计算机网络的普及,分布式系统成为了一种重要的发展趋势。
分布式操作系统能够连接多台计算机,实现资源共享和协同工作。
2. 实时系统:实时操作系统逐渐得到广泛应用,主要用于需要对时间要求较高的应用领域,如航空航天、工业控制等。
3. 虚拟化技术:虚拟化技术能够将一台计算机划分为多个虚拟机,每个虚拟机运行着一个独立的操作系统。
这种技术能够提高硬件的利用率,降低成本。
操作系统期末复习考点总结
第一章(1)操作系统(Operating System):操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
(2)操作系统最基本的特征:共享性、并发性(3)操作系统的特性:○1并发性:两个或多个事件在同一事件间隔发生;○2共享性:系统中的资源可供内存中多个并发进程共同使用,也称为资源共享或资源复用;○3虚拟技术:把一个物理实体变成若干个逻辑上的对应物;○4异步性:进程是以人们不可预知的速度,停停走走地向前推进的。
(4)OS的主要任务:为多道程序的运行提供良好的环境,保证多道程序能有条不紊地、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用。
(5)OS的功能:(1)处理机管理:对处理机进行分配,并对其运行进行有效的控制和管理;(6)存储器管理:内存分配、内存保护、地址映射(变换)、内存扩充;(3)设备管理:(4)文件管理:文件的存储空间管理、目录管理、文件的读/写管理和保护;(5)操作系统和用户之间的接口:命令接口、程序接口(系统调用组成)、图形接口(6)面向网络的服务功能(7)○1多道批处理系统(吞吐量、周转时间):多道性、宏观上并发、微观上串行、无序性、调度性;○2分时系统(响应时间):多路性、交互性、独占性、及时性;○3实时系统(实时性和可靠性):(8)多道程序设计技术是操作系统形成的标志(9)分时系统:响应时间= 用户数*时间片,时间片=切换时间+处理时间(10)实时系统:系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
(11)并发:两个或多个事件在同一时间间隔发生;并行:两个或多个事件在同一时刻发生。
(12)虚拟:通过某种技术把一个物理实体变为若干个逻辑上的对应物。
(13)微内核OS结构:能实现OS核心功能的小型内核,并非一个完整的OS,与OS的服务进程(如文件服务器、作业服务器等)共同构成OS。
操作系统原理期末总结
操作系统原理期末总结一、引言操作系统是计算机系统中最核心的软件之一。
它作为计算机硬件和其他应用软件之间的接口,负责管理和调度计算机的资源,并提供友好的用户界面。
操作系统不仅承担着资源管理和调度的任务,而且还要保证系统的安全性和稳定性。
因此,学习操作系统原理对于理解计算机系统的运行原理和提高编程能力具有重要意义。
在这学期的学习中,我了解了操作系统的基本概念、原理和实现,并通过实践了解了一些操作系统的设计和实现方法。
在这篇总结中,我将对学习的内容进行回顾和总结。
二、操作系统基本概念1. 操作系统的定义操作系统是管理和控制计算机硬件与软件资源,并为用户提供良好的用户界面的软件。
2. 操作系统的功能(1) 资源管理:操作系统负责管理计算机的硬件和软件资源,包括内存管理、文件系统管理、进程管理、设备管理等。
(2) 提供用户界面:操作系统提供了命令行界面和图形用户界面,方便用户与计算机进行交互。
(3) 进程管理:操作系统负责管理计算机上的进程,包括进程的创建、终止、调度和通信等。
(4) 内存管理:操作系统负责分配和回收计算机的内存资源,使进程能够正确地访问内存。
(5) 文件系统管理:操作系统负责管理计算机上的文件,包括文件的创建、读写、删除和共享等。
(6) 设备管理:操作系统负责管理计算机的设备资源,包括设备的分配、调度和控制等。
三、操作系统原理1. 进程管理(1) 进程的定义:进程是一个正在执行的程序的实例,它包含了程序的代码、数据和执行环境。
(2) 进程的状态:进程在执行过程中会经历多个状态,包括创建、就绪、运行、阻塞和终止等。
(3) 进程调度:操作系统通过进程调度算法来决定哪个进程可以获得CPU的执行权。
(4) 进程通信:进程间通信是指进程之间进行数据交换和同步的机制,包括管道、信号量、消息队列、共享内存和套接字等。
2. 内存管理(1) 内存分配方式:操作系统可以使用静态分配和动态分配两种方式来管理内存。
操作系统小结
操作系统小结操作系统(Operating System, 简称OS)是硬件基础上的第一层软件,是其他软件和硬件的接口。
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合,这些程序模块能以尽量有效合理地方式管理计算机系统的硬件和软件资源、合理地组织计算机工作流程,控制持续的执行并向用户提供各种服务功能,使得用户能够灵活,方便,有效地使用计算机,使整个计算机系统能够高效地运行。
操作系统的目标是:1)方便性——为用户提供界面;将用户编写的高级语言程序编译成硬件能识别的0,1机器语言;提供各种应用程序驱动。
2)有效性——管理系统效率即CPU的使用情况;管理系统资源利用率如内存、I/O设备是否忙碌,设备是否异常,统一的磁盘管理等。
3)可扩充性——IT技术迅速发展,OS应采用模块化结构,增加可复用性和可修改下。
4)开放性——使用不同厂家的计算机,设备能有效地协同工作,实现应用程序的可移植性和互操作性。
POSIX标准的诞生有效解决了这一问题。
在回答了什么是OS以及OS的目标是什么这两个问题后,需要研究操作系统的主要作用有哪些,可能从不同的角度来看,对操作系统作用的定义也不尽相同。
从资源管理的观点来看,操作系统是系统资源管理者,它用于控制和管理计算机系统的硬件和软件资源;从软件分层、扩充机器的观点来看,操作系统是扩充裸机的第一层系统软件,它与硬件结合形成功能更强大使用更方便的虚拟机器;从服务用户的角度看,操作系统是用户与裸机之间的接口,系统提供的接口有两类,一类是命令接口,它提供一组键盘命令,供用户组织和控制自己的作业运行。
(如DOS输入指令-识别后-内部OS模块-操作完成);另一类是程序级接口,它提供一组系统调用,即OS中某个模块功能,供用户程序和其它程序调用。
(WINDOWS系统调用)。
操作系统在经过几十年的快速发展过程中,已由最初的无操作系统到第一代初级单道批处理系统,系统自动成批处理作业这一过程减少了人工操作时间和作业转换时间,提高了CPU利用率。
操作系统期末总结
基本概念操作系统:是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
单道批处理:由于系统对作业的处理都是成批地进行的,且在内存中始终只保持一道作业,故称此系统为单道批处理系统。
分时系统:分时系统与多道批处理系统之间有着截然不同的性能差别,它能很好地将一台计算机提供给多个用户同时使用,提高计算机的利用率。
实时系统:是指系统能及时(或即时)响应外部事件请求,在规定事件内完成对该事件的处理,并控制所有实时任务协调一致的运行进程:是一段程序关于一个集合的动态存储进程简答题1、操作系统的五大功能是什么?①处理机管理功能处理机管理的主要功能是创建和撤销进程(线程),对诸进程(线程)的运行进行协调,实现进程(线程)之间的信息交换,以及按照一定的算法把处理机分配给进程(线程)。
②存储器管理功能存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。
为此,存储器管理应具有内存分配、内存保护、地址映射和内存扩充等功能。
③设备管理功能设备管理用于管理计算机系统中所有的外围设备,而设备管理的主要任务是:完成用户进程提出的I/O请求:为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。
④文件管理功能文件管理的主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。
为此,文件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理,以及文件的共享与保护等功能。
⑤操作系统与用户之间的接口为了方便用户使用操作系统,OS又向用户提供了“用户与操作系统的接口”。
该接口通常分为两大类:⑴用户接口。
它是提供给用户使用的接口,用户可通过该接口取得操作系统的服务;⑵程序接口。
它是提供给程序员在编程时使用的接口,是用户程序取得操作系统服务的唯一途径。
2、进程的五种状态及其之间的转换1)就绪状态进程已分配到除CPU以外的所有必要资源,只要再获得CPU,便可立即执行2)执行状态进程已获得CPU,其程序正在执行3)阻塞状态正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种状态称为阻塞状态4)创建状态此时的进程已拥有了自己的PCB,但进程自身还未进入主存,即创建工作尚未完成,进程还不能被调度运行,其所处的状态就是创建状态5)终止状态当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态3、分段VS分页分页和分段系统有许多相似之处。
操作系统的学习总结
操作系统的学习总结操作系统的学习总结操作系统的学习总结一经过一天半的战斗,终于把操作系统概论这本书给拿下了。
对于曾经专业课学过一些电脑硬件知识的我来说,这本书更加吸引我,以前一些听过的名词或高大上的词语在这本书上被详细介绍了,看的非常有收获。
下面来总结下自己的收获:首先第一章引论,在这里首先介绍了计算机系统,包括了软件和硬件两部分。
接下来就是第一章的重点:操作系统。
如下图:当前流行的操作系统有windows、unix、linux等。
微软的windows系统经历了一个从简单到复杂,从低级到高级的过程;从ms-dos---windows3---windows95---windows98---windowsnt---windows2000,再到现在win7、8甚至win10,微软始终在进步。
unix是一个通用的交互式分时操作系统,有at&t公司下属的bell实验室开发,在诞生后,源代码就一直公开,用户可以参与到unix的升级中。
unix的特点:1.短小精悍;2.可装卸的多层次文件系统;3.可移植性好;4.网络通信功能强。
linux是网络时代的产品,继承于unix,并做了很多改进。
第一章总领了全书,后面的二三四五六章都是讲的计算机的各种管理,总结如下图:在这里我把每章中的重点用红色的颜色标记出来了,这样在精读的时候就可以有重点的向外扩散,抓住考点,征服考试。
第一遍阅读画的有点粗糙,在精读的时候再大大的丰富下。
操作系统学习总结2这里的设备指的是i/o设备,即冯若依曼所提出的计算机五大部件的输入/输出部件,在五大部件中占其二,可想其重要行了,现在,开始我的总结之旅了i/o系统可以分为:微机i/o设备和主机i/o设备。
这两个之间的区别和联系,我还是不太清楚。
感觉微机i/o比主机i/o要简单。
对i/o系统的管理有以下几种管理方式:程序控制方式:这种方式好比学51单片机编汇时反复去检测一个端口是否有要求的信号来一样,简单,但对cpu利用率太太太太太低了。
《操作系统》期末考试复习基本知识点
《操作系统》基本知识点第1章1.操作系统的概念*操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源,合理组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。
2.操作系统的历史*操作系统的发展分为四个阶段:1946年~50年代末:第一代,电子管时代,无操作系统;50年代末~60年代中期:第二代,晶体管时代,批处理系统;60年中期~70年代中期:第三代,集成电路时代,多道程序设计;70年代末至今:第四代,大规模和超大规模时代,分时系统;3.操作系统的基本类型*操作系统的基本类型有批处理操作系统、分时操作系统、实时操作系统、通用操作系统、个人计算机操作系统、网络操作系统、分布式操作系统、嵌入式系统。
其中批处理操作系统的特征是:⑴用户脱机使用计算机,⑵成批处理,⑶多道程序运行。
其优点是:系统资源共享,系统资源使用效率高,作业吞吐量大。
其缺点是:无交互性,作业周转时间长,用户使用不方便。
分时操作系统的特点是:⑴交互怍,⑵多用户的同时性,⑶独立性。
实时操作系统的主要特点是:⑴及时性,⑵高可靠性。
通用操作系统的主要特点是:具有批处理系统、分时操作系统、实时操作系统和多重处理中两种以上的功能。
个人计算机操作系统的主要特点是:联机的交互性、单用户、多媒体化。
网络操作系统的主要特点是:信息交换、资源共享、可互操作、协作处理、作业迁移。
分时操作系统的主要特点是:信息交换、资源共享、可互操作、协作处理、作业迁移、系统的透明性等。
4.操作系统的功能*操作系统的功能包括处理机管理、存储管理、设备管理、信息管理(文件系统管理)、提供用户接口等。
5.研究操作系统的观点*研究操作系统的观点有多种:第一种是资源管理的观点,第二种观点是用户界面观点,第三种观点是进程管理的观点。
其中资源管理的观点把操作系统看着对计算机系统软、硬资源的管理,从而提供了处理机管理、存储管理、设备管理、信息管理(文件系统管理)等功能。
操作系统期末总结
第一章:1 操作系统:是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。
操作系统与高级程序设计语言的编译器无关。
操作系统方便用户管理计算机的资源。
2 操作系统功能(5个):作业管理文件管理存储管理设备管理进程管理(cpu调度内存管理中断处理)1、用户的角度:操作系统是用户和计算机硬件之间的接口。
2、系统的角度:操作系统是计算机系统资源的管理者。
第一个操作系统:单道批处理系统批处理系统:失去交互性(主要缺点)内存中只允许存放一个作业。
在作业执行时用户不能直接干预。
五类操作系统:批处理分时实时网络分布式引入多道的原因:为提高CPU的利用率减少CPU的等待时间多道批处理系统:在内存中可同时存在若干道作业,可通过一定的作业调度算法来使用CPU,多道程序轮流占用CPU,交替执行。
多道:有多个程序同时进入主存并行运行。
DOS没有多道程序设计特点。
引入多道:提高计算机系统和CPU的并行性。
多道特点:资源利用率高系统吞吐量大缺点:平均运转周期长分时系统:多路性、交互性、独占性、及时性。
UNIX时间片:分时操作系统讲CPU的时间划分成若干个片段。
多路性:同时有多个用户交互使用一台计算机,宏观上是多个人使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。
交互性:用户根据响应结果进一步提出新请求。
独占性:用户感觉像整个系统为他所独占。
及时性:系统对用户提出的请求及时响应。
分时与实时区别:实时:进程独占CPU 快速响应分时:CPU被几个进程共同占用现代操作系统特点:程序的并发执行资源共享操作系统程序结构主要特点:层次化模块并发性是指宏观上在一段时间内有多道程序在同时运行。
但在单处理机系统中,每一时刻仅能执行一道程序,因此,微观上,这些程序是在交替执行的。
并行性:两个或两个以上的事件或活动在同一时刻发生。
并发:指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行并发并行区别:并行性指的是两个或两个以上的事件或活动在同一时刻发生。
操作系统个人总结doc
操作系统个人总结篇一:操作系统学习总结操作系统学习总结商务1201 彭嵩琪1225XX一、第一章绪论1. 操作系统与计算机系统的关系操作系统在计算机系统的位置在裸机之上、所有软件最内层的位置,它沟通了硬件和用户软件,是一种特殊的软件,对计算机的其它部分由控制管理的作用,就像一位管家一样,并且为用户提供优质的服务。
同时,硬件软件和用户也对它有不同的要求。
2. 操作系统定义与特征操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境。
操作系统具有三个特征:1.并发:计算机内会有多个同时性活动,操作系统要能合理处理它们。
○2.共享:○多个计算任务对系统资源都有请求,操作系统要能让它们共同享用系统资源。
3.不确定性:○操作系统能处理大量的、随机的事件序列,使各用户的计算任务正确地完成。
3. 操作系统的资源管理特征1. 处理机管理○操作系统可以进行进程调度,可以解决将CPU先分给哪个用户程序,它占用多长时间,下一个又该轮到哪个程序运行等问题。
操作系统能给出进程调度算法,进行处理机的分派。
2..存储器管理○操作系统进行存储分配,确定各应用程序在主存中的位置及所占区域的大小并且提供基址、界限寄存器等存储保护方法,使各应用程序相互隔离,这是它的存储保护功能。
操作系统还可以提供虚拟存储技术,扩大逻辑主存。
3. 设备管理○为了达到方便用户、提高设备利用率的目的,操作系统有设备无关性,即用户向系统申请和使用的设备与实际操作的设备无关。
操作系统为各应用程序和运行实体分配各种设备,有三种基本技术:独享、共享及虚拟技术。
操作系统对设备的传输控制有启动设备、中断处理、结束处理,体现了OS的控制功能。
4. 信息管理(文件系统) ○计算机中的信息量非常庞大,操作系统为用户提供一种简便的、统一的存取和管理信息的方法,并要解决信息的共享、数据的存取控制和保密等问题。
计算机操作系统学习总结
计算机操作系统学习总结一填空:1.操作系统为用户提供三种类型的使用接口,它们是金令方式和系统调用和图形用户界面。
2.进程在执行过程中,因时间片用完将进入—就绪状态。
3.在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。
4.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。
5.程序经编译或汇编以后形成目标程序,其指令的顺序都是以零作为参考地址,这些地址称为逻辑地址。
6.文件的逻辑结构分流式文件和记录式文件二种。
7.进程由程序、数据和进程控制块(PCB)组成。
8.对信号量S的操作只能通过原语操作进行,对应每一个信号量设置了一个等待队列。
9.操作系统是运行在计算机裸机系统上的最基本的系统软件。
10.虚拟设备是指采用SPOOLING技术,将某个独享设备改进为供多个用户使用的的共享设备。
11.在分时系统中,时间片给定,用户数越多,响应时间越长。
12.段式管理中,以段为单位_,每段分配一个连续区。
由于各段长度不同,所以这些存储区的大小不一,而且同一进程的各段之间不要求连续。
13.逻辑设备表(LUT )的主要功能是实现设备独立性。
14在采用请求分页式存储管理的系统中,地址变换过程可能会因为缺页和越界等原因而产生中断。
16.CPU的调度分为高级、中级和低级三种,其中低级调度是指进程调度17.文件的物理结构分为顺序文件、索引文件和索引顺序文件。
18.所谓设备控制器,是一块能控制一台或多台外围设备与CPU并行工作的硬件。
19.利用文件目录实现文件共享,文件系统必须设置一个基本文件目录。
20分页管理储管理方式能使存储碎片尽可能少,而且使内存利用率较高,管理开销小。
20.计算机操作系统是方便用户、管理和控制计算机软硬件资源的系统软件。
21.操作系统目前有五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。
操作系统期末复习重点知识点总结
填空绪论:批处理系统、分时系统、实时系统的概念与特点,原语与原子操作。
1.批处理操作(1)单道批处理系统概念单道批处理系统是指系统通过作业控制语言将作业组织成批,使其能自动连续运行,但是,在内存中任何时候只有一道作业的系统。
单道批处理系统特征顺序性单道性自动性(2)多道批处理系统概念系统对作业的处理是成批进行的,并且在主存中能同时保留多道作业的系统。
多道批处理系统的主要目标是提高系统吞吐率和各种资源的利用率。
多道批处理系统特征无序性多道性调度性2.分时系统(1)概念分时操作系统是指在一台主机上连接了多个联机终端,并允许多个用户通过终端以交互的方式使用主计算机,共享主机资源的系统。
(2)分时系统的主要目标是实现人与系统的交互性。
分时系统设计的目标是保证用户响应时间的及时性。
(3)分时系统的特征多路性独立性及时性:满足用户对响应时间的要求交互性3.实时操作系统(1)概念实时操作系统是指系统能够及时响应外部(随机)事件的请求,并能在规定的时间内完成对该事件的处理,控制系统中所有的实时任务协调一致地工作。
(2)实时操作系统的特征多路性独立性及时性:满足实时任务截止时间的要求交互性可靠性4.原语:操作系统内核或微核提供核外调用的过程或函数称为原语,是由若干条指令构成,用于完成特定功能的一段程序。
原语在执行过程不允许被中断。
5.原子操作:执行中不能被其它进程(线程)打断的操作就叫原子操作。
当该次操作不能完成的时候,必须回到操作之前的状态,原子操作不可拆分。
进程管理:什么是进程?进程与程序的区别与联系?进程的特征有哪些?进程之间的关系有哪些?什么是信号量?信号量的物理含义?1.进程定义可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的基本单位。
2.进程特征(1)动态性(2)并发性(3)独立性(4)异步性(5)结构特征:3.进程与程序的关系(1)程序是一组指令的集合,是静态的概念;进程是程序的执行,是动态的概念。
《操作系统》期末总结
操系功能:1处理及管理功能:a进程控制(为作业创建进程、撤消已结束的进程,以及控制进程在运行过程中的状态转换)b进程同步(为多个进程(含线程)的运行进行协调进程互斥方式&进程同步方式.设置进程同步机制)c进程通信(在多道程序环境下,为了加速应用程序的运行,应在系统中建立多个进程,并且再为一个进程建立若干个线程,由这些进程(线程)相互合作去完成一个共同的任务。
而在这些进程(线程)之间,又往往需要交换信息..当进程(线程)处于同一计算机系统时,采用直接通信方式,由源进程利用发送命令直接将消息(message)挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息)d调度(在后备队列上等待的每个作业,通常都要经过调度才能执行作业调度和进程调度两步)2存储器管理功能:a内存分配(静态和动态.结构和功能:内存分配数据结构,内存分配功能,内存回收功能)b内存保护(确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰..设置两个界限寄存器)c地址映射(将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。
该功能应在硬件的支持下完成)d内存扩充(任务并非是去扩大物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量。
或者是让更多的用户程序能并发运行. 功能:请求调入功能,换功能) 3设备管理功能:完成用户进程提出的I/O请求;为用户进程分配其所需的I/O 设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备.a 缓冲管理(在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量.单缓冲机制,双缓冲机制,公用缓冲池机制)b设备分配(根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备. 设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器的标识符和状态)c设备处理(用于实现CPU和设备控制器之间的通信,设备驱动程序还应能及时响应由控制器发来的中断请求,并进行处理)4文件管理功能:a文件存储空间的管理(为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度. 以盘块为基本分配单位)b目录管理(实现文件的按名存取、文件共享、提供快速的目录查询手段)c文件的读/写管理和保护(从外存中读取数据;或将数据写入外存,文件保护)5用户接口:a命令接口(联机用户接口&脱机用户接口)b程序接口(为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径. 系统调用)c图形接口(采用了图形化的操作界面,用非常容易识别的各种图标(icon)来将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。
操作系统期末考试总结
1.简述创建进程的大致过程。
申请空白的PCB分配运行资源(物理资源和逻辑资源)初始化PCB中的数据项,包括标志信息、状态信息、控制信息等;将新进程的PCB插入系统的就绪队列。
2.执行挂起操作的主要原因,挂起后转至哪些状态。
操作系统自身需要降低系统负荷需要用户自身需要父进程的需要转至就绪,静止就绪3.程序并发执行与顺序执行时相比产生哪些新特征?并发执行:间断性、失去封闭性、不可再现性顺序执行:顺序行,封闭性,可再现性4.进程控制块PCB的作用是什么?它主要包含哪些内容?使参与并发的程序均可独立运行,用于描述进程基本情况及活动过程,进而控制并管理程序。
作为独立性运行基本单位的标志;能实现间断性运行方式;提供进程管理所需信息;提供进程调度所需信息;实现与其它进程的同步。
有以下内容:进程标识符,处理机状态,进程调度信息,进程控制信息。
5.进程三态图和五态图。
6.三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。
P1每次用put()将一个正整数送入缓冲区的一个单元中,P2每次用getodd()从缓冲区中取出一个奇数,P3每次用geteven()从缓冲区中取出一个偶数。
试用信号量机制实现这三个进程的互斥与同步活动,用伪代码实现。
7.针对如下所示的优先图,若可以使用信号量机构,该优先图将如何转换成正确的程序?Var a,b,c,d,e,f,g,h:Semaphores;ParbeginBegin S1;V(a);V(b);V(c);EndBegin P(a);S2;V(d);V(e);EndBegin P(b);S3;V(f);EndBegin P(c);P(d);S4;V(g);EndBegin P(e);P(f);S5;V(h);EndBegin P(g);P(h);S6;EndPerendP1(){S1;signal(a);signal(b);signal(c);}P2(){wait(a);S2;signal(d);signal(e);}P3(){wait(b);S3;signal(f);}P4(){wait(c);wait(d);S4;signal(g);}P5(){wait(e);wait(f);S5;signal(h);}P6(){wait(g);wait(h);S6;}main(){semaphore a,b,c,d,e,f,g,h;a.value=b.value=c.value=d.value=e.value=f.value=g.value=h.value=0;cobeginP1();P2();P3();P4();P5();P6();coend}8.试从调度性、并发性、拥有资源及系统开销方面对进程和线程进行比较。
操作系统知识点总结(五篇范文)
操作系统知识点总结(五篇范文)第一篇:操作系统知识点总结操作系统的各个阶段:1、人工操作阶段。
2、单道批处理系统评价a、解决了作业间的自动转接问题,减少了机器时间的浪费。
b、不管作业大小,只要它一旦占用处理机开始执行,则它必须一直占据处理机,直到运行完毕。
c、资源利用率低d、对短作业不公平e、交互性差3、多批道处理系统优缺点:优点:资源利用率高:CPU和内存利用率较高;作业吞吐量大:单位时间内完成的工作总量大;缺点:用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;作业平均周转时间长:短作业的周转时间显著增长;4、分时系统5、实时系统操作系统的基本特性1、并发并行性(parallel)是指两个或多个事件在同一时间发生。
并发性(Concurrence)是指两个或多个事件在同一时间间隔内发生。
2、共享共享指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。
a、互斥共享方式 b、同时访问方式3、虚拟虚拟,是指把一个物理上的实体,变为若干个逻辑上的对应物。
4、异步性操作系统是计算机系统中的一个系统软件,它管理和控制系统中的软件和硬件资源,合理组织计算机工作流程,有效利用系统资源,为用户提供一个功能强,使用方便的工作环境,从而在计算机和用户之间起到接口的作用。
进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位程序:指令或语句序列,体现了某种算法进程控制块系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志进程与PCB是一一对应的作用:是一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。
进程控制块中的信息:1、进程标识符 2处理机状态3、进程调度信息4、进程控制信息进程控制块的组织方式:1、链接方式2、索引方式进程的创建1、创建一个PCB2、为新进程分配资源3、初始化进程控制块4、将新进程插入就绪队列进程撤消1、根据标识符,找到该PCB2、修改其状态3、如有子孙进程,则予以终止4、收回其资源5、从所在链表中移出人们把每个进程中访问临界资源的那段代码称为临界区高级调度、中级调度、低级调度高级调度也称为作业调度或长程调度用于将外存作业调入内存,创建PCB,插入就绪队列。
操作系统总结(考试重点)
37
进程同步的基本概念
1、 进程的相互制约 ① 间接相互制约——资源共享引起 互斥关系 ② 直接相互制约——相互合作引起 进程同步 2、 临界资源:一次仅允许一个进程使用的资源称为临界资 源。(排他性资源) 3、 临界区:访问临界资源的那段代码称为临界区。 4、 同步机制应遵循的准则: ① 空闲让进 —— 充分利用资源 ② 忙则等待 —— 保证同步与互斥 ③ 有限等待 ———— 防止陷入“死等” ④ 让权等待 —— 防止陷入“忙等”
30
答:
Ta、Tb和Tc并行工作共用CPU时间: (10+15+35)/60%=100 Ta、Tb和Tc顺序工作共用CPU时间: (60+90+120)=270 系统效率提高:
(270-(100+20))/270 =150/270 =55.5%
31
二、
进程的基本概念
1、 进程的定义——可并发执行的程序在一个数据集合 上的运行过程。(程序、数据、进程控制块) 2、进程的基本特征 ① 动态性 ② 并发性 ③ 独立性 ④ 异步性 ⑤ 交往性 3、 进程的基本状态及其转变
7
单道批处理系统
1、在内存中仅存一道作业运行,运行结 束或出错,才自动调另一道作业运行。 2、单道批处理系统主要特征:自动性、 顺序性、单道性。 3、单道批处理系统主要优点:减少人工 操作,解决了作业的自动接续。 4、单道批处理系统主要缺点:平均周转 时间长,没有交互能力。
8
多道批处理系统
一、多道程序的概念: 在内存中存放多道作业运行,运 行结束或出错,自动调度内存中的 另一道作业运行。 ●多道程序带来的好处: 1、提高CPU的利用率。 2、提高内存和I/O设备利用率。 3、增加系统吞吐率。
操作系统期末总结
操作系统期末总结操作系统(Operating System)是计算机系统中最基本的系统软件之一,为计算机提供了任务调度、资源管理、文件管理、通信、消息传递等功能,是计算机硬件和应用软件之间的桥梁。
经过一个学期的学习与研究,我对操作系统的原理与实现有了更深刻的理解。
在本次期末总结中,我将对所学的内容进行总结,并对操作系统的未来发展进行展望。
一、理论部分操作系统的理论部分主要包括进程管理、内存管理、文件系统、设备管理和虚拟化等内容。
这些理论知识是操作系统学习的基础,也是理解操作系统运行原理的重要部分。
1. 进程管理:进程是操作系统中最基本的执行单位,也是资源分配的基本单位。
它控制了程序的执行顺序和资源的利用情况。
进程管理包括进程的创建、调度、同步与通信等内容。
在学习中,我了解了进程的状态转换、进程调度算法以及进程间通信的方式等。
2. 内存管理:内存管理是指操作系统如何分配和回收内存资源。
在学习中,我了解了内存分区、内存分页、内存分段以及虚拟内存管理等内容。
这些知识对于操作系统的性能优化和内存资源的充分利用非常重要。
3. 文件系统:文件系统是操作系统中用来管理和存储文件的一种机制。
在学习中,我了解了文件的逻辑结构和物理结构、文件的操作方式以及文件系统的组织结构等内容。
文件系统的设计和实现是提高文件存储效率和数据可靠性的关键。
4. 设备管理:设备管理是操作系统对计算机硬件进行管理和控制的一部分。
在学习中,我了解了设备的分类和接口标准、设备的分配和调度以及设备驱动程序的开发等内容。
设备管理是保证硬件设备正常工作和提高系统性能的关键。
5. 虚拟化:虚拟化是一种将物理资源抽象为逻辑资源的技术,可以提高资源的利用率和系统的可扩展性。
在学习中,我了解了虚拟化的原理和实现方式,以及虚拟机监控器的功能和作用。
虚拟化技术在云计算和大数据领域有着广泛的应用。
二、实践部分操作系统的实践部分主要包括实验和项目设计。
通过实践,我将操作系统的理论知识应用到具体的实际问题中,并加深对操作系统原理的理解。
操作系统复习总结
操作系统复习总结1.1 操作系统的目标操作系统的目标主要包括有效性、方便性、可扩充性和开放性。
有效性指提高系统资源的利用率和吞吐量;方便性指方便用户使用计算机系统,避免繁琐的机器语言编程;可扩充性指能增加新的功能和模块,并修改老的功能和模块;开放性指遵循世界标准规范,如开放系统互联(OSI)国际标准。
1.2 操作系统的作用操作系统作为用户和计算机硬件之间的接口,有命令方式、系统调用方式和图形窗口方式。
同时,它还作为计算机系统资源的管理者,包括处理器管理、存储器管理、I/O设备管理和信息管理。
此外,操作系统实现了对计算机资源的抽象,增强了系统的功能,隐藏了硬件操作的具体细节,方便了用户使用。
1.3 推动操作系统发展的主要动力操作系统发展的主要动力包括提高计算机资源的利用率、方便用户使用、器件的不断更新换代和计算机体系结构的不断发展。
随着微电子技术的发展和计算机网络的出现,操作系统的功能和性能得到了迅速提高。
单道批处理系统和多道批处理系统是操作系统的两种主要形式。
多道批处理系统的优点包括资源利用率高和系统吞吐量大,但缺点是平均周转时间长且无交互能力。
多道批处理系统需要解决处理机的管理问题、内存的管理问题、I/O设备的管理问题、文件管理问题和作业的管理问题。
另外,分时系统是一种能够支持多个用户共享计算机资源的操作系统形式。
定义:分时系统是一种在一台主机上连接多个带有显示器和键盘的终端,允许多个用户通过终端以交互的方式使用计算机并共享主机资源的系统。
分时系统特征包括多路性、独立性、及时性和交互性。
宏观上,多个用户可以同时工作,微观上,每个用户轮流运行一个时间片。
实时系统是指计算机能够及时响应外部事件的请求,在规定的时间内完成对原事件的处理,并且控制所有实时设备和实时任务协调一致的工作。
实时系统的特征包括响应时间快、系统可靠性高、具有连续的人-机对话能力、具有保护过载能力以及整体性强。
操作系统的基本特征包括并发性、共享性、虚拟性和异步性。
操作系统期末总结
第一章:1、网络操作系统的概念:网络用户与计算机网络之间的接口,它是专门为网络用户提供操作接口的系统软件,除了管理计算机的软件和硬件资源,具备单机操作系统所具有的功能外,还具有向网络计算机提供网络通信和网络资源共享功能的操作系统,并且为网络用户提供各种网络服务。
⏹网络操作系统既有单机操作系统的功能,还具有对整个网络的资源进行协调管理,实现计算机之间高效可靠的通信,提供各种网络服务和为网上用户提供便利的操作与管理平台等网络管理功能。
⏹网络操作系统的基本任务是用统一的方法管理各主机之间的通信和共享资源的利用,它是以使网络相关特性最佳为目的的。
⏹对于网络用户,操作系统应能够提供资源的共享、数据的传输,同时操作系统能够提供对资源的排他访问。
2、基本功能:1.网络通信2.资源管理3.网络服务4.网络管理5.互操作6.提供网络接口3、特点:1.硬件独立性:应当独立于具体的硬件平台,支持多平台,即系统应该可以运行于各种硬件平台之上。
2.网络特性:能够连接不同的网络,提供必要的网络连接支持。
能够支持各种的网络协议和网络服务。
具有网络管理的工具软件,能够方便的完成网络的管理。
3.极高的安全性:能够进行系统安全性保护和各类用户的存取权限控制。
能够对用户资源进行控制,提供用户对网络的访问方法。
4.可移植性和可集成性4、网络操作系统的分类:UNIX Linux NetWare Windows NT/2000Windows NT Server功能主要包括:⏹文件及文件管理系统⏹具有优先级的多任务/多线程环境⏹支持对称的多机处理系统⏹拥有兼容于分布计算的环境第二章:进程管理1、进程和程序是两个完全不同的概念,但又有密切的联系。
它们之间的主要区别是:⏹程序是静态的概念;而进程则是程序的一次执行过程。
它是动态的概念。
⏹进程是一个能独立运行的单位,能与其它进程并发执行;而程序是不能作为一个独立运行的单位而并发执行的。
⏹程序和进程无一一对应的关系。
操作系统小结
第一章计算机系统由硬件和软件两大部分组成。
操作系统是计算机系统中的一种系统软件'它管理计算机系统的资源、控制程序的执行、改善人机界面和为其他软件提供支持。
操作系统管理计算机系统的硬件资源和软件资源,保证计算机系统的优异性能,为程序的开发和执行提供良好的环境。
它的设计目标是使用户方便地使用计算机系统和使得计算机系统能高效地工作。
操作系统的形成和发展与计算机硬件和其他软件的发展密切相关。
随着计算机软件技术的发展和计算机应用的日益广泛,操作系统的功能也日趋完善。
根据计算机系统的功能和应用’操作系统的基本类型可分成以下几类:批处理操作系统、分时操作系统和实时操作系统。
以后又逐步发展了网络操作系统、分布式操作系统、多机操作系统和嵌入式操作系统等。
批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。
批处理多道系统还可以充分利用计算机系统资源,缩短作业执行时间,提高系统的吞吐率。
分时操作系统支持多个终端用户同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。
实时操作系统是实现实时控制的系统,它由外部信号触发而工作,应在规定的时间内完成处理,并给出反馈信号。
实时系统对可靠性和安全性的要求极高,不强求系统资源的利用率。
个人计算机系统都是使用微型计算机。
比起大型机来,微型机既小又便宜。
但是,个人计算机系统的资源和功能相对有限。
为了满足较大规模的应用,可把若干台个人计算机系统构成计算机网络。
根据计算机网络的结构、通信方式和资源管理方法,分别配置网络操作系统或分布式操作系统。
多机操作系统是为多处理器系统配置的操作系统。
嵌入式操作系统配置在嵌入式计算机系统之中。
它的主要特点是微型化和实时性。
操作系统的资源管理功能可以分成处理器管理、存储管理、文件管理和设备管理。
第二章计算机系统由硬件和软件两大部分组成。
硬件是软件执行的基础。
软件可以分为系统软件、支撑软件和应用软件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.Nachos 中 的 线 程 是 在 内 核 中 以 一 个 thread类的对象的方式实现的。线程 控制块是以类的数据成员的方式实现。 2.线程的状态存储在ThreadStatus 类 型 的 status 数 据 成 员 中 。 ThreadStatus定义如下:
enum ThreadStatus { JUST_CREATED, RUNNING, READY, BLOCKED };
ThreadTest是一个测试函数。定义如下:
void ThreadTest() { DEBUG(’t’, "Entering SimpleTest"); Thread *t = new Thread("forked thread"); t->Fork(SimpleThread, 1); SimpleThread(0); } 这个函数创建了一个名为forked thread的线程去执行SimpleThread 函数。 SimpleThread定义如下: void SimpleThread(int which) { int num; for (num = 0; num < 5; num++) { printf("*** thread %d looped %d times\n", which, num) ; currentThread->Yield(); } }
下面我们先来介绍下Nachos内核定义的几个全局变量。 在threads/目录下至少定义了6个全局变 量。 它们是: Thread *currentThread; // 当前执行线程 Thread *threadToBeDestroyed; // 刚结束的线程 Scheduler *scheduler; //就绪队列 Interrupt *interrupt; //中断状态。 Statistics *stats; //性能标准。 Timer *timer; // 计时器设备,用于导致线程上下文切换。
ThreadRoot是一个函数名,它是由汇编实现。 InterruptEnable和ThreadFinish是两个静态函数 名称。它们都被存储在MachineState数组中。代表各 个寄存器的值。 线程入口函数地址被存储在以InitialPCState为下标 (0号位置)的数组中。线程函数参数被存储在以 InitialArg(1号位置)为下表的MachineState数组中。 当线程开始运行时MachineState[InitialPCState] 会被加载到ra寄存器。ra被称为返回地址寄存器,存储 线程函数的第一条指令开始的位置。 ThreadRoot是以汇编形式写成的,它是在线程运行前 第一个被运行的函数。
在Nachos中,用户线程都是以内核线程的方 式开始的,当加载用户程序且创建地址空间之 后,内核线程就转变成了用户线程。 就绪队列用于存储所有处于就绪状态的线 程或进程。与IO设备有关的队列存储处于阻 塞态的线程或进程,它们都在等待IO请求完 成。 线程调度程序在这些队列间移动线程或进 程。
每一个目标模块都有自己的代码段,已初始 化段,符号表和重定位信息。链接器的任务就 是通过在各个模块中符号的交叉引用,将各个 目标模块合并成一个模块。 可执行文件中存储的地址是逻辑地址。在程 序运行前逻辑地址需要被转换成物理地址。这 个转换操作是通过一个叫做MMU的硬件设备 执行的。系统可以将模块加载到内存的不同的 位置,这可以由重定位寄存器实现。 Nachos中使用machine.h类对象来模 拟运行程序的机器环境。
currentThread指向当前运行线程。scheduler指向 内核负责调度线程和管理就绪队列的Scheduler类对象。 这些全局变量会Nachos系统启动时被创建。创建这 些变量的函数为: Initialize(int argc, char **argv) ThreadFinish会在线程从线程入口函数返回时被调 用,它仅仅调用thread类的Finish函数。在Finish函 数中它将threadToBeDestroyed设置为 currentThread。此后,原来线程的清理工作就交给 了新线程。
一个线程在其初始化的最后准备工作中调用 StackAllocate方法,该方法设置了几个寄存器的值, (InterruptEnable函数指针,ThreadFinish函数 指针以及该线程需要运行函数的函数指针和运行函数的 参数),该线程第一次被运行时调用的就是 ThreadRoot函数。其工作过程是: 1. 调用StartupPC函数,它指向InterruptEnable 函数。执行开中断操作; 2. 调用InitialPC 函数,指向线程入口函数; 3. 调用WhenDonePC函数,该函数调用 CurrentThread->Finish()结束线程的运行; Nachos的线程上下文切换是通过调用Scheduler 的Run函数来进行的。
主线程和新建线程都执行 SimpleThread函数。它们不断进行 线程上下文切换直到结束。 main函数的最后调用的函数是 currentThread->Finish()。这个 函数决不会返回。因为在线程上下文切 换后,这个线程会被新线程释 放。
Nachos内存管理实现
存储器管理包括两个层次的内容:分别是内存管理和文 件系统管理。 每个用户进程都是自己的地址空间。当进程运行时它们 都会被加载到内存中。 接下来我们仍使用Nachos源代码来讲述地址空 为了运行一个程序,需要执行一下三步: 1:编译器将各个模块的源代码编译成对应的目标代码模块。 2:连接器将各个目标代码模块链接到一起,形成一个可执 行文件。 3:加载器将可执行文件加载到内存中。
Nachos中,作业调度程序,是一个 Scheduler类的对象实现的。它的方 法提供了所有对线程或进程调度的功能。 当系统启动时Scheduler对象会以一 个全局变量scheduler的方式被创建。
Scheduler的唯一的数据成员是就绪队列。它存储所有 处于READY(就绪)状态的线程。 ReadyToRun函数将一个线程添加到就绪队列的尾 部。 FindNextToRun返回队首线程指针。 Scheduler类最有意思的方法是Run。该方法调用 使用汇编写成的SWITCH函数来将当前线程上下文切换 到另外一个线程的上下文。 当一个Thread类构造函数被调用时,它仅仅是初始化成 员变量将线程状态变为JUST_CREATED状态。此时线 程还不能运行,因为它的线程栈还没有被分配而且线程 控制块还没有被初始化,更重要的PC寄存器没有赋值, 程序不知道从哪里开始执行。
在Nachos中用户线程是从核心线程继承而来 的。 userRegisters数组是用户存储用户寄 存器值的数组。其大小由NumTotalRegs确 定。 MachineState存储在内核状态下运行 的线程的状态。而用userRegisters数组存 储在用户模式下运行的线程状态。 在Nachos中,用户线程都是以内核线程 的方式开始的,当加载用户程序且创建地址空 间之后,内核线程就转变成了用户线程
Fork(VoidFunctionPtr func, int arg) Fork方法负责线程栈的分配,func是线程函数入口地 址,arg是线程函数。
AllocBoundedArray分配线程栈并将 stack指向线程栈底部。 stack指向线程栈顶部。 宏 PCState, StartupPCState, InitialPCS tate,InitialArgState和 WhenDonePCState, 分别代 表 9, 3, 0 , 1和2。
除了main线程外,所有其它线程都是从ThreadRoot 开始运行的。它的语法是: ThreadRoot(intInitialPC, int InitialArg, int W henDonePC,int StartupPC) 其中,InitialPC指明新生成线程的入口函数地址, InitialArg是该入口函数的参数;StartupPC是在运 行该线程是需要作的一些初始化工作指向 InterruptEnable函数。,比如开中断;而 WhenDonePC是当该线程运行结束时需要作的一些后 续工作,指向ThreadFinish函数。在Nachos的源代 码中,没有任何一个函数和方法显式地调用 ThreadRoot函数,ThreadRoot函数只有在线程切 换时才被调用到。
在SWITCH执行完线程上下文切换后, 我们看到有这样一句代码: if (threadToBeDestroyed != NUL L) { delete threadToBeDestroyed; threadToBeDestroyed = NULL;
}
这些代码就是新线程执行清理操作。 每次执行线程上下文切换后,新线程都会检查 threadToBeDestroyed,将老线程清理掉。 接下来我们来讨论下Nachos内核。Nachos内核是 Nachos操作系统的一部分。内核本身也是一个程序, 它必须也有个main()函数。在threads/文 件内可以找到main函数。main函数主要执行一下操作: 1:调用Initialize(); 2:调用ThreadTest(); 3:currentThread->Finish(); Initialize执行创建并初始化全局变量的工作。
线程的状态必须是以上枚举类型之一。当线程的状 态改变时,status值相应的改变。线程有自己的线 程栈和寄存器。Nachos的线程栈在线程状态从 JUST_CREATED变为RUNNING时被申请。 thread类的构造函数会设置threadname,并且 将线程状态设置为JUST_CREATED。stack是指 向栈底的指针(栈溢出检查)。stackTop指向栈 顶。包括PC在内的其他寄存器都被存储在 MachineState数组内。数组的大小有 MachineStateSize确定。