第6章 文件处理与进程控制
操作系统第6章 进程互斥与同步
Co-begin void Producer_i( ) (i=1,2…k) { item next_p; while(1){ produce an item in next_p P(empty); P(s); add next_p to buffer V(s); V(full); } } void consumer_j( ) (j=1,2…m) { item next_c; while(1){ P(full); P(s); remove an item from buffer to next_c V(s); V(empty); consume the item in next_c}} Co-end
• 进入临界段之前要申请,获得批准方可进入; • 退出临界段之后要声明,以便其他进程进入。
用程序描述: While(1){ entry_section; critical_section; exit_section; remainder_section; }
解决临界段问题的软件算法必须遵循:
准则1:不能虚设硬件指令或假设处理机数目。 准则2:不能假设n个进程的相对速度。 准则3:当一个进程未处于其临界段时,不应阻止 其他进程进入临界段。 准则4:当若干进程欲进入临界段时,应在有限时 间内选出一个进程进入其临界段。 用准则3,4不难推出下面原则 协调各进程入临界段的调度原则: • 当无进程处于临界段时,允许一个进程立即进入临界段。
3.实现临界段的硬件方法
利用处理机提供的特殊指令实现临界区加锁。 常见硬件指令有: ⑴ “Test_and_Set”指令 该指令功能描述为: int *target ( 限定为0,1) int Test_and_Set (int *target) { int temp; temp = *target ; *target = 1; return temp; }
操作系统第6章 文件管理(文件目录与目录文件)
具有相似的结构,它由用户所有文件的文件控制块组成。此外,
在系统中再建立一个主文件目录MFD(Master File Directory); 在主文件目录中,每个用户目录文件都占有一个目录项,其目录 项中包括用户名和指向该用户目录文件的指针。如图2所示:
2015/11/7
15
一 文件目录管理
图2
2015/11/7
●缺点:查找速度慢;文件不能重名。不便于实现文件共享。
文件名 文件名 1 文件名 2 … 物理地址 文件说明 状态位
2015/11/7
表1 单级目录
14
一 文件目录管理
【七】二级目录
●为了克服单级目录所存在的缺点,可以为每一个用户建立一个单 独的用户文件目录UFD(User File Directory)。这些文件目录
二级目录结构示意图
16
一 文件目录管理
●两级目录结构基本上克服了单级目录的缺点,并具有以下优点:
1) 提高了检索目录的速度。如果在主目录中有n个子目录,采用两 级目录可使检索效率提高n/2倍。
2) 在不同的用户目录中,可以使用相同的文件名。
3) 不同用户还可使用不同的文件名来访问系统中的同一个共享文件。 但当多个用户之间要相互合作去完成一个大任务,且一用户又需 去访问其他用户的文件时,这种隔离便成为一个缺点,因为这种 隔离会使诸用户之间不便于共享文件。
2015/11/7 11
一 文件目录管理
●当文件被打开时,要将磁盘索引结点拷贝到内存的索引结点中,便于
以后使用。在内存索引结点中又增加了以下内容: 1. 索引结点编号,用于标识内存索引结点。 2. 状态,指示i结点是否上锁或被修改。 3. 访问计数,每当有一进程要访问此i结点时,将该访问计数加1, 访问完再减1。 4. 文件所属文件系统的逻辑设备号。 5. 链接指针。设置有分别指向空闲链表和散列队列的指针。
操作系统复习资料大全——考试必备
操作系统学习指导书操作系统课程组信息工程学院计算机系第1章操作系统引论知识点总结1、什么是操作系统操作系统:是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
1) OS是什么:是系统软件(一整套程序组成,如UNIX由上千个模块组成)2) 管什么:控制和管理系统资源(记录和调度)2、操作系统的主要功能操作系统的功能:存储器管理、处理机管理、设备管理、文件管理和用户接口管理。
1) 存储器管理:内存分配,地址映射,内存保护和内存扩充2) 处理机管理:作业和进程调度,进程控制和进程通信3) 设备管理:缓冲区管理,设备分配,设备驱动和设备无关性4) 文件管理:文件存储空间的管理,文件操作的一般管理,目录管理,文件的读写管理和存取控制5) 用户接口:命令界面/图形界面和系统调用接口3、操作系统的地位操作系统是裸机之上的第一层软件,是建立其他所有软件的基础。
它是整个系统的控制管理中心,既管硬件,又管软件,它为其它软件提供运行环境。
4、操作系统的基本特征操作系统基本特征:并发,共享和异步性。
1) 并发:并发性是指两个或多个活动在同一给定的时间间隔中进行。
2) 共享:共享是指计算机系统中的资源被多个任务所共用。
3) 异步性:每个程序什么时候执行,向前推进速度快慢,是由执行的现场所决定。
但同一程序在相同的初始数据下,无论何时运行都应获得同样的结果。
5、操作系统的主要类型多道批处理系统、分时系统、实时系统、个人机系统、网络系统和分布式系统1) 多道批处理系统(1) 批处理系统的特点:多道、成批(2) 批处理系统的优点:资源利用率高、系统吞吐量大(3) 批处理系统的缺点:等待时间长、没有交互能力2) 分时系统(1) 分时:指若干并发程序对CPU时间的共享。
它是通过系统软件实现的。
共享的时间单位称为时间片。
(2) 分时系统的特征:同时性:若干用户可同时上机使用计算机系统交互性:用户能方便地与系统进行人--机对话独立性:系统中各用户可以彼此独立地操作,互不干扰或破坏及时性:用户能在很短时间内得到系统的响应(3) 优点主要是:响应快,界面友好多用户,便于普及便于资源共享3) 实时系统(1) 实时系统:响应时间很快,可以在毫秒甚至微秒级立即处理(2) 典型应用形式:过程控制系统、信息查询系统、事务处理系统(3) 与分时系统的主要区别:4) 个人机系统(1) 单用户操作系统单用户操作系统特征:个人使用:整个系统由一个人操纵,使用方便。
计算机操作系统第三版课后习题答案
第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和収展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。
操作系统专业试题
第二章进程管理一、选择题:1、下面过于程序的描述,正确的是(C)A. 程序执行的最终结果受到外界因素的影响,跟初始条件无关B. 程序执行的最终结果跟速度有关C. 程序是按前后次序相继地进行计算机操作序列集合,是一个静态的概念;D. 程序只能通过顺序执行2、程序的顺序执行有以下特点(B)A. 顺序性、封闭性、独立性B. 顺序性、封闭性、可再现性C. 顺序性、封闭性、随机性D. 顺序性、随机性、独立性3、现代操作系统的特点(D)A. 程序的并发执行;B. 系统所拥有的资源被共享;C. 用户随机地使用系统资源;D. 以上三者都是。
4、多道程序系统中的程序执行的特点为(A)A. 独立性、随机性、资源共享性;B. 顺序性、封闭性、可再现性;C. 顺序性、封闭性、随机性;D. 顺序性、随机性、独立性;5、PCB所包含的信息中,下列说法不正确的是(D)。
A. 描述信息B. 控制信息C. 资源信息D. CPU信息6、下面哪项不属于进程的基本状态:(C)A. 阻塞状态B. 就绪状态C. 挂起状态D. 执行状态7、在单CPU系统中,任一时刻处于执行状态的进程有几个(A)A.1 B.2 C.3 D.无法判断8、就绪状态分为内存就绪和外存就绪,这种方式的好处是(A)A. 明显提高内存的利用效率B. 降低系统开销C. 降低系统复杂性D. 降低系统参数和状态转换过程9、下面说法错误的是:(D)A.就绪状态进程得到除CPU以外其他资源,只要调度得到处理机,便可立即执行B.只有处于就绪状态的进程经调度选中之后才可以进入执行状态C.处于外存就绪状态的进程只有先成为内存就绪状态后,才可执行D.从一个状态到另一个状态的转换只要使用不同的控制过程就可以实现10、关于进程状态之间的转换原因,下列说法错误的是:(D)A.由系统唤醒,进程由阻塞态进入就绪态B.因为申请某资源忙或者I/O设备忙,进程由执行态进入阻塞态C.因时间片用完,进程由执行态进入就绪态D.进程经由一段时间的等待后,可以自动由就绪态到执行态11、()就是系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各状态间的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的。
操作系统概论 第6章 并发进程 课件
进程的交互:竞争与协作
并发进程之间的竞争关系
共享资源
进程的互斥
并发进程之间的协作关系
进程的相互合作
进程的同步
进程的交互:竞争与协作
第一种是竞争关系
资源竞争的两个控制问题:
一个是死锁(Deadlock)问题
一个是饥饿(Starvation) 问题
既要解决饥饿问题,又要解决死锁问题
CPU利用率= 40/80 = 50%
DEV1利用率=18.75%
DEV2利用率= 31.25%
程序并发执行
在并发环境下
CPU利用率=89% DEV1并发环境下利用=33% DEV2并发环境下利用=66%
并行和并发
在单CPU系统中,系统调度在某一时刻只能让一个 线程(进程)运行,虽然这种调度机制有多种形式(大 多数是时间片轮巡为主),但无论如何,要通过不断 切换需要运行的线程让其运行的方式就叫并发 (concurrent)。 而在多CPU系统中,可以让两个以上的线程(进程) 同时运行,这种可以同时让两个以上线程同时运行 的方式叫做并行(parallel) 多道程序设计和并发的关系
程被置成等待信号量s的状态 */
end; procedure V(var s:semaphore); begin s := s + 1; /* 把信号量加1 */ if s <= 0 then R(s); /* 若信号量小于等于0,则释放
一个等待信号量s的进程 */
end;
p、v操作
(1) p操作 对信号量s的 p操作记为 p(s)。p(s)是一个不可分割的原语 操作,即取信号灯值减1,若相减结果为负,则调用p(s)的进程 被阻,并插入到该信号量的等待队列中,否则可以继续执行
计算机操作系统复习知识点汇总
计算机操作系统复习知识点汇总第一章绪论1、操作系统的定义、目标、作用1OS是配置在计算机硬件上的第一层软件;是对硬件系统的首次扩充..2OS的主要目标是:方便性;有效性;可扩充性和开放性.3OS的作用可表现为:a. OS作为用户与计算机硬件系统之间的接口;一般用户的观点b. OS作为计算机系统资源的管理者;资源管理的观点c. OS实现了对计算机资源的抽象.2、脱机输入输出方式和SPOOLing系统联机输入输出方式的联系和区别脱机输入输出技术Off-Line I/O是为了解决人机矛盾及CPU的高速性和I/O设备低速性间的矛盾而提出的.它减少了CPU的空闲等待时间;提高了I/O速度.由于程序和数据的输入和输出都是在外围机的控制下完成的;或者说;它们是在脱离主机的情况下进行的;故称为脱机输入输出方式;反之;在主机的直接控制下进行输入输出的方式称为联机输入输出方式联机输入输出技术也提高了I/O的速度;同时还将独占设备改造为共享设备;实现了虚拟设备功能..3、多道批处理系统需要解决的问题处理机管理问题、内存管理问题、I/O设备管理问题、文件管理问题、作业管理问题4、OS具有哪几个基本特征它的最基本特征是什么a. 并发性Concurrence;共享性Sharing;虚拟性Virtual;异步性Asynchronism.b. 其中最基本特征是并发和共享.c. 并发特征是操作系统最重要的特征;其它特征都是以并发特征为前提的..5、并行和并发并行性和并发性是既相似又有区别的两个概念;并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多少个事件在同一时间间隔内发生..6、操作系统的主要功能;各主要功能下的扩充功能a. 处理机管理功能:进程控制;进程同步;进程通信和调度.b. 存储管理功能:内存分配;内存保护;地址映像和内存扩充等c. 设备管理功能:缓冲管理;设备分配和设备处理;以及虚拟设备等d. 文件管理功能:对文件存储空间的管理;目录管理;文件的读写管理以及文档的共享和保护7、操作系统与用户之间的接口a. 用户接口:是给用户使用的接口;用户可通过该接口取得操作系统的服务b. 程序接口:是给程序员在编程时使用的接口;是用户程序取得操作系统服务的惟一途径..第二章进程管理1、进程的定义、特征;进程实体的组成1进程是进程实体的运行过程;是系统进行资源分配的一个独立单位..2进程具有结构特征、动态性、并发性、独立性和异步性..3进程实体由程序段、相关的数据段和PCB三部分构成..2、进程的三种基本状态及其转换运行中的进程可能具有就绪状态、执行状态、阻塞状态三个基本状态..3、引起进程进入挂起状态的原因如下:a. 终端用户的请求b. 父进程请求c. 负荷调节的需要d. 操作系统的需要具有挂起状态的进程转换图— P394、创建进程的主要步骤a. 为一个新进程创建PCB;并填写必要的管理信息..b. 把该进程转入就绪状态并插入就绪队列之中..5、进程控制块PCB的作用1系统为了管理进程设置的一个专门的数据结构;存放了用于描述该进程情况和控制进程运行所需的全部信息..2系统利用PCB来控制和管理进程;所以PCB是系统感知进程存在的唯一标志3进程与PCB是一一对应的为什么说PCB是进程存在的唯一标志在进程的整个生命周期中;系统总是通过其PCB对进程进行控制;系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的;所以说;PCB是进程存在的唯一标志..6、进程控制块的组织方式链接方式、索引方式7、原语的定义、组成、作用原语是由若干条指令组成的;用于完成一定功能的一个过程;与一般过程的区别在于:它们是“原子操作”;是一个不可分割的基本单位;在执行过程中不允许中断..原子操作在管态下执行;常驻内存..原语的作用是为了实现进程的通信和控制;系统对进程的控制如不使用原语;就会造成其状态的不稳定性;从而达不到进程控制的目的..8、引起创建进程的事件用户登录、作业调度、提供服务、应用请求9、引起进程终止的事件正常结束、异常结束、外界干预10、引起进程阻塞和唤醒的事件请求系统服务、启动某些操作、新数据尚未到达、无新工作可做11、临界资源和临界区1临界资源是指每次仅允许一个进程访问的资源..属于临界资源的硬件有打印机、磁带机等;软件有消息缓冲队列、变量、数组、缓冲区等..诸进程间应采取互斥方式;实现对这种资源的共享..2每个进程中访问临界资源的那段程序称为临界区Critical Section;不论是硬件临界资源;还是软件临界资源;多个进程必须互斥地对它进行访问..12、同步机制应遵循的规则空闲让进、忙则等待、有限等待、让权等待13、进程通信的类型进程间通信机制包括:共享内存系统、消息传递系统以及管道通信系统..14、线程的定义、属性在多线程OS中;通常一个进程中包含多个线程;每个线程都是作为利用CPU的基本单位;是花费最小开销的实体..线程具有下述属性:1轻型实体—线程中的实体基本上不拥有系统资源;只是有一点必不可少的、能保证其独立运行的资源..2独立调度和分派的基本单位3可并发执行..4共享进程资源..15、进程和线程的比较a. 调度性..在传统的操作系统中;拥有资源的基本单位和独立调度、分派的基本单位都是进程;在引入线程的OS中;则把线程作为调度和分派的基本单位;而把进程作为资源拥有的基本单位;b. 并发性..在引入线程的OS中;不仅进程之间可以并发执行;而且在一个进程中的多个线程之间;亦可并发执行;因而使OS具有更好的并发性;c. 拥有资源..无论是传统的操作系统;还是引入了线程的操作系统;进程始终是拥有资源的一个基本单位;而线程除了拥有一点在运行时必不可少的资源外;本身基本不拥有系统资源;但它可以访问其隶属进程的资源;d. 系统开销..由于创建或撤销进程时;系统都要为之分配和回收资源;如内存空间等;进程切换时所要保存和设置的现场信息也要明显地多于线程;因此;操作系统在创建、撤销和切换进程时所付出的开销将显着地大于线程..16.进程与程序的区别①程序是静态的;进程是动态的;②进程更能真实地描述并发;而程序不能;③进程具有创建其他进程的功能;而程序没有④进程只是一次执行过程;有生命周期;而程序可作为软件资源长期保存;是相对长久的;进程是系统分配调度的独立单位;能与其他进程并发执行;17.进程互斥与同步的基本概念i.进程互斥:由于各进程要求共享资源;而有些资源需要互斥使用;因此各进程间竞争使用这些资源;进程的这种关系为进程的互斥..ii.进程同步:在并发执行过程中;合作完成同一个任务的多个进程;在执行速度或某些时序点上必须相互协调的合作;这种制约性关系叫作进程同步..18、同步机制应遵循的规则空闲让进、忙则等待、有限等待、让权等待19.常用的几种信号量机制整型信号量、记录型信息量、AND型信息量、信号量集..第三章处理机调度1、高级调度与低级调度的区别高级调度又称为作业调度或长程调度;调度对象是作业;作业调度往往发生于一个批作业运行完毕;退出系统;而需要重新调入一个批作业进入内存时;故作业调度的周期长;低级调度又称为进程调度和短程调度;调度物件为进程或内核级线程;进程调度的运行频率最高;是最基本的一种调度;多道批处理、分时、实时三类OS中必须配置这种调度..引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量2、低级调度的功能保存处理机的现场信息、按某种算法选取进程、把处理器分配给进程3、进程调度方式1非抢占方式—实现简单、系统开销小、适用于大多数的批处理系统环境2抢占方式——原则:优先权原则、短作业进程优先原则、时间片原则4、同时具有三级调度的调度队列模型当在OS中引入中级调度后;人们可把进程的就绪状态分为内存就绪和外存就绪;类似的阻塞状态也可以同样划分..5、调度算法▲1、先来先服务FCFS2、短作业进程优先SJFSPF3、高优先权优先4、高响应比优先调度算法HRN..5、时间片轮转法1 要求:掌握算法思想..并能对前4种算法根据算法思想计算周转时间、平均周转时间、带权周转时间、平均带权周转时间;周转时间= 完成时间–到达时间=等待时间+服务时间2 掌握先来先服务、短作业进程优先、高响应优先调度算法三种算法性能评价:a.先来先服务算法即适合于作业调度也适用于进程调度;且算法较为简单;比较适合长作业或长进程不适合短作业或进程..b.短作业进程优先算法;能有效降低作业的平均等待时间;提高系统吞吐量..但该算法与用户做出的估计运行时间有很大的关系;对长作业进程不利;有利于短作业进程..c.高响应比优先调度算法;即照顾了短作业又考虑了长作业到达的先后次序;它不会使长作业长期得不到服务..6 高响应比优先调度算法优先权=等待时间+要求服务时间\要求服务时间响应比=等待时间+要求服务时间/要求服务时间=响应时间/要求服务时间7、最低松弛度优先调度算法即LLF算法该算法是根据任务紧急或松弛的程度;来确定任务的优先级..8、何谓死锁产生死锁的原因和必要条件是什么a.死锁是指多个进程因竞争资源而造成的一种僵局;若无外力作用;这些进程都将永远不能再向前推进;b.产生死锁的原因有二;一是竞争资源;二是进程推进顺序非法;c.必要条件是: 互斥条件;请求和保持条件;不剥夺条件和环路等待条件..互斥条件:一个资源一次只能被一个进程使用..请求和保持条件:保留已经得到的资源;还要求其它的资源..不剥夺条件:资源只能被占有者释放;不能被其它进程强行抢占..环路等待条件:系统中的进程形成了环形的资源请求链..9、处理死锁的基本方法1预防死锁—破坏产生死锁的四个必要条件中的一个或几个条件2避免死锁—破坏产生死锁的四个必要条件3检测死锁—通过系统设置的检测机构;及时检测出死锁的发生4解除死锁—撤销或挂起一些进程10、预防死锁的方法a.摒弃"请求和保持"条件b.摒弃"不剥夺"条件c.摒弃"环路等待"条件11、银行家算法▲要求掌握能够根据安全性检测算法;通过查找安全序列来判断某个时刻系统是否处于安全状态..能利用银行家算法来计算:当某进程提出资源请求时;系统是否分配..12、死锁检测掌握死锁定理的概念:当且仅当一组进程某个状态S的资源分配图是不可完全简化的;则说明S状态为死锁状态..知道在进行死锁的检测常用的工具是资源分配图;并通过对资源分配图的化简判断一组进程是否处于安全状态无环..第四章存储管理1、存储器按存储量、速度怎么划分至少应具有三级:最高层为CPU寄存器、中间为主存、最底层为辅存;较高档点的根据具体功能还可细分为:寄存器;高速缓存、主存储器、磁盘缓存;固定硬盘、可移动存储介质等6层..主存储器简称内存或主存:容量一般为数十MB到数GB;其访问速度远低于CPU执行指令的速度..为此引入寄存器和高速缓存;寄存器访问速度最快;价格昂贵;容量不大;高速缓存容量大于或远大于寄存器;从几十KB到几十MB;访问速度快于主存储器..2、程序的装入方式绝对装入方式、可重定位装入方式、动态运行时装入方式3、程序的链接方式分类静态链接、装入时动态链接、运行时动态链接4、对换的定义、分类、实现对换是把内存中暂时不能运行的进程或者暂时不用的程序和数据调到外存上;以便腾出足够的内存空间;再把已具备运行条件的进程或进程所需要的程序和数据调入内存..以整个进程为单位;称为“整体对换”或“进程对换”;以“页”或“段”为单位;分别称为“页面对换”和“分段对换”;又称为“部分对换”为了实现进程对换;系统必须能实现三方面的功能:对换空间的管理、进程的换出;以及进程的换入..6、基本分页存储管理方式重点考查1、分页的基本原理分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片;称为页面或页;将这些页面装入到内存一些不连续的内存块中..若将一个进程的所有页面一次全部装入到内存叫基本分页;若按进程的运行情况分多次部分装入到内存叫请求式分页..由于进程的最后一页经常装不满一块而形成不可利用的碎片;称为页内碎片系统为每个进程建立一张页面映像表;简称页表..页表的作用是实现从页号到物理块号的地址映射..2、分页系统的地址变换机构▲掌握:能根据给定的逻辑地址和页表内容转换出物理地址注意在进行地址变换前要注意判断页号是否越界;并能掌握地址变换机构图..7 、基本分段存储管理方式1、分段存储管理方式的引入原因引入分段存储管理方式;主要是为了满足用户和程序员的一些需要:方便编程、信息共享、信息保护、动态增长、动态链接2、分段系统的基本原理在分段存储管理方式中;作业的地址空间被划分为若干个二维段;每个段定义了一组逻辑信息;逻辑地址由段号和段内地址组成..每个段在表中占有一个表项;其中记录了该段在内存中的起始地址又称为“基址”..段表是用于实现从逻辑段到物理内存区的映射..将一个作业的这些段装入到内存一些不连续的区域中在分段中一个作业获得的地址空间是不连续的;但是每个段获得的空间是连续的..当将一个作业的所有段一次全部装入到内存的是基本分段;若按作业的运行情况分多次部分装入到内存的是请求式分段..在分段中也会出现碎片..8、分段系统的地址变换机构▲掌握:能根据给定的逻辑地址和段表内容转换出物理地址注意在进行地址变换前要注意判断段号和段地位移量是否越界..9、分段和分页的主要区别a. 分页和分段都采用离散分配的方式;且都要通过地址映射机构来实现地址变换;这是它们的共同点;b. 对于它们的不同点有三;第一;从功能上看;页是信息的物理单位;分页是为实现离散分配方式;以消减内存的外零头;提高内存的利用率;即满足系统管理的需要;而不是用户的需要;而段是信息的逻辑单位;它含有一组其意义相对完整的信息;目的是为了能更好地满足用户的需要;c. 页的大小固定且由系统确定;而段长度不固定;决定于用户所编写的程序;d. 分页的作业地址空间是一维的;而分段的作业地址空间是二维的.10、虚拟存储器的特征及其内部关联a. 虚拟存储器具有多次性;对换性和虚拟性三大主要特征;b. 其中所表现出来的最重要的特征是虚拟性;它是以多次性和对换性为基础的;而多次性和对换性又必须建立在离散分配的基础上..11、页面置换算法▲1、先进先出FIFO2、最佳置换算法OPT3、最近最久未使用LRU置换算法4、Clock置换算法5、最少使用LFU置换算法1要求:掌握算法思想、名称缩写..并能对前3种算法根据算法思想计算缺页中断次数和缺页中断率;参考书P150页和作业题..2掌握先进先出FIFO、最佳置换算法OPT、最近最久未使用LRU置换算法的性能评价–先进先出:实现简单;性能最差;与进程实际的运行不相适应;且有可能会出现Belady现象即在未给进程或作业分配它所要求的全部页面时;有时会出现分配给作业的内存块数增多;缺页次数反而会增多的奇怪现象–最佳置换算法OPT:理论上;性能最佳;实际上;无法实现;通常只用在研究其它算法时;做参考评价..最近最久未使用LRU置换算法:性能较好;实现复杂;需要硬件支持..12、分段保护采取以下措施保证信息安全:越界检查、存取控制检查、环保护机构第五章设备管理1、I/O设备按使用特性、传输速率、信息变换、共享属性如何分类按设备的使用特性分类:存储设备又称外存、后备存储器、辅助存储器;输入输出设备又可具体划分:输入设备键盘、鼠标、扫描仪、视频摄像、各类传感器、输出设备打印机、绘图仪、显示器、数字视频显示设备、音响输出设备、交互式设备按传输速率分类:低速设备键盘、鼠标、语音的输入输出设备;中速设备行式打印机、激光打印机;高速设备磁带机、磁盘机、光盘机..按信息交换的单位分类:块设备磁盘;字符设备交互式终端、打印机按设备的共享属性分类:独占设备;共享设备磁盘;虚拟设备2、设备控制器的组成设备控制器由以下三部分组成:1设备控制器与处理机的接口;该接口用于实现CPU 与设备控制器之间的通信;提供有三类信号线:数据线、地址线和控制线..2设备控制器与设备的接口;可以有一个或多个接口;且每个接口连接一台设备..每个接口都存在数据、控制和状态三种类型的信号..3I/O逻辑;用于实现对设备的控制..其通过一组控制线与处理机交互;处理机利用该逻辑向控制器发送I/O命令;I/O逻辑对收到的命令进行译码..3、I/O通道设备如何引入虽然在CPU和I/O设备之间增加了设备控制器后;已能大大减少CPU对I/O的干预;但当主机配置的外设很多时;CPU的负担仍然很重;为此;在CPU和设备控制器之间又增设了通道..I/O通道是一种特殊的处理机;它具有执行I/O指令的能力;并通过执行通道I/O程序来控制I/O操作..通道与普通处理机的区别:1没有自己的内存;且与主机共享主机内存2执行的指令单一;主要执行与I/O有关的指令..通道分为:字节多路通道主要连接低速字符设备;数组选择通道主要连接高速块设备;数组多路通道主要连接中高速块设备4、有哪几种I/O控制方式各适用于何种场合1I/O控制方式:程序I/O方式、中断驱动I/O控制方式、DMA I/O控制方式、I/O通道控制方式..2程序I/O方式适用于早期的计算机系统中;并且是无中断的计算机系统;中断驱动I/O控制方式是普遍用于现代的计算机系统中;DMA I/O控制方式适用于I/O设备为块设备时在和主机进行数据交换的一种I/O 控制方式;当I/O设备和主机进行数据交换是一组数据块时通常采用I/O通道控制方式;但此时要求系统必须配置相应的通道及通道控制器..5、DMA控制器的组成1DMA控制器由三部分组成:主机与DMA控制器的接口、DMA控制器与块设备的接口、I/O控制逻辑..2DMA方式与中断控制方式的区别:相同点是都是以块为单位进行传输..区别是:1CPU处理中断的时间:●中断控制方式:是在数据缓冲寄存器满之后要求CPU进行中断处理●DMA方式:是在所要求转送的数据块全部传送结束时要求CPU进行中断处理..这就大大减少了CPU进行中断处理的次数..2数据传送的完成者:●中断控制方式:是在中断处理时由CPU控制完成的;●DMA方式:是DMA控制器完成的..6、为了实现主机与控制器之间成块数据的直接交换;需设置DMA控制器中四类寄存器DR:数据寄存器;暂存从设备到内存或从内存到设备的数据MAR:内存地址寄存器DC:数据计数器;存放本次CPU要读或写的字节数CR:命令\状态寄存器;接收从CPU发来的I/O命令;或相关控制信息;或设备状态7、缓冲的引入原因操作系统引入缓冲机制的主要原因可归结为以下几点:1缓和CPU与I/O设备间速度不匹配的矛盾;2减少对CPU的中断频率;放宽对中断响应时间的限制;3提高CPU与I/O 设备之间的并行性..8、缓冲池的组成、工作方式三个队列:空缓冲队列、输入队列、输出队列四种工作缓冲区:1用于收容输入数据的工作缓冲区;2用于提取输入数据的工作缓冲区;3用于收容输出数据的工作缓冲区;2用于提取输出数据的工作缓冲区;9、SPOLLing系统的定义、组成、特点SPOOLing系统是对脱机I/O工作的模拟;其必须有高速随机外存通常采用磁盘的支持..SPOOLing系统主要有以下四个部分:1输入井和输出井;为磁盘上开辟的两大存储空间;分别模拟脱机输入/出时的磁盘;并用于收容I/O设备输入的数据和用户程序的输出数据;2输入缓冲区和输出缓冲区;在内存中开辟;分别用于暂存由输入设备和输出井送来的数据;3输入进程SPi和输出进程SPo;分别模拟脱机输入/出时的外围控制机;用于控制I/O过程;4I/O请求队列;由系统为各个I/O请求进程建立的I/O请求表构成的队列..SPOLLing系统的特点:提高了I/O的速度;将独占设备改造为共享设备;实现了虚拟设备功能..10、磁盘的类型和访问时间组成磁盘分为两类:固定头磁盘一般为大容量磁盘和移动头磁盘一般为中小型容量磁盘..磁盘访问时间=寻道时间+旋转延迟时间+数据传输时间11、磁盘磁盘调度算法▲1、先来先服务FCFS2、最短寻道时间优先SSTF3、扫描Scan算法又称为“电梯调度算法“4、循环扫描CScan算法1要求:掌握算法思想、名称缩写..并能根据算法思想计算碰头的寻道轨迹;寻道距离和寻道时间;参考书P194页和作业题..2掌握算法性能评价●先来先服务FCFS:公平、简单;平均寻道时间可能较长;●最短寻道时间优先SSTF:平均寻道时间比FCFS算法短;但可能会出现“饥饿现象”和“磁臂粘着”现象..●扫描Scan算法:消除了“饥饿”现象;但可能会出现“磁臂粘着”现象..●循环扫描CScan算法:改进了对于边缘区磁道访问的不公平;但可能会出现“磁臂粘着”现象..5.N-Step-Scan和FSCAN算法:可避免出现“磁臂粘着”现象..第六章文件管理1、文件的定义、属性文件是指由创建者所定义的、具有文件名的一组相关信息的集合;可分为有结构文件和无结构文件..文件的属性包括:文件类型、文件长度、文件的物理位置、文件的建立时间。
全国计算机等级考试四级网络工程师操作系统原理部分
操作系统原理第一章操作系统概论1.1操作系统的概念操作系统的特征:并发性,共享性,随机性。
研究操作系统的观点:软件的观点,资源管理的观点,进程的观点,虚拟机的观点,服务提供者的观点。
操作系统的功能:1.进程管理:进程控制,进程同步,进程间通信,调度。
2.存储管理:内存分配与回收,存储保护,内存扩充。
3.文件管理:文件存储空间管理,目录管理,文件系统安全性。
4.设备管理5.用户接口UNIX是一个良好的、通用的、多用户、多任务、分时操作系统。
1969年AT&T公司Kenneth L.Thompson 用汇编语言编写了Unix第一个版本V1,之后Unix用C语言编写,因此事可移植的。
1.3操作系统分类1.批处理操作系统:优点是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统的效率。
缺点是用户不能直接与计算机交互,不适合调试程序。
2.分时系统:特点是多路性,交互性,独占性,及时性。
3.实时操作系统4.嵌入式操作系统5.个人计算机操作系统6.网络操作系统7.分布式操作系统8.智能卡操作系统1.4操作系统结构1.整体式结构2.层次结构3.微内核(客户机/服务器)结构:①可靠,②灵活(便于操作系统增加新的服务功能),③适宜分布式处理的计算机环境第二章操作系统运行机制2.1中央处理器寄存器:用户可见寄存器:数据寄存器(通用寄存器),地址寄存器,条件码寄存器。
控制和状态寄存器:程序计数器,指令寄存器,程序状态字。
目态到管态的转换唯一途径是通过终端和异常。
管态到目态的转换可以通过设置PSW指令(修改程序状态字)实现。
PSW包括:①CPU的工作状态代码②条件码③中断屏蔽码2.2存储体系存储器设计:容量,速度,成本存储保护:①界地址寄存器(界限寄存器):产生程序中断-越界中断或存储保护中断②存储键2.3中断与异常机制分类:中断:时钟中断,输入输出(I/O)中断,控制台中断,硬件故障中断异常:程序性中断,访管指令异常2.4系统调用系统调用程序被看成是一个低级的过程,只能由汇编语言直接访问。
操作系统复习题(选择和填空) 带答案
第一章绪论复习题1、操作系统有多种类型,允许多个用户将若干个作业提交给计算机集中处理的操作系统,称为__A___。
A.批处理操作系统 B.分时操作系统C.实时操作系统 D.多处理机操作系统2、⎽⎽⎽⎽C⎽⎽⎽⎽⎽操作系统允许用户把若干个作业提交给计算机系统。
A、单用户B、分布式C、批处理D、监督3、以下4个特征中,⎽⎽⎽⎽C⎽⎽⎽不是分时OS的特征。
A、多路性B、交互性C、及时响应性D、批量性4、操作系统有多种类型,允许多个用户以交互方式使用计算机的操作系统,称为______B_。
A.批处理操作系统 B.分时操作系统C.实时操作系统 D.多处理机操作系统5、一个完整的计算机系统是由___C _组成的。
A、硬件 B.软件 C. 硬件和软件 D.用户程序6、操作系统是一种____B__,它负责为用户和用户程序完成所有与硬件相关并与应用无关的工作。
A.应用软件 B.系统软件 C.通用软件 D.软件包7、把处理机的时间分成很短的时间片(如几百毫秒),并把这些时间片轮流地分配给各联机作业使用的技术称为_________A_。
A. 分时技术B. 实时技术C. 批处理技术D. 多道程序设计技术8、实时操作系统追求的目标是 C 。
A.高吞吐率 B.充分利用内存 C.快速响应 D.减少系统开销9、分时操作系统通常采用⎽⎽⎽⎽⎽⎽⎽B⎽⎽⎽⎽⎽策略为用户服务。
A、可靠性和灵活性B、时间片轮转C、时间片加权分配D、短作业优先10、操作系统是对⎽⎽⎽⎽⎽C⎽⎽⎽⎽⎽⎽进行管理的软件。
A、软件B、硬件C、计算机资源D、应用程序11、现代操作系统的主要目标是___提高资源利用率和___方便用户_ 。
12、操作系统的基本类型主要有___分时系统(或分时操作系统)、实时系统(或实时操作系统)和_批处理系统(或批处理操作系统)。
13、操作系统五个功能是:处理机管理、存储器管理、设备管理、以及文件管理和为用户提供操作接口。
14、操作系统的基本特征是___并发____,__共享___,___虚拟___ 和__异步___。
第6章 linux进程控制开发及多线程编程
进程的状态
进程是程序的执行过程,根据它的生命周期可以划分成3种 状态。 执行态:该进程正在运行,即进程正在占用CPU。 就绪态:进程已经具备执行的一切条件,正在等待分配 CPU的处理时间片。 等待态:进程不能使用CPU,若等待事件发生(等待的 资源分配到)则可将其唤醒。
Linux下进程地址空间(1)
互斥锁线程控制 (1)
在同一时刻只能有一个线程掌握某个互斥锁,拥有上锁状态 的线程能够对共享资源进行操作。若其他线程希望上锁一个 已经被上锁的互斥锁,则该线程就会挂起,直到上锁的线程 释放掉互斥锁为止。
互斥锁机制主要包括下面的基本函数。 互斥锁初始化: pthread_mutex_init() 互斥锁上锁: pthread_mutex_lock() 互斥锁判断上锁:pthread_mutex_trylock() 互斥锁解锁: pthread_mutex_unlock() 消除互斥锁: pthread_mutex_destroy()
示例
阅读并执行示例7-2-4 开始
教材P216-P217
fork()
程序功能: (1)使用fork创建一个子进程, 然后让其子进程暂停5s(sleep函 数)。 (2)父进程使用waitpid,参数 WNOHANG使进程不会阻塞; (3)若子进程退出,则waitpid返 回子进程号,若没有则waitpid返 回0,并且父进程每隔一秒循环判 断。
因此,可以通过返回值来判定该进程是父进程还是子进程。
fork示例
1.Fork返回两个值返回到哪里??
int main(void)
{
pid_t result;
2.怎样区分是父、子进程??
result = fork();
思考与练习题参考答案
第1章操作系统概述思考与练习题参考答案1. 选择题(1) C (2) D (3) C (4) C (5) B (6) C (7) B (8) C (9) B (10)B(11) A2. 填空题(1) 硬件软件(2) 存储管理设备管理(3) 软硬件资源(4) 批处理操作系统分时操作系统实时操作系统(5) 20ms 时间片轮转调度算法3. 判断题(1) × (2) × (3) √ (4)× (5) × (6). √ (7) √ (8)√4. 问答题(1) 简述操作系统的概念答:操作系统是一组能控制和管理计算机系统的硬件和软件资源,合理地组织计算机工作流程并为用户使用计算机提供方便的程序和数据的集合。
(2) 什么是批处理系统为什么要引入批处理系统答:批处理系统指用户的作业成批的处理,作业建立、过渡、完成都自动由系统成批完成。
因为1958~1964年,晶体管时代,计算机速度、容量、外设品种和数量等方面和第一代计算机相比都有了很大发展,计算机速度有几十倍、上百倍的提高,故使手工操作的慢速度和计算机运算的高速度之间形成一对矛盾。
只有设法去掉人工干预,实现作业自动过渡,这样就出现了成批处理。
(3) 什么叫多道程序试述多道程序涉及技术的基本思想及特征,为什么对作业进行多道批处理可以提高系统效率答:多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插交替运行。
当某道程序因某种原因不能继续运行下去时,管理程序就将另一道程序投入运行,这样使几道程序在系统内并行工作,可使中央处理机及外设尽量处于忙碌状态,从而大大提高计算机使用效率。
在批处理系统中采用多道程序设计技术形成多道批处理系统,多个作业成批送入计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。
(4) 何为分时系统简述其特点。
答:分时系统采用时间片轮转法,使一台计算机同时为多个终端服务。
操作系统第6章 文件管理(文件目录与目录文件)
2015/11/7
2
内容提纲
一 文件目录管理
二 文件共享与文件保护1/7
3
一 文件目录管理
一 文件目录管理
【一】目录管理的基本功能
1.实现“按名存取”,目录管理中最基本的功能之一是通过提供的 访问文件名,便客快速准确地找到指定外存上的文件存储位置。 2.快速检索文件目录。通过合理地组织目录结构的方法,可加快对 目录的检索速度,从而提高对文件的存取速度。这是在设计一个 大、中型文件系统时所追求的主要目标。 3.实现文件共享。在多用户系统中,通过保留在外存中的副本,供 不同用户使用,以节省大量的存储空间,提高文件利用率。 4. 文件重名。系统允许在不同级别的目录中,命名相同的文件名。
2015/11/7
17
一 文件目录管理
【八】多级目录
●对于大型文件系统,通常采用三级或三级以上的目录结构,以提高对目 录的检索速度和文件系统的性能。多级目录结构又称为树型目录结构, 主目录称为根目录,把数据文件称为树叶,其它的目录均作为树的结 点。图2中,方框代表目录文件,圆圈代表数据文件。在该树型目录结 构中,主(根)目录中有三个用户的总目录项A、B和C。在B项所指出的B 用户的总目录 B中,又包括三个分目录 F、E和D,其中每个分目录中又 包含多个文件。如B目录中的 F分目录中,包含 J和N两个文件。为了提 高文件系统的灵活性,应允许在一个目录文件中的目录项既是作为目 录文件的 FCB,又是数据文件的 FCB,这一信息可用目录项中的一位来 指示。例如,在图3中,用户 A的总目录中,目录项 A是目录文件的 FCB, 而目录项B和D则是数据文件的FCB。
2. 优点:易于理解实现和维护;
3. 问题:划分要考虑到如果分层太少,连接与访问简 单,但每层内容复杂;分层太多,形成的参数太 多,传递速度慢。 4. Madnick 把文件系统画分为8层,如下图1所示
国家开放大学《操作系统》章节测试参考答案
国家开放大学《操作系统》章节测试参考答案第1章操作系统概述一、单项选择题1.操作系统的基本职能是()。
A. 提供用户界面,方便用户使用B. 提供方便的可视化编辑程序C. 提供功能强大的网络管理工具D. 控制和管理系统内各种资源,有效地组织多道程序的运行2.按照所起的作用和需要的运行环境,操作系统属于()。
A. 应用软件B. 系统软件C. 支撑软件D. 用户软件3.在计算机系统中,操作系统是()。
A. 处于裸机之上的第一层软件B. 处于系统软件之上的用户软件C. 处于应用软件之上的系统软件D. 处于硬件之下的低层软件4.现代操作系统的基本特征是()、资源共享和操作的异步性。
A. 程序的并发执行B. 实现分时与实时处理C. 多道程序设计D. 中断处理5.以下不属于操作系统具备的主要功能的是()。
A. 中断处理B. CPU调度C. 内存管理D. 文档编辑6.为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。
这属于()。
A. 存储管理B. 作业管理C. 文件管理D. 处理器管理7.操作系统对缓冲区的管理属于()的功能。
A. 设备管理B. 存储器管理C. 文件管理D. 处理器管理8.操作系统内核与用户程序、应用程序之间的接口是()。
A. shell命令B. C语言函数C. 图形界面D. 系统调用9.系统调用是由操作系统提供的内部调用,它()。
A. 与系统的命令一样B. 直接通过键盘交互方式使用C. 是命令接口中的命令D. 只能通过用户程序间接使用10.在下列操作系统中,强调吞吐能力的是()。
A. 多道批处理系统B. 实时系统C. 网络系统D. 分时系统11.批处理系统的主要缺点是()。
A. CPU的利用率不高B. 系统吞吐量小C. 不具备并行性D. 失去了交互性12.为了使系统中所有的用户都能得到及时的响应,该操作系统应该是()。
A. 分时系统B. 网络系统C. 实时系统D. 多道批处理系统13.下面不属于分时系统特征的是()。
操作系统教学大纲
《操作系统》课程教学大纲一、课程基本信息课程名称:《操作系统》总学时与学分:72学时 4学分课程性质:专业必修课授课对象:计算机科学与技术专业二、课程教学目标与任务操作系统原理是一门专业基础课程,是涉及考研等进一步进修的重要课程,是计算机体系中必不可少的组成部分。
本课程的目的和任务是使学生通过本课程的学习,理解操作系统的基本概念和主要功能,掌握操作系统的使用和一般的管理方法,从而为学生以后的学习和工作打下基础。
三、学时安排课程内容与学时分配表章节内容学时第一章操作系统引论5第二章进程管理12第三章处理机调度与死锁12第四章存储管理12第五章设备管理10第六章文件管理8第七章操作系统接口4第八章网络操作系统3第九章系统安全性3第十章UNIX操作系统3四、课程教学内容与基本要求第一章操作系统引论教学目标:通过本章的学习,使学生掌握操作系统的概念,操作系统的作用和发展过程,知道操作系统是配置在计算机硬件上的第一层软件,是对计算机系统的首次扩充,是现代计算机系统必须配置的软件。
基本要求:掌握操作系统的目标和作用、发展过程、基本特征及主要功能;了解操作系统的结构设计本章重点:操作系统的概念、作用,操作系统的基本特征以及操作系统的主要功能。
本章难点:操作系统基本特征的理解,操作系统主要功能的体现。
教学方法:讲授与演示相结合1.操作系统的目标和作用:操作系统的目标、作用、推动操作系统发展的主要动力。
2. 操作系统的发展过程:无操作系统的计算机系统、批处理系统、分时系统、实时系统、微机操作系统的发展。
3.操作系统的基本特征:并发性和共享性、虚拟和异步性。
4. 操作系统的主要功能:处理机管理功能、存储器管理功能、设备管理功能、文件管理功能。
5. OS结构设计。
第二章进程管理教学目标:通过本章的学习使学生了解在现代的操作系统中程序并不能独立运行,作为资源分配和独立运行的基本单位都是进程。
操作系统所具有的四大特征也都是基于进程而形成的,并可以从进程的观点来研究操作系统。
计算机操作系统名词解释
第一章引论1操作系统:操作系统是管理和控制计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
2管态:当执行操作系统程序时,处理机所处的状态3目态:当执行普通用户程序时,处理机所处的状态。
4多道程序设计:在这种设计技术下,内存中能同时存放多道程序,在管理程序的控制下交替的执行。
这些作业共享CPU和系统中的其他资源。
5并发:是指两个或多个活动在同一给定的时间间隔中进行。
它是宏观上的概念。
6并行:是指两个或多个活动在同一时刻同时执行的情况。
7吞吐量:在一段给定的时间内,计算机所能完成的总工作量。
8分时:就是对时间的共享。
在分时系统中,分时主要是指若干并发程序对CPU时间的共享。
9实时:表示“及时”或“既时”。
10系统调用:是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。
每一个子功能称作一条系统调用命令。
它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。
11特权指令:指指令系统中这样一些指令,如启动设备指令、设置时钟指令、中断屏蔽指令和清内存指令,这些指令只能由操作系统使用。
12命令解释程序:其主要功能是接收用户输入的命令,然后予以解释并且执行。
13脱机I/O:是指输入/输出工作不受主机直接控制,而由卫星机专门负责完成I/O,主机专门完成快速计算任务,从而二者可以并行操作。
14联机I/O:是指作业的输入、调入内存及结果输出都在CPU直接控制下进行。
15资源共享:是指计算机系统中的资源被多个进程所功用。
例如,多个进程同时占用内存,从而对内存共享;它们并发执行时对CPU进行共享;各个进程在执行过程中提出对文件的读写请求,从而对磁盘进行共享等等。
第二章进程和线程1顺序性:是指顺序程序所规定的每个动作都在上个动作结束后才开始的特性。
2封闭性:是指只有程序本身的动作才能改变程序的运行环境。
3可再现性:是指程序的执行结果与程序运行的速度无关。
计算机操作系统课后题参考答案
第一章操作系统引论1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象12.试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。
答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。
(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
不像分时系统那样能向终端用户提供数据和资源共享等服务。
(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。
因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。
13.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
14.处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。
进程同步:为多个进程(含线程)的运行进行协调。
通信:用来实现在相互合作的进程之间的信息交换。
处理机调度:(1)作业调度。
从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。
第二章进程管理6.试从动态性,并发性和独立性上比较进程和程序?答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。
操作系统原理及应用(Linux)(第2版)课程教学大纲
《操作系统》课程教学大纲一、课程基本信息课程名称:操作系统先修课程:《计算机导论》(或《计算机应用基础》)、《C语言程序设计》、《数据结构》、《计算机组成原理》适用专业:计算机科学与技术、软件工程、网络工程等计算机及相关专业。
课程类别:专业教育必修课程/基础课程课程总学时:56-72 (其中理论40-56学时,实验16学时)二、课程目标通过本课程的学习,使学生具备下列能力:1.能够准确理解及掌握操作系统的基本概念、基本功能和基本原理,理解操作系统的整体运行过程。
2.能够理解及掌握操作系统的各组成部分,包括进程管理、调度、内存管理、文件管理、设备管理的功能及策略、算法、机制及相互关系。
3.能够运用操作系统原理、方法与技术分析问题和解决问题,并能利用C 语言描述相关算法。
4.在理解及掌握操作系统原理及算法的基础上,在进行硬件配置、软件设计及编程过程中,能够在资源和效率方面综合考虑,完善提高设计方案,提高利用操作系统知识解决实际问题的能力。
三、教学内容、要求及重难点第一章操作系统引论(3学时)教学要求:1.掌握操作系统的概念及功能,掌握操作系统的分类;2.掌握操作系统在计算机系统中的地位和作用;理解操作系统的大致运行过程;3.理解操作系统的特征;了解各种类型操作系统的特点及服务适应情况;4.了解操作系统的结构特征及发展概况,发展趋势。
教学重点:操作系统的概念、作用;操作系统的分类;操作系统的特征;操作系统的功能;操作系统的结构设计。
教学难点:操作系统的特征;操作系统的功能。
[实验名称]Linux系统管理及命令的使用[实验类型]验证型[实验要求]1.熟练Linux系统常用命令的使用;2.掌握Vi编辑器的使用方法;3.练习Linux shell的作用和主要分类,能编写简单的shell程序[实验学时]2学时第二章进程管理(10学时)教学要求:1.掌握进程的概念与特征;2.掌握进程的结构及进程控制的方法;3.掌握进程的同步与互斥,以及实现进程同步问题的硬件方法和软件方法;4.能用信号量机制解决进程的同步问题;5.掌握线程的基本概念;6.基本掌握利用管程解决同步问题的方法。
计算机操作系统期末复习
2.2 进程的描述
进程的定义 ➢为了使参与并发执行的每个程序都能独立执行,在操作系
统中必须为之配置一个专门的数据结构,称为进程控制块 (Process Control Block,PCB)。
➢由程序段、相关的数据段和PCB三部分构成了进程实体,
我们把进程实体简称为进程。
进程的特征 ➢动态性 ➢并发性 ➢独立性 ➢异步性
3.2 作业与作业调度
作业调度算法 先来先服务调度算法(FCFS)(不可抢占的) 短作业优先调度算法(SJF) 优先级调度算法(PSA) 高响应比调度算法(HRRN)
FCFS例题
例:下面三个作业几乎同时到达系统并立即进行FCFS调度:
作业名 所需CPU时间
作业1
28
作业2
10
作业3
1
假设提交顺序为1、2、3,则平均作业周转时间T = (28+38+39)/3 = 35
44 3 2
5
2
1
5
1
哲学家进餐问题的改进解法
semaphore chopstick[5]={1,1,1,1,1};
void philosopher(int i)
{
while(true)
{
if(i mod 2 == 0)
//偶数哲学家,先右后左。
{
wait (chopstick [(i + 1) mod 5]);
他们共用一张圆桌,分别坐在五张椅子上。在圆桌上有五个 碗和五支筷子,平时一个哲学家进行思考,饥饿时便试图取 用其左、右最靠近他的筷子,只有在他拿到两支筷子时才能 进餐。进餐毕,放下筷子又继续思考。
哲学家进餐问题的改进解法
方法一:至多只允许四位哲学家同时去拿左筷子,最终 能保证至少有一位哲学家能进餐,并在用完后释放两只 筷子供他人使用。
操作系统第6章习题带答案
第六章一、问答题1、什么是文件的逻辑结构?什么是文件的物理结构?2、为了能够查找到文件的位置,在采用连续文件、链接文件和索引文件时,在目录中需要登记哪些内容?3、磁盘容错技术可以分为哪三级?4、目前最广泛采用的目录结构是哪种?它有什么优点?5、文件在磁盘上存放的形式有几种?它们与存取方法有何关系?6、简述以下移臂调度算法的思想:先来先服务调度算法、最短查找时间优先算法、电梯调度算法。
7、简述文件控制块中包含的内容。
8、假设多个用户共享一个文件目录系统,用户甲要用文件A、B、C、E,用户乙要用文件A、D、E、F。
已知用户甲的文件A与用户乙的文件A实际上不是同一个文件;用户甲的文件C与用户乙的文件F实际上是同一个文件;甲、乙两用户的文件E是同一个文件。
试问你是否可以拟定一种文件目录组织方案,使得甲、乙两用户既能共享文件而又不造成混乱?答:采用多级目录结构,文件目录分解为基本目录和符号目录,只要在不同文件符号目录中使用相同文件内部标识符,甲、乙两用户既能共享文件而又不造成混乱。
画图并简要说明二、计算题1、假定盘块的大小为1KB,硬盘的大小为10GB,采用显示链接分配方式时,请问文件分配表只是占用多大空间?磁盘块数:10GB/1KB=10M表达10M盘块,FAT每项至少需要24位,即3个字节所以文件分配表至少占用3B*10M=30M2、系统中磁头停留在磁道号为70的磁道上,这时先后有4个进程提出了磁盘访问请求,要访问磁盘的磁道号按申请到达的先后顺序依次为:45,68,28,90。
移动臂的运动方向:沿磁道号递减的方向移动。
假设分别采用FCFS磁盘调度算法、SSTF算法,SCAN算法时,所需寻道长度分别为多少〔走过多少柱面〕?0号磁道是最里面还是最外面的一个磁道?提示:FCFS磁盘调度算法:70->45->68->28->90SSTF算法:70->68->90->45->28SCAN算法:70->68->->45->28->903、某系统采用UNIX操作系统的专用块内容为:空闲块数3,然后依次登记的空闲块号为77,89,60,问此时假设一个文件A需要5个盘块,系统进行分配后有个文件B被删除,它占用的盘块块号为100,101,109,500,则回收这些盘块后专用块的内容是什么?写出整个分析过程。
UNIX操作系统课后习题答案
第1章 UNIX操作系统概述1、什么是操作系统,列出你知道的操作系统?2、操作系统的主要功能?3、什么是UNIX?4、UNIX版本的两大派系?5、操作系统的哪一部分直接与硬件交互?6、操作系统的哪一部分执行用户交换?A. ShellB. Kernel7、UNIX平台上最用的编辑器是?8、写出两种AIX的图形用户接口的名字?9、AIX只支持硬盘上的文件系统。
(T/F)10、Shell有哪些功能、UNIX上有哪些常见的Shell?第1章 UNIX操作系统概述1、操作系统(Operating System,简称OS)是控制和管理计算机系统内各种硬软件的平台,用户使用计算机的接口,为用户提供一个使用方便可扩展的工作环境。
常见的操作系统:DOS、Windows、Unix、Linux、Mac OS X、Vxworks2、操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。
主要功能包括:文件管理、进程与处理机管理、设备管理、存储管理、网络管理等,由操作系统内核实现3、分狭义和广义的概念狭义的概念•UNIX仅指操作系统内核(Kernel)•内核负责控制并管理计算机资源•多个用户可访问•负责进程的创建、控制、调度,为进程分配内存和外设•提供文件系统的管理功能广义的概念•UNIX不仅指系统内核,它是一个应用环境和程序设计环境,提供了丰富的软件开发工具,包括编辑器、编译程序、调试工具、数据库等等•为应用程序开发者开发的操作系统•提供硬件可移植性,设备独立的文件系统的操作系统•功能强大的多任务、多用户的操作系统4、1)贝尔实验室版本:第1-7版,System Ⅱ,Ⅲ,Ⅳ,Ⅴ UNIX System V Release 4.2 (SVR4.2)现今的AIX 、SCO UNIX等2)加州大学伯克利分校计算机系统研究小组(CSRG)的BSD UNIX(Berkeley Software Distributions)较有影响的版本4.3BSD 现今的 FreeBSD、Solaris等工作站上的UNIX 一般属于这一派系5、Kernel6、A7、VI8、AIXwindowsCommon Desktop Environment (CDE)9、F,AIX支持磁盘文件系统,光盘文件系统,网络文件系统mount –amount /etc/filesystems重启系统分别装载每个文件系统10、SHELL的功能执行用户命令、命令解释器、程序设计语言、进程控制、可定制、特性: 通配符,变量常见的SHELLBourne Shell:是贝尔实验室开发的Bourne Shell:BASH:是GNU的Bourne Again ShellBourne Shell:在大部分内容上与Bourne Shell兼容Bourne Shell:在BSD系统上开发的,语法类似于C语言第2章 UNIX基本操作命令1、登录UNIX系统时会以*号显示用户输入的密码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在该程序中,首先使用fork()函数创建一个子进程, 然后在子进程里使用execlp()函数。从程序中可 以看到,这里的参数列表列出了在shell中使用的 命令名和选项。 将文件保存为execlp.c,使用交叉编译命令armlinux-gcc进行交叉编译: [root@localhost test]# arm-linux-gcc -o execlp execlp.c 将其下载到嵌入式系统开发板上运行该程序,运行 结果如下所示: [root@localhost test]# ./execlp execlp execlp.c proid proid.c
2、write函数
• write函数用于向打开的文件实现写入数据的操作。 写操作的位置从文件的当前位移量处开始。若磁 盘已满或超出该文件的长度,则write函数返回错 误值。 • 调用write函数所需要的头文件: • #include <unistd.h> • 其函数原型为: • ssize_t write(int fd, void *buf, size_t count); • 函数返回值为已写入数据的字节数,若返回-1则 出错。
6.1.3 read函数、write函数和 lseek函数
1、read函数
• read函数从打开的文件中读取数据。 • 调用read函数所需要的头文件: # include <unistd.h> • 其函数原型为: • ssize_t read(int fd, void *buf, size_t count); • 函数返回值为读到数据的字节数,若返回 值为0,则已经到达文件尾,若返回-1则为 出错。
2、系统调用
• 所谓系统调用是指操作系统提供给用户程 序调用的一组“特殊”接口,用户程序可 以通过这组“特殊”接口来获得操作系统 内核提供的服务。例如用户可以通过进程 控制相关的系统调用来创建进程、实现进 程调度、进程管理等。
3、文件处理
• Linux系统的文件处理,主要是指进行打开 文件、读文件、写文件及关闭文件等I/O操 作。大多数情况下,只需用到5个函数: open、read、write、lseek 和close。这 几个函数不需要经过缓冲就能立即执行, 因此,被称之为不带缓存的I/O操作,即每 一个函数都只调用内核中的一个系统调用。
3、System函数
system函数可以在一个程序的内部启动另一 个程序,从而创建一个新进程。system函 数所需要的头文件为: #include <stdlib.h> 其函数原型为: int system(const char *string);
4、进程调用的应用示例
【例6-8】设已有C语言的源程序Hello.c,现 编写一个程序,在程序中自动编译Hello.c, 并运行编译后的执行文件Hello。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 int main() 5 { /* 调用system函数编译命令 */ 6 system("gcc -o Hello Hello.c");
【例6-6】应用execlp函数列出当前目录下的所有文件。
1 #include <unistd.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 int main() 5 { 6 if (fork() == 0) 7 { 8 int ret; 9 /*调用execlp()函数,这里相当于调用了"ls -l"命令*/ 10 ret = execlp("ls", "ls", "-l", NULL); 11 } 12 return 0; 13 }
【例6-4】 获取当前进程的进程号PID。 1 2 3 4 5 6 7 #include <stdio.h> #include <unistd.h> int main() { printf(“PID = %d \n”, getpid()); return 0; }
将程序保存为proID.c,使用交叉编译命令 arm-linux-gcc进行交叉编译: [root@localhost test]# arm-linux-gcc -o proID proID.c 将其下载到嵌入式系统开发板上运行该程序: [root@localhost ex5]# ./proID PID = 3061 注意,每次执行结果都不一定相同。
2、exec函数族
在嵌入式Linux中并没有exec函数,而是有六种以 exec开头的函数,统称exec函数: #include <unistd.h> int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(const char *path, const char *arg, ..., char *const envp[]); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]); int execve(const char *path, char *const argv[], char *const envp[]);
3、创建进程
• 创建新进程的函数为fork( ),其函数原型为: • pid_t fork(void); • fork调用失败则返回-1,调用成功的返回值为进 程号。 • fork函数被调用后会返回两次。一次是在父进程 中返回,另一次是在子进程中返回,这两次的返 回值是不一样的。在子进程中返回0值,而在父进 程中返回子进程的进程号PID。 • 在执行fork()之后,同一进程有两个拷贝都在运行, 也就是说,子进程具有与父进程相同的可执行程 序和数据(简称映像)。
从上述运行结果中可以看出fork函数的特点,概括 起来就是“调用一次,返回两次”,在父进程中调 用一次,在父进程和子进程中各返回一次。第一次 的返回值PID = 0是在子进程中返回的进程号,第 二次的返回值PID = 4138是在父进程中返回子进程 的进程号。
6.2.2 进程控制
1、调用exec函数运行执行程序
4、示例
• 【例6-2】创建一新文件,然后对此文件进 行读写操作。 • 设计思路与分析: • (1)创建新文件 • (2)将指定内容写进文件 • (3)读取文件内容 • (4)关闭文件
6.2 进程与进程控制
6.2.1 进程
1、什么是进程
• 进程是一个具有独立功能的程序的一次动态执行 过程。简言之,进程就正在执行的程序。 • 例如,打开一个Windows资源管理器是在执行一 个进程,运行一个浏览器阅读WEB网页也是在执 行一个进程等。
6.1.2
open函数和close函数
1、open函数
• open函数用于打开或创建文件。 • 调用open函数所需要的头文件如下: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> • 其函数为: • int open(const char *pathname, int oflag, int perms ) ; • 函数返回值:若文件打开成功则返回文件 描述符,若出错则返回-1。
第6章 文件处理与进程控制
本章要点
1、文件描述符的概念 2、系统调用的基本概念 3、文件读写等处理方法 4、进程的概念 5、进程控制与进程间的通信 6、嵌入式Linux中对串口的操作
6.1嵌入式Linux的文件处理
6.1.1
文件描述符及文件处理
• 1、文件及文件描述符 • 由于在Linux下设备和目录都看作是文件, 因此,Linux中的文件有4种类型:普通文 件、目录文件、链接文件和设备文件。 • Linux的内核利用文件描述符访问文件。文 件描述符是非负整数,它是一个索引值, 并指向内核中每个进程打开文件的记录表。 当打开一个现存文件或新建一个文件时, 内核会向进程返回一个文件描述符。当读 写文件时,也需要使用文件描述符来指定 待读写的文件。
【例6-5】创建一个进程。
1 #include <stdio.h> 2 #include <unistd.h> 3 #include <sys/types.h> 4 int main() 5 { 6 pid_t pid; 7 pid = fork( ); 8 printf(“PID = %d \n”, pid); 9 return 0; 10 }
2、close函数
• close函数用于关闭一个打开的文件,所需 要的头文件为: • #include <unistd.h> • 其函数为: • int close(int fd); • 函数返回值:若成功为0,若出错为-1。 • 关闭文件函数close的参数fd为文件描述符。
3、示例
• 【例6-1】用可读写方式新建源自打开)一个 文件。 详见教材• 为了让子进程能运行另外的执行程序,需要用到 exec函数。当进程调用一种exec函数时,该进程 的用户空间代码和数据完全被新程序替换,从新 程序的启动例程开始执行。 • exec函数提供了一个在进程中启动另一个程序执 行的方法。它可以根据指定的文件名或目录名找 到可执行文件,并用它取代原调用进程的数据段、 代码段和堆栈段,在执行完后,原调用进程的内 容除了进程号外,其他全部被新的进程替换了。 也就是说,调用exec并不创建新进程,所以调用 exec前后该进程的进程号PID并未改变。