文档库 最新最全的文档下载
当前位置:文档库 › 《操作系统》课程学习笔记

《操作系统》课程学习笔记

《操作系统》课程学习笔记
《操作系统》课程学习笔记

《操作系统》学习笔记

第1章概述

本章介绍了操作系统的基本概念。主要包括:

计算机系统由硬件和软件两大部分组成,操作系统是计算机系统中的一种系统软件,它管理计算机系统的资源和控制程序的执行,改善人机界面和为其他软件提供支持。它的设计目标是使用户方便地使用计算机系统和使得计算机系统能高效地工作。

计算机配置操作系统的目的是提高资源利用率。

操作系统的形成和发展与计算机硬件和其他软件的发展密切相关。随着计算机应用的日益广泛,操作系统的功能也日趋完善,根据计算机系统的功能和应用,操作系统可分成几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。

批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化,无须人工干预。批处理多道系统还可以充分利用计算机系统的资源,缩短作业执行时间,提高系统的吞吐率。

分时操作系统支持多个终端用户同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。

实时操作系统是实现实时控制的系统,它由外部信号触发而工作,并在特定的时间内完成处理,且给出反馈信号。实时系统对可靠性和安全性的要求极高,不强求系统资源的利用率。

个人计算机系统都是使用微行计算机。比起大型机来,微行机既小又便宜。但是,个人计算机系统的资源和功能相对有限。为了满足较大规模的应用,可把若干台个人计算机系统构成计算机网络。根据计算机网络的结构、通信方式和资源管理方法,分别配置网络操作系统或分布式操作系统。

操作系统的资源管理功能可以分为四大部分:处理器管理、存储管理、文件管理、设备管理。

重点内容

(一)操作系统的定义

操作系统是一种管理计算机系统资源、控制程序执行、改善人机界面和为其他软件提供支持的系统软件。

(二)操作系统的类型

批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、多机操作系统和嵌入式操作系统。其中前三种是基本的操作系统。

(四)操作系统的功能

操作系统负责管理计算机系统的所有资源,并调度这些资源的使用。具体来说,其主要功能有:处理器管理、存储管理、设备管理、文件管理。

考情分析

1.1 计算机系统概述

一、计算机系统

1、计算机系统定义:是按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。

2、计算机系统构成:硬件系统和软件系统。

软件系统:系统软件(操作系统、编译系统)、支撑软件、应用软件。

3、硬件系统组成:中央处理器(CPU)、主存储器、辅助存储器、各种输入/输出设备。

计算机之父:冯.诺依曼

冯.诺依曼的贡献:

(1)提出用二进制表示数;

(2)提出五大部件组成计算机;

(3)提出“存储程序”思想,即把程序和数据都存放在存储器,早期的程序是由开关控制实现的,数据是存放在存储器中。

二、操作系统

1、操作系统定义:是一种管理计算机系统资源、控制程序执行、改善人机界面和为其他软件提供支持的系统软件。

从用户观点理解,操作系统是人机交互接口;

从资源管理角度,操作系统是管理计算机的软、硬件资源;

从程序控制观点,操作系统控制计算机程序的执行。

总结为:

操作系统是:

(1)管理计算机的软件、硬件资源;

(2)合理组织计算机工作流程;

(3)提供方便用户操作的接口

和软件的集合。

计算机配置操作系统的目的是提高资源的利用率。

操作使用者认为操作系统认为操作是一组命令的集合,它接收输入的命令,程序设计人员认为操作系统是一组功能调用程序(系统调用)的集合。

2、操作系统两个主要设计原则:

(1)能使得计算机系统使用方便。即方便

(2)提高计算机工作效率。即效率

1.2 操作系统的发展

1、控制台:早期,程序的装入、调试以及控制程序的运行都是程序员通过控制台上的开关来实现。(第一阶段,人工阶段)

2、原始汇编系统:用汇编语言编写的程序称为源程序,它不能直接在机器上执行,只有通过汇编语言解释程序把源程序转换成用机器指令序列表示的目标程序后才能在计算机上运行。

3、设备驱动程序:是最原始的操作系统。是一种控制设备工作的程序。

4、管理程序:是初级的操作系统。是一种能对计算机硬件和软件进行管理和调度的程序。(第二阶段)

5、操作系统:采用了SPOOLING的处理形式。

SPOOLING又称“斯普林”(翻译为联机的同时外围设备操作)。从本质上说,SPOOLING 是把磁盘作为一个巨大的缓冲器。在一个计算问题开始之前,把计算所需要的程序和数据从读卡机或其他输入设备上预先输入到磁盘上存放。这样,在进行计算时不再需要访问读卡机等慢速的输入设备,而可以从速度快得多的磁盘上读取程序和数据。同样,对于计算的结果也是先在磁盘上缓冲存放,待计算完成后,再从打印机上打印出该计算问题的所有计算结果。(第三阶段)

操作系统发展的历史:

(1)无操作系统阶段(第一代)

这个阶段有卡片、磁带机和打印机。通过各种开关操作计算机。

特点:①用户独占计算机②CPU等待人工操作

缺点:资源利用率低,CPU利用不充分(人机矛盾,随着计算机速度的提高日益显著)。

(2)管理程序阶段(第二代)

出现了编程语言:FORTRAN、COBOL。

第一个完整操作系统在IBM360上。

特点:①半自动方式②管理部分资源③资源可实现简单共享

这个阶段提供了一套控制命令——控制卡,以此来成批地处理用户程序,使其能自动有序执行。

缺点:CPU与I/O设备速度不匹配,系统效率较低。

(3)初级操作系统阶段(第三阶段)

出现大容量的磁盘,主存容量增大,CPU速度加快。

软件有了较大的发展。

联机输入输出:在主机控制之下的输入输出操作。只有一台主机。

脱机输入输出:一台主机,两台外围机,分开的输入输出操作。

采用多种典型技术:

①多道批处理技术:不完善,解决了人机矛盾及CPU与I/O设备速度不匹配,提高了资源

利用率。多道程序设计技术利用并发挥了计算机硬件资源的并行能力。

②SPOOLING技术:预输入和缓输出(脱机输入输出)。(作业调度各程序调用井管理程

序,井管理读程序(从输入井读)和井管理写程序(向输出井写))

③多道程序设计技术:内存若只有一道程序,若该程序请求I/O操作,则CPU处于等待I/O

完成状态,即空闲。为改善CPU和利用率,同时把若干作业放入主存,允许其交替执行,共享系统的软、硬件资源。

(4)现代操作系统阶段(第四代)

代表性的UNIX(多用户分时操作系统)。

(5)智能计算和网络计算阶段。

1.3 操作系统的分类

按照操作系统所提供的服务进行分类,可分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、多机操作系统和嵌入式操作系统等。其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统。

一、批处理操作系统

1、定义:用户为作业准备好程序和数据后,再写一份控制作业执行的说明书(作业说明书)。然后把作业说明书连同相应的程序和数据一起交给操作员。操作员将收到的一批作业的有关信息输入到计算机系统中等待处理,由操作系统选择作业,并按其操作说明书的要求自动控制作业的执行。采用这种批量化处理作业的操作系统称为批处理操作系统。

2、分类:

(1)批处理单道系统:一次只选择一个作业装入计算机系统的主存储器运行。

(2)批处理多道系统:允许多个作业同时装入主存储器,使中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需要的外围设备。09年7月填空题中考了本知识点。

3、批处理多道系统优点:

(1)多道作业并行工作减少了处理器的空闲时间,即提高了处理器的利用率。

(2)作业调度可以按一定的组合选择装入主存储器的作业,只要搭配合理。

(3)作业执行过程中,不再访问低速的设备,而是直接从高速的磁盘上存取信息,从而缩短了作业执行时间,使单位时间内的处理能力得到提高。

(4)作业成批输入、自动选择和控制作业执行,减少了人工操作时间和作业交接时间,有利于提高系统的吞吐率。

4、缺点

(1)平均周转时间长(从进入系统到完成所经历的时间)一个作业一旦运行便运行到完成,使许多短作业的周转时间显著增长。

(2)不提供交互能力:用户将作业交给系统后,无法再与之交互作用,因此必须提供一份详细的作业说明书。

二、分时操作系统

1、定义:能使用户通过与计算机相连的终端来使用计算机系统,允许多个用户同时与计算机系统进行一系列的交互,并使得每个用户感到好像自己独占一台支持自己请求服务的计算机系统。具有这种功能的操作系统称为分时操作系统,简称分时系统。

2、分时技术:即把CPU时间划分成许多时间片,每个终端用户每次可以使用一个由时间片规定的CPU时间。这样,多个终端用户就轮流地使用CPU时间。如果某个用户在规定的一个时间片内还没有完成它的全部工作,这时也要把CPU让给其他用户,等待下一轮再使用一个时间片的时间,循环轮转,直至结束。

3、分时系统主要特点:

(1)同时性。允许多个终端用户同时使用一个计算机系统。

(2)独立性。用户在各自的终端上请求系统服务,彼此独立,互不干扰。

(3)及时性。对用户的请求能在较短时间内给出应答。响应时间与用户数目和时间片长度有关。

(4)交互性。采用人机对话的方式工作。

4. 前台与后台

由分时系统控制的作业称为"前台"作业(终端作业),而那些由批处理系统控制的作业称为"后台"作业(批处理作业)。具体前台和后台的OS提高了系统的效率。

5、分时OS与多道批处理区别

(1)目标不同:批处理OS是提高系统效率,分时OSJ 对应用请求的快速响应。

(2)作业性质:批OS适用于需长时间的大型作业,分OS适用于时间较短的小作业。

(3)批OS可同时接收经合理安排的各种不同功能的作业,分时OS适合于运行执行相同功能的作业。

三、实时操作系统

1、定义:能使计算机系统接收到外部信号后及时进行处理,并且在严格的规定时间内处理结束,再给出反馈信号的操作系统称为实时操作系统,简称为实时系统。

2、实时操作系统的应用十分广泛,如控制科学实验、控制生产流水,监督病人的临床功能、监督和控制飞机的飞行状态,进行工业过程控制等。

3、设计实时系统注意点:

(1)要及时响应、快速处理。

(2)实时系统要求高可靠性和安全性,不强求系统资源的利用率。

4、实时OS特点

①及时性:首先必须考虑,其次才是资源的利用率,确保任何时候都能及时响应。

②可靠性:常用双工体制,两台计算机同时运行,一台为主机,另一台为备用机。

四、操作系统的发展

1、单用户微机操作系统:是指早期的微型计算机上运行的操作系统每次只允许一个用户使用计算机。

2、网络操作系统:为计算机网络配置的操作系统称为网络操作系统。网络操作系统把计算机网络中各台计算机系统有机地联合起来,为用户提供一种统一、经济而有效地使用各台计算机系统的方法,可使各台计算机系统相互间传送数据,实现各台计算机系统之间的通信以及网络中各种资源的共享。

3、分布式操作系统:为分布式计算机系统配置的操作系统称为分布式操作系统。分布式操作系统能使系统中若干台计算机相互协作完成一个共同的任务,或者说把一个计算问题可以分成若干个子计算,每个子计算可以在计算机系统中的各计算机上并行执行。

网络OS与分布式OS区别:

网络OS采用集中式,着重于信息共享,有专门的共享服务器(集中式),而分布式OS 可把一个大作业分解成多个小任务运行于网络的多台计算机上,着重于并行处理(分布式)。

4、多机操作系统:为多处理器系统配置的操作系统称为多机操作系统。

5、嵌入式操作系统:是指运行在嵌入式系统中对各种部件、装置等资源进行统一协调、处理和控制的系统软件。(主要特点是微型化和实时性)

1.4 操作系统的特征

1、共享性

2、并发性

3、移植性

4、不确定性

1.6 操作系统的功能

1、操作系统的功能:(从资源管理的角度来分)

(1)处理器管理:对CPU进行管理。

(2)存储管理:对主存储器进行管理。

(3)文件管理:通过对磁盘进行管理,实现对软件资源进行管理。

(4)设备管理:对各类输入/输出设备进行管理。

(5)接口管理

2、操作系统为用户提供的使用接口:

(1)程序员接口:通过“系统调用”使用操作系统功能。(开发者,系统级,程序接口)

(2)操作员接口:通过操作控制命令提出控制要求。(应用者,用户级,命令接口)

第三章处理器管理

内容概要

本章介绍了处理器管理的基本概念和方法。主要包括:

多道程序设计系统必须做好存储保护、程序浮动及资源分配与调度工作。

多道程序设计系统利用和发挥了处理器与外围设备以及外围设备之间的并行工作能力,从而极大地提高了处理器和其他各种资源的利用率,增加了单位时间内的算题能力。但是,多道程序设计可能会延长程序的执行时间。尤其要注意的是:并行工作道数与系统效率不成正比。

把一个程序在一个数据集合上的一次执行称为一个“进程”。进程是有生命期的,每个进程都有一个进程控制块记录进程的执行情况。随着进程状态的变化,进程经常要从一个队列退出,进入另一个队列,直至进程消亡。

重点内容

(一)多道程序设计

1. 让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种程序设计技术称为多道程序设计。

2.注意三个问题

(1)存储保护;

(2)程序浮动;

(3)资源的分配和调度。调度分为处理器调度(或进程调度)和作业调度。

对具有处理器与外设并行工作能力的计算机系统来说,采用了多道程序设计技术后,能提高整个系统的效率。具体表现为:

(1)提高了处理器的利用率。

(2)充分利用外围设备资源。

(3)发挥了处理器与外围设备以及外围设备之间的并行工作能力。

采用多道程序设计能改善资源使用情况,提高系统效率,但是要注意两个问题:

(1)可能延长程序执行时间。

(2)并行工作道数与系统效率不成正比。

3. 引入多道程序设计的目的

(1)提高了系统的效率,实现了处理器和外设的并行工作。

(2)增加了系统吞吐量(单位时间内运行作业的道数),但作业周转时间(作业的完成时间与作业提交时间的差)延长了。

(二)进程管理

把一个程序在一个数据集上的一次执行称为一个进程。

引入进程的原因有以下两个方面:

(1)提高资源的利用率。

(2)正确描述程序的执行情况。

进程有如下一些基本属性:

(1)进程的动态性。

(2)多个不同的进程可以包含相同的程序。

(3)进程可以并发执行。

(4)进程有三种基本状态。

为了便于管理进程,我们按进程在执行过程中不同时刻的不同情况定义三种基本状态:(1)等待态—等待某一事件。

(2)就绪态—等待系统分配处理器以便运行。

(3)运行态—正在占用处理器运行。

根据进程的四个基本属性可概括出进程具有如下三个特性:

1.动态性:进程是程序的一次执行过程,在执行过程中进程状态不断发生变化。

2.并发性:若干进程是可同时执行的,它们轮流占用处理器交替执行。

3.异步性:进程的执行速度取决于自身与外界原因以及能占用处理器的时间,因此以

不可预知的速度向前推进。

(三)进程队列

为了标识进程,记录各个进程执行时的情况,操作系统在创建进程时为每一个进程设置一个进程控制块。进程控制块的英文名称是Process Control Block,缩写为PCB。

进程控制块(PCB)作用:

①标识进程

②记录进程执行

在一般情况下,进程控制块应包含四类信息:

(1)标识信息

①标识每个进程的进程ID。

②对进程标识的说明,进程名。

(2)说明信息

①进程的当前状态(运行、就绪和等待之一),若是等待态,则需要进一步说明具体的等待原因。

②“进程的程序存放的位置”指出该进程的程序存放在哪里?

③“进程数据的存放位置”指出进程执行时的工作区,用来存放被处理的数据集和处理结果。。

(3)现场信息

包括控制寄存器(程序计数器(PC)、指令寄存器(IR)、数据缓冲器(MDR)、地址缓冲器(MAR))、通用寄存器(R0—R n-1)和程序状态字寄存器(如断点信息)(PSW)。

(4)管理信息。

包括进程的管理和调度信息。如进程优先级(进程占用CPU的先后次序)。“队列指针”指出处于状态的另一个进程的进程控制块地址。进程队列就是进程控制块的链表。

程序的一个静态的实体,进程是一个动态的实体。

一个程序在一个数据集上的一次运行称为一个进程。进程是有生命的,从创建而产生,到撤销而消亡。

操作系统中往往设计一些完成特定功能的,不可中断的过程,这些不可中断的过程称为原语。用于控制进程的原语有:

1.“创建”原语:为一个程序分配一个工作区和建立一个进程控制块,并置该进程为就绪状态。

2.“撤消”原语:一个进程完成工作后,收回它的工作区和进程控制块。

3.“阻塞”原语:进程运行过程中发生等待事件时,把进程状态改为等待态。

4.“唤醒”原语:当进程等待的事件发生时,把进程的状态改为就绪态。

进程从等待态到就绪态,没有进行进程的切换。

进程的就绪队列可能不止一个,可以按优先级的高、中、低分成三个就绪队列。同样,等待队列也可能不止一个。

进程从等待队列到就绪队列,就是把PCB从等待队列删除,插入到就绪队列中。

进程队列分单向链表和双向链表,队尾指针“0”表示不指向任何位置。

(七)处理器调度

如何对资源进行管理和分配是操作系统中的一个重要问题。处理器调度担负着对处理器的分配工作,它将决定谁能先占用处理器,一次能占用处理器多长时间。

在设计调度算法时,可考虑如下原则:

(1)公平性——对用户公平,不能无故或无限制地拖延一个作业的执行。

(2)平衡资源使用——尽可能地使系统资源都处于忙碌。

(3)极大的流量——在单位时间内为尽可能多的作业服务,保证计算机系统的吞吐能力。

一些常用的作业调度算法:

(1)先来先服务算法;(2)计算时间短的作业优先算法;(3)响应比高者优先算法;(4)优先级调度算法;(5)均衡调度算法。

常用的进程调度算法:(1)先来先服务调度算法;(2)最高优先级调度算法;(3)时间片轮转调度算法;(4)分级调度算法;

UNIX是一个分时操作系统,但它对进程的调度不是采用时间片轮转法,而是采用了动态

优先数调度算法。优先数越小的进程其优先权越高。

考情分析

本章主要考查多道程序设计时三方面注意问题,进程的定义,进程的三种状态和其转换,进程控制块的内容,进程的原语,unix进程控制块的内容,进程状态中断的类型,中断的响应,中断的优先级,作业调度和进程调度的方法。题型有单选题、多选题、填空题、简答题和综合题。

2.1 进程管理

2.1.1 多道程序设计

一、什么是多道程序设计

1、多道程序设计定义:让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种程序设计技术称为多道程序设计。这种计算机系统称为多道程序设计系统,简称为多道系统。

2、注意事项:

(1)存储保护:必须提供必要的手段使得在主存储器中的各道程序只能访问自己的区域,避免相互干扰。

(2)程序浮动:是指程序可以随机地从主存储器的一个区域移动到另一个区域,程序被移动后,仍丝毫不影响它的执行。(可集中分散的空闲区,提高主存空间的利用率)(3)资源的分配和调度:多道程序竞争使用处理器和各种资源时,多道程序设计的系统中必须对各种资源按一定的策略进行分配和调度。

二、为什么要采用多道程序设计

1、程序的顺序执行:处理器和外围设备,外围设备之间都得不到高效利用。

2、程序的并行执行:让程序的各个模块可独立执行、并行工作,从而发挥处理器与外围设备之间的并行工作能力。

3、多道并行执行:在一个程序各个模块并行工作的基础上,允许多道程序并行执行,进一步提高处理器与外围设备之间的并行工作能力,具体表现在:

(1)提高了处理器的利用率。

(2)充分利用外围设备资源。

(3)发挥了处理器与外围设备以及外围设备之间的并行工作能力。(注:并行:宏观可同时执行,微观也是同时执行。)

三、采用多道程序设计应注意的问题

1、可能延长程序执行时间:多道程序设计能提高资源使用效率,增加单位时间的算题量。但是对每个计算问题来说,从算题开始到全部完成所需的计算时间可能要延长。

2、并行工作道数与系统效率不成正比:并不是并行工作的道数越多,系统的效率就越高,而要根据系统配置的资源和用户对资源的要求而定。

(1)主存储器空间的大小限制了可同时装入的程序数量。

(2)外围设备的数量也是一个制约条件。

(3)多个程序同时要求使用同一资源的情况也会经常发生。

2.1.2 进程概述的引入

一、进程的定义

1、程序:具有独立功能的一组指令或一组语句的集合,或者说是指出处理器执行操作的步骤。09年7月解答题中考查了本知识点。

2、进程:是指一个程序在一个数据集上的一次执行。

3、程序和进程的区别:程序是静态的文本,进程是动态的过程。进程包括程序和数据集。

二、为什么要引入进程

1、提高资源的利用率:一个程序被分成若干个可独立执行的程序模块,每个可独立执行的程序模块的一次执行都可看做一个进程,通过进程的同步可提高资源的利用率。

2、正确描述程序的执行情况:可以方便描述一个程序被执行多次时,各自的执行进度。

2.1.3 进程的状态

进程有如下一些基本属性:

(1)进程的动态性。

(2)多个不同的进程可以包含相同的程序。

(3)进程可以并发执行。

(4)进程有三种基本状态。

为了便于管理进程,我们按进程在执行过程中不同时刻的不同情况定义三种基本状态:(1)等待态—等待某一事件。

(2)就绪态—等待系统分配处理器以便运行。

(3)运行态—正在占用处理器运行。

进程状态变化的几种情况有:

(1)运行态→等待态

(2)等待态→就绪态

(3)运行态→就绪态

(4)就绪态→运行态

根据进程的四个基本属性可概括出进程具有如下三个特性:

1.动态性:进程是程序的一次执行过程,在执行过程中进程状态不断发生变化。

2.并发性:若干进程是可同时执行的,它们轮流占用处理器交替执行。

3.异步性:进程的执行速度取决于自身与外界原因以及能占用处理器的时间,因此以不可预知的速度向前推进。

2.1.4 进程控制

1、进程控制块作用:即PCB,是进程存在的标识。

2、进程控制块构成:

(1)标识信息:用来标识进程的存在和区分各个进程。进程名。

(2)说明信息:用于说明本进程的情况。包括:进程状态、等待原因、进程程序存放位置、进程数据存放位置。

(3)现场信息:用来当进程由于某种原因让出处理器时,记录与处理器有关的各种现场信息。包括:通用寄存器内容、控制寄存器内容、程序状态字寄存器内容。

(4)管理信息:用来对进程进行管理和调度的信息。包括:进程优先级、队列指针。

2.1.5 进程队列

1、进程队列概念:为了便于管理,经常把处于相同状态的进程链接在一起,称为进程队列。

2、进程队列分类:

(1)就绪队列:是指把若干个等待运行的进程(就绪进程)按一定的次序链接起来的队列。

(2)等待队列:是指把若干个等待资源或等待某些事件的进程按一定的次序链接起来的队列。

3、队列实现方法:只需将状态相同的进程控制块链接起来就可以。链接的方式包括单向链接和双向链接。

4、队列管理:是指系统中负责进程入队和出队的工作。

(1)入队:是指一个进程进入到指定的队列。

A.从队首入队成为新的队首进程。

B.从队尾入队成为新的队尾进程。

C.插入到队列中某两个进程之间。

(2)出队:是指一个进程从所在的队列中退出。也存在三种情况。

2.1.6 进程的创建和撤销

1、进程创建:当系统为一个程序分配一个工作区(存放程序处理的数据集)和建立一个进程控制块后就创建了一个进程。刚创建的进程其状态为就绪状态(若执行过程中还缺少资源可以再将其转为等待状态)。

2、进程的撤销:当一个进程完成了特定的任务后,系统收回这个进程所占的工作区和取消该进程的进程控制块,就撤销了该进程。

3、原语:是操作系统设计用来完成特定功能且不可中断的过程。包括:创建原语、撤

销原语、阻塞原语、唤醒原语。

1.“创建”原语:为一个程序分配一个工作区和建立一个进程控制块,并置该进程为就绪状态。

2.“撤消”原语:一个进程完成工作后,收回它的工作区和进程控制块。

3.“阻塞”原语:进程运行过程中发生等待事件时,把进程状态改为等待态。

4.“唤醒”原语:当进程等待的事件发生时,把进程的状态改为就绪态。

2.1.7 进程的调度

1、进程切换:是指一个进程让出处理器由另一个进程占用处理器的过程。引起进程切换的事件:

(1)一个进程从运行状态变成等待状态。

(2)一个进程从运行状态变成就绪状态。

(3 )一个进程完成工作后被撤销。

2、进程调度算法:

(1)先来先服务调度算法

(2)最高优先级调度算法

(3)时间片轮转调度算法

2.2 线程

一、什么是线程

1、线程概念:是进程中可独立执行的子任务。

2、线程属性:

(1)每个线程有一个唯一的标识符和一张线程描述表。线程描述表记录了线程执行时的寄存器和栈等现场状态。

(2)不同的线程可以执行相同的程序,即同一个服务程序被不同的用户调用时,操作系统为它们创建成不同的线程。

(3)同一进程中的各个线程共享分配给进程的主存地址空间。

(4)线程是处理器的独立调度单位,多个线程是可以并发执行的。

(5)一个线程被创建后,便开始了它的生命期,直至终止。线程在生命期内会经历等待态、就绪态和运行态等各种状态变化。

3、线程和进程的区别:进程是资源分配单位,而线程是调度和执行单位。每个进程都有自己的主存空间,同一个进程中的各线程共享该进程的主存空间,进程中的所有线程对进程的整个主存空间都有存取权限。

二、进程与线程

1、进程缺点:

(1)每个进程要占用一个进程控制块和一个私有的主存区域,开销较大;

(2)进程之间的通信必须由通信机制来完成,速度较慢;

(3)进程增多会给调度和控制带来复杂性,增加了死锁的机会。

2、线程优点:

(1)创建线程无须另外分配资源,因而创建线程的速度比创建进程的速度快,且系统开销小。

(2)线程间的通信在同一地址空间中进行,故不需要额外的通信机制,使通信更简便,信息传递速度也更快。

(3)线程能独立执行,能充分利用和发挥处理器与外围设备并行工作的能力。

2.3 作业管理

一、处理器的两级调度

1、作业调度:是指从输入井中选取后备作业装入主存储器的工作。(作业调度应遵循的必要条件:系统现有的尚未分配的资源可以满足被选作业的资源要求。)

2、进程调度:是指从就绪进程中选取一个进程,让它占用处理器的工作。→作业调度和进程调度的关系:任何一个作业,只有先被作业调度选中才有机会去竞争处理器,然后仅当被进程调度选中时才能占用处理器。

二、作业的状态

作业的状态:提交、后备、运行(进程的三个状态)和完成状态。

三、批处理作业的调度算法

1、设计调度算法原则09年4月选择题就考查本知识点。

(1)公平性:对用户公平,不能无故或无限制地拖延一个作业的执行。

(2)平衡资源使用:尽可能地使系统都处于忙碌。

(3)极大的流量:在单位时间内为尽可能多的作业服务,保证计算机系统的吞吐能力。

2、周转时间:假定作业 i 进入输入井的时间为 Si 。若它被选中执行,得到计算结果的时间为 Ei ,那么它的周转时间就定义为Ti=Ei-Si。

3、作业调度算法:

(1)先来先服务算法

(2)计算时间短的作业优先算法

(3)响应比高者优先算法:响应比=等待时间/计算时间。

(4)优先级调度算法

(5)均衡调度算法

第3章存储管理

内容概要

本章介绍了计算机系统存储器管理的基本概念和方法。主要包括:

重定位的概念、固定分区存储管理、可变分区存储管理、页式存储管理、单用户连续存储管理和虚拟存储器。

主存储器是可被处理器直接访问的,处理器是按绝对地址访问主存储器的。为了使用户编制的程序能存放在主存储器的任意区域执行,用户使用逻辑地址编辑程序,即用户使用了逻辑上的主存储器。存储管理必须为用户分配一个物理上的主存空间,于是就有一个从逻辑空间到物理空间的转换问题。具体地说,是要把逻辑地址转换成绝对地址,把这样的地址转换工作称为重定位。

存储管理必须合理地分配主存空间,为了避免主存中的各程序相互干扰还必须实现存储保护,为了有效利用主存空间允许多个作业工享程序和数据,各种存储管理方式实现这些功能的方法是不同的,并且都有相应的硬件做支持。

实现虚拟存储器后,从系统的角度看提高了主存空间的利用率,从用户的角度看,编制程序不受主存实际容量的限制。虚拟存储器的容量由地址结构决定,若地址用n位表示,则虚拟存储器的最的容量为2n。虚拟存储器的实现借助于大容量的辅助存储器(例如磁盘)存放虚存中的实际信息,操作系统利用程序执行在时间上和空间上的局部性特点把当前需要的程序段和数据装入主存储器,且利用表格(例如页表、段表)构造一个用户的虚拟空间。硬件根据建立的表格进行地址转换或发出需进行调度的中断信号(例如缺页中断、缺段中断等)。操作系统处理这些中断事件时,选择一种合适的调度算法对主存储器和辅助存储器中的信息进行调出和装入,尽可能地避免“抖动”。

UNIX采用页式虚拟存储管理,并把编程序时用的地址称为虚拟地址。

重点内容

(一)概述

现代计算机系统都采用多级存储体系。这个存储体系主要包括主存储器、辅助存储器、高速缓冲存储器和寄存器。

为了提高处理器的利用率和系统的工作效率,主存储器中经常存放多个程序和数据。许多计算机系统都采用二级存储的办法,利用辅助存储器提供的大容量存储空间,存放准备运行的程序和数据,当需要时或主存空间允许时,随时将它们读入主存储器。

存储管理是对主存空间的用户区进行管理,其目的是尽可能地方便用户和提高主存空间的利用率。具体地说,存储管理的功能如下:

1.主存空间的分配与回收。(分配回收)

2.实现地址转换。(地址映射)

3.主存空间的共享与保护。(共享保护)

4.主存空间的扩充。(主存扩充)

(二)重定位

绝对地址:主存空间的地址编号。与绝对地址对应的主存空间称为物理地址空间。

相对地址:用户程序中使用的地址。与相对地址对应的存储空间称为逻辑地址空间。

为了保证作业的正确执行,必须根据分配给作业的主存空间对作业中指令和数据的存放地址进行转换,即要把相对地址转换成绝对地址。把相对地址转换成绝对地址的工作称为重定位或地址转换。

重定位的方式可以有静态重定位和动态重定位两种。

(三)单用户连续存储管理

这是一种最简单的存储管理方式,系统是将整个主存空间除了给操作系统划分出一块空间外,其余部分的空间都分配给一个作业使用。个人计算机可采用此种管理方法,它不适宜多道程序设计系统。

如果作业的逻辑地址空间大于用户区,采用覆盖技术可以把作业装入主存储器中。

某些系统还采用对换技术让多个进程轮流进入内存,这种技术多用于分时系统,随着进程调度,将内存中的进程暂时移到外存,而把外存中某一进程换进内存。

(四)固定分区存储管理

其基本思想是将内存划分成若干个固定大小的分区,每个分区中最多只能装入一个作业。当作业申请内存时,系统按一定的算法为其选择一个适当的分区,并装入内存运行。由于分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,容易造成存储空间浪费。

1.主存空间的分配与回收

系统设置一张“分区分配表”来描述各分区的使用情况。登记的内容应包括:分区号、起始地址、长度和占用标志。其中占用标志为“0”时,表示目前该分区空闲;否则登记占用作业名(或作业号)。有了“分区分配表”,空间分配与回收工作是比较简单的。

2.地址转换和存储保护

固定分区管理可以采用静态重定位方式进行地址映射。

为了实现存储保护,处理器设置了一对“下限寄存器”和“上限寄存器”。当一个已经装入主存储器的作业能够得到处理器运行时,进程调度应记录当前运行作业所在的分区号,且把该分区的下限地址和上限地址分别送入下限寄存器和上限寄存器。处理器执行该作业的指令时必须核对其要访问的绝对地址是否越界。

(五)可变分区存储管理

可变分区存储管理不是预先将主存划分分区,而是在作业转入主存时建立分区,使分区的大小正好与作业要求的存储空间相等。这种处理方式使内存分配有较大的灵活性,也提高了内存利用率。但是随着对内存不断地分配、释放操作会引起存储碎片的产生。

1.主存空间的分配与回收

采用可变分区存储管理,系统中的分区个数与分区的大小都在不断地变化,系统利用“空闲区表”来管理内存中的空闲分区,其中登记空闲区的起始地址、长度和状态。当有作业要进入内存时,在“空闲区表”中查找状态为“未分配”且长度大小或等于作业的空闲分区分配给作业,并做适当调整;当一个作业运行完成时,应将该作业占用的空间作为空闲区归还给系统。

可以采用最先适应算法、最优适应算法和最坏适应算法三种分配策略之一进行内存分配。

2.地址转换和存储保护

可变分区存储管理一般采用动态重定位的方式。为实现地址重定位和存储保护,系统设置了相应的硬件;基址/限长寄存器(或上界/下界寄存器)、加法器、比较线路等。

基地寄存器用来存放程序在内存的起始地址,限长寄存器用来存放程序的长度。处理器在执行时,用程序中的相对地址加上基址寄存器中的基地址,形成一个绝对地址,并将相对地址与限长寄存器进行计算比较,检查是否发生地址越界。

3.移动技术

所谓移动是指把作业从一个存储区域移到另一个存储区域的工作。采用移动技术有两个目的:

(1)集中分散的空闲区;

(2)便于作业动态扩充主存。

移动可集中分散的空闲区,提高主存空间的利用率。移动也为作业动态扩充主存空间提供了方便。但是采用移动技术时必须注意下列问题:

(1)移动会增加系统开销;

(2)移动是有条件的。

所以,在采用移动技术的系统中,应尽可能地减少移动,以降低系统开销,提高系统效率。为此可改变作业装入主存储器的方式来达到减少移动的目的。

(六)页式存储管理

1.基本原理

页式存储管理是把主存储器分成大小相等的许多区,每个区称为一块。采用分页式存储管理时,相对地址由两部分组成;页号和页内地址。在进行存储空间分配时,总是以块为单位进行分配。

页式存储管理必须解决两个关键的问题:第一,怎样知道主存储器上哪些块已被占用,哪些块是空闲的;第二,作业信息被分散存放后如何保证作业的正确执行。

2.页式主存空间的分配与回收

采用页式存储管理,可用一张“位示图”来构成主存分配表。进行主存分配时,先查空

闲块数能否满足作业要求。若不能满足,则作业不能装入。作业执行结束后,应收回作业所占的主存块。

3.页表和地址转换

当主存中空闲块数能满足作业要求时,存储管理就找出这些空闲块分配给作业,同时为作业建立一张页表,指出相对地址中页号与主存中块号的对应关系。

页式存储管理采用动态重定位的方式装入作业,作业执行时由硬件的地址转换机构来完成从相对地址到绝对地址的转换工作。页表是进行地址转换的依据。

利用高速缓冲存储器存放页表的一部分,把存放在高速缓冲存储器中的部分页表称为快表。采用快表后,使得地址转换的时间大大下降。

(七)虚拟存储管理

虚拟存储器实际上是为扩大主存容量而采用的一种管理技巧。采用虚拟存储有两个好处,第一,使主存空间能充分地被利用;第二,从用户的角度来看,好象计算机系统提供了容量很大的主存储器。

虚拟存储器的工作原理:把作业信息保留在磁盘上,当要求装入时,只将其中一部分先装入主存储器,作业执行过程中,若要访问的信息不在主存中,则再设法把这些信息装入主存。

页式虚拟存储器的实现是借助大容量辅助存储器(如磁盘)存放虚存中的实际信息,操作系统利用程序执行时在时间上和空间上的局部性特点,把当前需要用的程序段和数据装入主存储器。且利用表格(如页表)为用户构造一个虚拟空间(对不在主存的信息,指出存放在辅助存储器中的位置)。硬件根据操作系统建立的表格进行地址转换,当发现所要访问的信息不在主存储器中时,发出需要调度的中断信号(如缺页中断)。操作系统处理这个中断事件时,选择一种好的调度算法对主存储器和辅助存储器中的信息进行高效调度,尽可能避免“抖动”。页面调度算法有最佳调度算法、先进先出调度算法、最近最久未使用调度算法、最近最不经常使用调度算法等。

3.1 概述

一、存储器的的三级结构

利用辅助存储器提供的大容量存储空间,存放准备运行的程序和数据,当需要时或主存空间允许时,随时将它们读入主存储器。

1、存储器的三级结构:高速缓存(cache)、主存和辅存。

2、高速缓存:解决CPU与存储器的速度不匹配,是用时间换空间的技术。

高速缓存是电流式,由晶体管组成(二级管和三级管),会使用温度升高,影响数据的正确性。

主存是电压式,由电容器构成,温度低,便于增加密度,但速度慢。

3、辅存:解决主存空间的不足,是用空间换时间的技术。

二、存储管理的功能

1、主存储器空间划分:

(1)系统区:用来存放操作系统与硬件的接口信息、操作系统的管理信息和程序、标准子程序等。

(2)用户区:用来存放用户的程序和数据。

存储管理是对主存空间的用户区进行管理,其目的是尽可能地方便用户和提高主存空间的利用率。具体地说,存储管理的功能如下:

1.主存空间的分配与回收。(分配回收)

2.实现地址转换。(地址映射)

3.主存空间的共享与保护。(共享保护)

4.主存空间的扩充。(主存扩充)

三、地址重定位

1.绝对地址和相对地址

绝对地址:主存空间的地址编号。与绝对地址对应的主存空间称为物理地址空间。

相对地址:用户程序中使用的地址。与相对地址对应的存储空间称为逻辑地址空间。(用户作业都从“0”地址开始往下编写)

为了保证作业的正确执行,必须根据分配给作业的主存空间对作业中指令和数据的存放地址进行转换,即要把相对地址转换成绝对地址。把相对地址转换成绝对地址的工作称为重

定位或地址转换。

重定位的方式可以有静态重定位和动态重定位两种。

2.重定位的方式

(1)重定位:也称地址转换,是指把相对地址转换成绝对地址的工作。(分为静态重定位和动态重定位)

(2)静态重定位:地址转换的时刻在入主存储器时。(在作业装入主存时,一次性完成地址重定位,用软件完成)。

(3)动态重定位:地址转换的时刻在入处理器时(在指令执行过程中重定位,需要硬件与软件相结合)。

→动态重定位支持程序浮动,即作业执行时,被改变了存放区域的作业仍然能正确执行。而采用静态重定位时,由于装入主存储器的作业信息已经都是用绝对地址指示,故作业在执行过程中时不能移动位置的。

3.2 连续分配存储管理方式

3.2.1 单用户连续存储管理方式

一、存储空间的分配

1、主存空间划分:系统区和用户区。

2、存储空间分配方法:处理器中设置一个界限寄存器,存放当前可供用户使用的主存区域的起始地址。作业入主存储器时总是存放到由界限寄存器指示的起始地址开始往下存储。

3、重定位:采用静态重定位方式进行地址转换,即在作业装入主存时,由装入程序完成地址转换。装入程序只要把界限寄存器的值加到相对地址上就可完成地址转换。

4、存储保护:主存最大地址>=绝对地址>=界限地址,成立则可执行,否则有地址错误,形成“地址越界”的程序性中断事件。

5、缺点:

(1)当作业执行中出现了某个等待事件(如访问外设)时,处理器就处于空闲状态,不能被利用。(CPU利用率低)

(2)一个作业独占主存中的用户区,当主存中有空闲区域时,也不能被其他作业利用,降低了主存空间的利用率。(主礅利用率低)

(3)外围设备也不能充分被利用。(外设利用率低,外设不能与CPU并行工作)

二、覆盖技术

1、将作业划分成若干段,其中有一个主程序段是作业执行过程中经常要用到的信息,而其他辅程序段是不会同时工作的。

2、主程序段入驻留区;其他辅程序段轮流入覆盖区。

三、对换技术

在分时系统中,单用户连续存储管理可用对换方式让多个用户的作业轮流进入主存储器执行。系统中必须要有一个大容量的高速辅助存储器,多个用户的作业信息都被保留在磁盘上,把一个作业先装入主存储器让它执行。当执行中出现等待事件或用完一个时间片时,把该作业从存储器换出,再把由调度程序选中的另一个作业换入到主存储器中。

四、扩展知识

1、计算机启动的四大模块

(1)基本输入输出模块(主板BIOS芯片)

(2)IO.SYS 输入输出模块

(3)MSDOS.SYS 存储管理模块(核心)

(4)https://www.wendangku.net/doc/5f5125703.html, 命令处理模拟(人机交互的接口)

2、计算机启动变慢的原因

(1)虚拟内存文件(pagefile.sys)中垃圾信息太多

(2)启动加载项太多,特别是杀毒软件(实时监测工具)加载多个

(3)硬盘碎片太多。

3、主存空间大小=物理内存大小+各分区上虚拟内存大小之和

3.2.2 固定分区存储管理

一、基本原理

为解决主存空间利用率低和CPU利用率低及外外设的利用低,而引入固定分区存储管理。这种分区存储管理与多道程序设计技术一起出现。

将主存储器中可分配的用户区域预先划分成若干个连续区,每个连续区成为一个分区。每个分区的大小可以相同,也可以不同。每个分区仅可用来装入一个作业,但不允许在一个分区中同时装入多个作业。

二、主存空间的分配与回收

系统设置一张“分区分配表”,用来说明各分区的分配和使用情况。表中指出各分区的起始地址和长度,并为每个分区设置一个标志位。当标志位为“0”时表示分区空闲,当标志位非“0”时表示分区已被占用。

三、地址转换和存储保护

1、地址转换:采用静态重定位方式。

2、存储保护:处理器设置一对寄存器,即“下限寄存器”和“上限寄存器”用来存放当前进程所对应分区的下限地址和上限地址分别送入下限寄存器和上限寄存器。

下限地址<=绝对地址<=上限地址

成立则执行,否则产生“地址越界”中断。

四、缺点

出现了“内零头”,又称碎片,是指主存中无法被利用的小空闲区。

3.2.3 可变分区存储管理

一、主存空间的分配与回收

1、为解决内零头问题而引入可变分区存储管理。

2、分区的划分:系统初始启动时,主存储器中除操作系统占用部分外,把整个用户区看做一个大的空闲区。当有作业要装入主存储器时,根据作业对主存空间的需要量,从空闲区中划出一个与作业长度一致的分区来装入作业,剩余部分仍为空闲区。

3、主存空间的分配算法:分区分配表由两张表格组成,一张是“已分配区表”,另一张是“空闲区表”。

4、常用的分配算法

(1)最先适应分配算法:每次分配是总是顺序查找空闲去表,找到第一个能满足作业长度要求的空闲区,分割这个找到的空闲区,一部分分配给作业,另一部分分配给空闲区。

空闲区按首地址由小到大排序,高地址区有利于大作业装入。

(2)最优适应分配算法:按作业要求从所有的空闲区中挑选一个能满足作业要求的最小空闲区,这样可保证不去分割一个更大的区域,使装入大作业时比较容易得到满足。

空闲区按空闲区长度由小到大排序,有利于大作业的装入。

(3)最坏适应分配算法:这种算法总是挑选一个最大的空闲区分割一部分给作业使用,使剩下的部分不至于太小,仍可供分配使用。

空闲区按首地址空闲区长度由大到小排序,不利于大作业的装入。

5、主存空间的回收算法

(1)归还区有下邻空闲区(空间区没有增加);

(2)归还区有上邻空闲区(空间区没有增加);

(3)归还区既有上邻空闲区又有下邻空闲区(空闲区减少1个);

(4)归还区既无上邻空闲区又无下邻空闲区(空闲区增加1个)。

二、地址转换和存储保护

1、地址转换:采用动态重定位。作业执行过程中,每当取出一条指令后,就把该指令中的相对地址与基址寄存器的内容相加得到绝对地址。可变分区存储管理一般采用动态重定位的方式。为实现地址重定位和存储保护,系统设置了相应的硬件;基址/限长寄存器(或上界/下界寄存器)、加法器、比较线路等。

基地寄存器用来存放程序在内存的起始地址,限长寄存器用来存。处理器作业的基址寄存器内容与作业长度之和。在执行时,用程序中的相对地址加上基址寄存器中的基地址,形成一个绝对地址,并将相对地址与限长寄存器进行计算比较,检查是否发生地址越界。

2、存储保护

基址寄存器内容<=绝对地址<=限长寄存器内容

成立则执行,否则产生“地址越界”中断。

三、移动技术

所谓移动(或紧凑)是指把作业从一个存储区域移到另一个存储区域的工作。采用移动技术有两个目的:

(1)集中分散的空闲区;

(2)便于作业动态扩充主存。

移动可集中分散的空闲区,提高主存空间的利用率。移动也为作业动态扩充主存空间提供了方便。但是采用移动技术时必须注意下列问题:

(1)移动会增加系统开销;(移动耗时)

(2)移动是有条件的。比如作业存在访问外设,告诉外设作业的要处理的内容的首地址,在移动时不可能改变,所以此时的移动是不成功的。

所以,在采用移动技术的系统中,应尽可能地减少移动,以降低系统开销,提高系统效率。为此可改变作业装入主存储器的方式来达到减少移动的目的。

3.3 页式存储管理

一、基本原理

1、基本原理:把主存储器分成大小相等的许多区,每个区称为一块。与此对应,编制程序的相对地址也分成页,页的大小与块的大小相等。

2、相对地址构成:页号和页内地址。页内地址相当于中学物理中的偏移量或位移。

二、存储空间分配与回收

可用一张主存分配表来记录已分配的块和尚未分配的块以及当前剩余的空闲块数。由于块的大小是固定的,所以主存分配表可简化为一张“位示图”,用0表示对应块为空闲,1则为占用。

列:位号;

行:字号;

位置:块号

三、页表和地址转换

1.基本原理

页式存储管理是把主存储器分成大小相等的许多区,每个区称为一块。采用分页式存储管理时,相对地址由两部分组成;页号和页内地址。在进行存储空间分配时,总是以块为单位进行分配。

页式存储管理必须解决两个关键的问题:第一,怎样知道主存储器上哪些块已被占用,哪些块是空闲的;第二,作业信息被分散存放后如何保证作业的正确执行。

1、页表:每个作业一张页表,用来指出相对地址中页号和主存中块号的对应关系。 页表存放在主存中,每个进程对应一张页表。

页表含有的项:页号,块号等。

2、地址转换:采用动态重定位方式。每执行一条指令时,都要由地址转换机构按相对地址中的页号查页表,得到该页对应的主存块号,再按相对地址中的页内地址换算出欲访问的主存单元的绝对地址。计算办法:

(1)方法一:绝对地址=块号*块长+页内地址。

(2)方法二:将块号作为绝对地址的高位,将页内地址作为绝对地址的低位,即可形

成绝对地址(因为分块和分页大小是一致的)。

3、快表:

(1)页表缺点:需两次访问主存。第一次按页号读出页表中对应的块号;第二次按计算出来的绝对地址访问主存。

(2)快表:是指存放在高速缓冲存储器中的部分页表。而把存放快表的高速缓冲存储器称为“联想存储器”(由一组高速、小容量且可并行查找的联想存储器,联想存储器由一组联想寄存器组成)。

采用快表的方法后,使得地址转换的时间大大减少。

例题:假定访问主存的时间为200ns(纳秒),访问快表的时间为40ns,查快表的命中率为90%。于是,把逻辑地址转换成物理地址及存取的平均时间为:(200+40)×90%+(200+200)×10%=256ns

若不使用快表,则转换及存取时间为:200+200=400ns

3.6 虚拟存储管理

一、什么是虚拟存储器

如果能做到只装入作业的部分信息就可以让作业开始执行,那么当主存空间小于作业需求量时,系统就可以接受该作业,进而也就可以允许逻辑地址空间大于实际的主存空间。这样就带来两个好处,第一,使主存空间能充分地被利用;第二,从用户的角度来看,好像计算机系统提供了容量很大的主存储器,我们称它为虚拟存储器,简称虚存。虚拟存储器实际上是为扩大主存容量而采用的一种管理技巧。

Windows 系统称为虚拟内存,在每个分区中都可以有一个虚拟内容交换文件。文件名为:pagefile.sys。(其是隐藏的)

二、虚拟存储器的工作原理

1、工作原理:把作业信息保留在磁盘上,当要求装入时,只将其中一部分先装入主存储器,作业执行过程中,若要访问的信息不在主存中,则再设法把这些信息装入主存。

2、程序特点:

(1)第一,程序执行时有些部分是彼此互斥的,即在程序的一次执行中,执行了这部分就不会去执行另一部分

(2)第二,程序的执行往往具有局部性,在一段时间里可能循环执行某些指令或多次访问某一部分的数据。

3、实现虚拟存储器的关键问题:

(1)怎样知道当前哪些信息已在主存储器中,哪些信息尚未装入主存储器中?

(2)如果作业要访问的信息不在主存储器中,怎样找到这些信息并把它们装到主存储器中?

(3)在把欲访问的信息装入主存储器时,发现主存中已无空闲块又该怎么办?

3.7 页式虚拟存储器

1、实现原理:将作业的全部信息作为副本存放在磁盘上,作业调度选中一个作业时,至少把作业的第一页信息装入主存储器,在作业执行过程中欲访问不在主存储器中的页时,再把它们装入。为此,页表需更改,至少应包括页号、标志、主存块号、磁盘上的位置。

2、页面调度:

(1)页面调度概念:是指采用某种算法选择一页暂时调出,把它存放到磁盘上去,让出主存空间,用来存放当前要使用的页面的这一过程称为页面调度。

(2)抖动:也称颠簸,是指刚被调出的页又立即要用,因而又要把它调入;而调入不久又被调出;调出不久又再次被调入。如此反复,使调度非常频繁,以至于使大部分时间都花费在来回调度上。这种现象称为抖动。

(3)页面调度算法

A.最佳调度算法(OPT):总是把以后不再访问的页或距当前最长时间后再访问的页先调出。是一种理想算法,用来被用做衡量其他算法的标准,09年4月综合体就考了本知识点。

B.先进先出调度算法(FIFO):总是把先进入主存储器的页面调出。

C.最近最久未使用调度算法(LRU):距当前最长时间内没有使用过的页面先调出。

D.最近最不经常使用调度算法(LFU):在最近一段时间内使用次数最少的页面先调出。

3、缺页中断率

(1)缺页中断率定义:如果作业执行中访问页面的总次数为A,其中有F次访问的页面尚未装入主存,故产生了F次缺页中断。现定义缺页中断率f如下:f=F/A。

(2)影响缺页中断率的因素

(1)分配给作业的主存块数;

(2)页面大小;

(3)程序的编制方法;

(4)页面调度算法。

第四章文件管理

内容概要

本章介绍了文件与文件系统的基本概念和文件管理方法,主要包括:

文件系统为用户提供按名存取的功能,用户从使用角度组织文件,用户组织的逻辑文件有两种形式:流式和记录式。

文件系统从存储介质的特性、用户的存取方式以及怎样有效地存储和检索的角度组织文件,由文件系统组织的物理文件类型可以有顺序文件、链接文件和索引文件等。

文件系统通过查找文件目录得到用户指定的文件在存储介质上的位置,读出物理文件再转换成逻辑文件传送给用户。

为了正确地实现按名存取,用户与系统必须密切配合。对用户来说,应组织好逻辑文件,为文件定义文件名、存取方式、记录格式、记录长度以及存储设备类型等;调用规定的文件操作请求使用文件。对文件系统来说,要做好存储介质初始化的工作;确定物理文件的组织形式;进行文件存储空间的分配和回收;文件目录的查找和登陆;解释执行文件操作。

考虑到系统的效率与安全,文件系统还实现记录成组与分解工作,文件保护与保密功能,精心设计文件目录的结构以及磁盘空闲块的查找方法。

重点内容

(一)文件和文件系统

文件:我们把逻辑上具有完整意义的信息集合称为文件。一个文件可以是一系列的二进制数、字符或记录,它们的含义和命名都由文件的建立者定义。

文件系统对文件统一管理,目的是方便用户且保证文件的安全可靠。面向用户,文件系统主要是实现“按名存取”。为此,文件系统应由如下一些部分组成:(1)文件目录;(2)文件的组织;(3)文件存储空间的管理;(4)文件操作;(5)文件的安全措施。

(二)文件的存储介质

我们把可用来记录信息的磁带、应磁盘组、软磁盘片、光盘、卡片等称为存储介质,把可安装存储介质的设备称为存储设备。要把信息记录到存储介质上或从存储介质上读出信息必须启动相应的磁带机、磁盘驱动器等设备。

我们把存储介质的物理单位定义为卷,例如,一般磁带、一张软盘片、一个磁盘组都可称为一个卷。

我们把存储介质上连续信息所组成的一个区域称为块(物理记录)。块是主存储器与这些设备进行信息交换的单位。目前常用的存储设备是磁带机和磁盘机。

(三)文件的存取方式

从树文件信息的存取次序考虑,存取方式可以分成两种:顺序存取和随机存取。顺序存取是指对文件中的信息按顺序依次进行读写的存取方式。随机存取是指对文件中的信息不一定要按顺序读写,而是可以按任意的次序随机地读写的存取方式。

采用哪种存取方式,主要取决于两个方面的因素:

(1)与文件的使用方式有关;

(2)与存储介质的特性有关。

目前常用的存储设备是磁带机和磁盘机。

磁带机是一种适合顺序存取的存储设备。它总是从磁头的当前位置开始读写磁带上的信息。所以对存储在磁带上的文件,一般均采用顺序存取的方式。

磁盘机是一种可按指定的地址进行信息存取的设备。磁盘机上的每一块都有确定的位置和一个唯一的地址。所以磁盘机能随机读写磁盘机上任何一块的信息,具有随机存取功能。(四)文件目录

文件目录是用于检索文件的,它是文件系统实现按名存取的重要手段。文件目录由若干目录项组成。一般来说,每个目录项中应包含:有关文件存取控制的信息,有关文件结构的信息,有关文件管理的信息。

1.一级目录

一级目录是最简单的文件目录结构。这种目录结构是把一卷存储介质上的所有文件都登记在一个文件目录中。

每当建立一个新文件时就在文件目录中增加一个目录项;每当删去一个文件时就在文件目录中删去该文件的目录项。但这种结构无法解决文件重名问题。

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

计算机操作系统教学大纲

《计算机操作系统》课程教学大纲 一. 课程名称 操作系统原理 二. 学时与学分 学时共64学时(52+12+8) 其中,52为理论课学时,12为实验学时,8为课外实验学时 学分 4 三. 先修课程 《计算机组成原理》、《C语言程序设计》、 《IBM—PC宏汇编程序设计语言》、《数据结构》 四. 课程教学目标 通过本课程的学习,要达到如下目标: 1.掌握操作系统的基本原理与实现技术,包括现代操作系统对计算机系统资源的管理策略与方法、操作系统进程管理机制、现代操作系统的用户界面。 2.了解操作系统的结构与设计。 3.具备系统软件开发技能,为以后从事各种研究、开发工作(如:设计、分析或改进各种系统软件和应用软件) 提供必要的软件基础和基本技能。 4.为进一步学习数据库系统、计算机网络、分布式系统等课程打下基础。 五. 适用学科专业 信息大类各专业

六. 基本教学内容与学时安排 主要内容: 本课程全面系统地阐述计算机操作系统的基本原理、主要功能及实现技术,重点论述多用户、多任务操作系统的运行机制;系统资源管理的策略和方法;操作系统提供的用户界面。讨论现代操作系统采用的并行处理技术和虚拟技术。本书以Linux系统为实例,剖析了其特点和具体的实现技术。 理论课学时:52学时 (48学时,课堂讨论2学时,考试2学时) ?绪论4学时 ?操作系统的结构和硬件支持4学时 ?操作系统的用户界面4学时 ?进程及进程管理8学时 ?资源分配与调度4学时 ?存储管理6学时 ?设备管理4学时 ?文件系统6学时 ?Linux系统8学时 七、教材 《计算机操作系统》(第2版),庞丽萍阳富民人民邮电出版社,2014年2月 八、考核方式 闭卷考试

操作系统课程设计报告书

题目1 连续动态内存管理模拟实现 1.1 题目的主要研究内容及预期达到的目标 (1)针对操作系统中内存管理相关理论进行设计,编写程序并进行测试,该程序管理一块虚拟内存。重点分析三种连续动态内存分配算法,即首次适应算法、循环首次适应算法和最佳适应算法。 (2)实现内存分配和回收功能。 1.2 题目研究的工作基础或实验条件 (1)硬件环境:PC机 (2)软件环境:Windows XP,Visual C++ 6.0 1.3 设计思想 首次适应算法的实现:从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。为适应这种算法,空闲分区表中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高址空间保留大的空闲区。 循环首次适应算法的实现:在分配内存空间时,不再每次从表头开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。 最佳适应算法的实现:从全部空闲区中找到能满足作业要求的、且最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表中的空闲分区要按从小到大进行排序,从表头开始查找第一个满足要求的自由分配。 1.4 流程图 内存分配流程图,如图1-1所示。

图1-1 内存分配流程图内存回收流程图,如1-2所示。

图1-2 内存回收流程图 1.5 主要程序代码 (1)分配内存 void allocate(char z,float l) { int i,k; float ad; k=-1; for(i=0;i= l && free_table[i].flag == 1) if(k==-1 || free_table[i].length

LINUX操作系统课程标准

《LINUX操作系统》课程标准 1.前言 1.1课程性质 本课程是计算机应用技术的专业课程,也是本专业网络方向的必修课程之一,也可作为其他专业学生的选修课。本课程的前修课是计算机网络基础、操作系统原理等。学生通过本课程的学习可以全面掌握LINUX操作系统的基本操作,掌握如何利用LINUX提供的服务构建相关服务器,为将来的网站建设与开发提供必备知识。通过本课程的学习,提高学生对LINUX操作系统的认识,并通过案例教学和项目实训培养学生综合运用知识的初步能力,是从事各种网络管理、维护及设计的基础。并为后续课程学习、顶岗实习实施、就业等提供强大的支撑和促进作用。 1.2设计思路 本课程本课程是依据计算机应用技术专业岗位分析及网络管理员岗位能力要求设置的。并结合计算机网络技术专业标准中的人才培养目标和培养规格以及对《网络设备互联技术》课程教学目标要求而制定,用于指导《LINUX操作系统》课程建设和课程教学。 课程内容的编排与组织是以岗位实际工作要求及过程为依据确定的,立足于培养学生实际工作能力,以工作任务为中心组织课程内容,让学生在完成具体工作项目过程中学会完成实际岗位相应的工作任务,并将实际岗位职责及工作规范引入教学环节,使学生全面符合岗位职业能力要求。 本课程学时为72学时,4学分。 2.课程目标 通过本课程的学习,应较深刻的了解Linux操作系统的基础和应用知识,使学生掌握Linux系统的安装、配置、管理维护等技能,对Linux系统有一个全面的了解,奠定在Linux系统上作进一步开发的基础。达到初、中级职业标准的要求,形成诚实、守信、善于沟通、合作和富有爱心的思想品质,树立安全和服务意识,在此基础上形成以下职业能力。 ●能够了解目前网络操作系统管理标准

C语言和操作系统学习笔记

深入理解计算机系统 存储器层次 CPU主频: 3.2 GHz 高速缓存(1~10ns, 一个周期) 主存(10~100ns) 辅助(磁盘) (1byte/10ms, 一次可以传送大量字节, 几十到几百个周期) 三级存储(分钟为单位) 虚拟存储 虚拟页(VP), 物理页(PA), 页表(Page Table), 页表条目(PTE, Page Table Entry), DRAM(虚拟存储器缓存), SRAM(CPU和主存的缓存), MMU(存储器管理单元), 路旁转换缓冲(TLB, Translation Lookaside Buffer) 东芝satalite L700笔记本进入BIOS(ctrl + alt + del 之后F12) Ubuntu 15.10可能不适配NVDIA显卡(如: NVDIA GeFore GTX 745) Day01 C语言程序的绝大部分必须记录在以.c作为扩展名的文件里,这种文件叫源文件 C语言程序里可以直接使用加减乘除四则运算 符号(+、-、*、/) 每个独立的计算步骤最后必须使用分毫结束,用分号结束的一个计算步骤叫一条语句 任何C语言程序一个由大量的语句构成 C语言程序中,采用分组的方式管理所有的语句 一组里的所有语句必须写在一对大括号里 可以吧一组里面的语句再次进行分组 绝大多数语句必须属于某个分组 任何语句不可以跨越分组 不被其他大括号包含的大括号可以叫做顶级大括号 顶级大括号可以用来表示函数(可以吧函数看成一组语句) 每个函数必须有自己的名字,不用的函数的名字必须不同 任何C语言程序一对由一个活多个函数构成 C语言程序中必须有一个叫做main的函数,这个函数叫做主函数 C语言程序必须从主函数的第一条语句开始执行 当主函数的最后一条语句结束的时候整个程序结束 C语言程序允许一个函数的结束的时候遗留一个数字,这个数字叫做这个函数是返回值

操作系统课程教学大纲

GDOU-B-11-213 《操作系统》课程教学大纲 课程简介 课程简介: 本课程主要讲述操作系统的原理,使学生不仅能够从系统内部了解操作系统的工作原理,而且可以学到软件设计的思想方法和技术方法。主要内容 包括:操作系统的概论;操作系统的作业管理;操作系统的文件管理原理; 操作系统的进程概念、进程调度和控制、进程互斥和同步等;操作系统的各 种存储管理方式以及存储保护和共享;操作系统的设备管理一般原理。其次 在实验环节介绍实例操作系统的若干实现技术,如:Windows操作系统、Linux 操作系统等。 课程大纲 一、课程的性质与任务: 本课程计算机学科的软件工程专业中是一门专业方向课,也可以面向计算机类的其它专业。其任务是讲授操作系统的原理,从系统内部了解操作系统的工作原理以级软件设计的思想方法和技术方法;同时介绍实例操作系统的若干实现技术。 二、课程的目的与基本要求: 通过本课程的教学使学生能够从操作系统内部获知操作系统的工作原理,理解操作系统几大管理模块的分工和管理思想,学习设计系统软件的思想方法,通过实验环节掌握操作系统实例的若干实现技术,如:Windows操作系统、Linux操作系统等。 三、面向专业: 软件工程、计算机类 四、先修课程: 计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构。 五、本课程与其它课程的联系:

本课程以计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构等为先修课程,在学习本课程之前要求学生掌握先修课程的知识,在学习本课程的过程中能将数据结构、计算机组成结构等课程的知识融入到本课程之中。 六、教学内容安排、要求、学时分配及作业: 第一章:操作系统概论(2学时) 第一节:操作系统的地位及作用 操作系统的地位(A);操作系统的作用(A)。 第二节:操作系统的功能 单道系统与多道系统(B);操作系统的功能(A)。 第三节:操作系统的分类 批处理操作系统(B);分时操作系统(B);实时操作系统(B)。 第二章:作业管理(2学时) 第一节:作业的组织 作业与作业步(B);作业的分类(B);作业的状态(B);作业控制块(B)。 第二节:操作系统的用户接口 程序级接口(A);作业控制级接口(A)。 第三节:作业调度 作业调度程序的功能(B);作业调度策略(B);作业调度算法(B)。 第四节:作业控制 脱机控制方式(A);联机控制方式(A)。 第三章:文件管理(8学时) 第一节:文件与文件系统(1学时) 文件(B);文件的种类(B);文件系统及其功能(A)。 第二节:文件的组织结构(1学时) 文件的逻辑结构(A);文件的物理结构(A)。 第三节:文件目录结构(1学时) 文件说明(B);文件目录的结构(A);当前目录和目录文件(B)。 第四节:文件存取与操作(1学时) 文件的存取方法(A);文件存储设备(C);活动文件(B);文件操作(A)。 第五节:文件存储空间的管理(2学时) 空闲块表(A);空闲区表(A);空闲块链(A);位示图(A)。 第六节:文件的共享和保护(2学时)

操作系统课程设计报告

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级: 13软件工程1班 提交时间: 2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。

二、环境条件 系统: WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。

(4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

《网络操作系统》课程标准

河南质量工程职业学院 《网络操作系统》课程标准 课程名称、代码:《网络操作系统》0411018 总学时数: 60 (理论课学时数:30 实践课学时数:30) 适用专业:计算机网络技术 一、课程名称:网络操作系统 二、内容简介: 网络操作系统课程在计算机网络专业课程体系中被分成网络操作系统入门和网络操作系统高级应用2门课程,它是构建、管理和维护计算机网络的核心,是计算机网络系统运行、控制与管理的核心,在“建网、管网、用网”等职业岗位领域具有不可缺少的地位,它负责分配、协调和安全管理各种网络资源以及应用服务等任务,培养具备运行、管理和维护基于Windows的网络系统的技能人才,符合职业岗位的需求特点。同时是计算机网络技术专业的一门职业技能课,具有很强的实用性和可操作性。该课程是计算机网络技术专业网络工程方向的专业课程,主要包含WINDOWS SERVER 2003在网络服务器管理的最常用技术,也是网络管理员执业资格考试的重要内容,在整个课程体系中具有重要的作用。 三、课程性质: 由于该课程是一门非常实用的计算机网络应用技术,是网络管理的基础平台,有网络运行环境,就有网络操作系统(Windows系统服务)在负责网络资源的管理,因此,从职业岗位群分析,开设该课程符合广阔的网络市场对人才的需求特点,任何具备信息化建设和运行条件的企事业单位都需要具备网络操作系统技能的网络运行管理人员。因此,将该课程定位为计算机网络技术专业基础课程 ......。 通过该课程的学习,提高学生的综合素质,增强学生实际操作能力,使学生获得网络管理的能力,能胜任网络管理员的职责。 四、建议课时: 共计64 理论课时 32 实践课时32 五、前导课程:计算机应用基础、计算机网络基础 计算机应用基础主要是使学生对计算机的基本知识有了初步的了解,计算机网络基础主要是使学生掌握网络的概念、网络通信模式、网络的设备、以及网络的连接方式等相关知识,在此基础上引入网络操作系统课程。

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

操作系统课程设计2014教学大纲

《操作系统课程设计》大纲 一、设计目的和要求 目的:本课程设计是为配合计算机相关专业的重要专业课《操作系统》而开设的,其主要内容是让学生实际进行操作系统功能模块的设计和编程实现。通过本课程设计的实施,使学生能将操作系统的概念具体化,并从整体和动态的角度去理解和把握操作系统,以巩固和补充操作系统的原理教学,提高学生解决操作系统设计及实现过程中的具体问题的能力。 要求:通过本课程设计的实施,要求培养学生以下能力: (1)培养学生在模拟条件下与实际环境中实现功能模块和系统的能力:课程设计要求学生实际进行操作系统功能模块的设计和编程实现,具体包括:基于线程的多任务调度系统的设计与实现;一个简单文件系统的设计与实现。 (2)培养学生设计和实施工程实验的能力,合理分析试验结果的能力:学生在完成项目的过程中,需要进行实验设计、程序调试、错误分析,从而熟悉实验设计方法及实验结果的分析方法。 (3)培养学生综合运用理论和技术手段设计系统和过程的能力:学生需根据设计项目的功能要求及操作系统原理的相关理论提出自己的解决方案,需考虑项目实现的软硬件环境,设计相关数据结构及算法,在实现过程中发现解决方案的问题并进行分析改进。 (4)培养学生分析并清楚阐述设计合理性的能力:要求学生在项目上机验收和实验报告中分析阐述设计思路的合理性和正确性。 (5)培养学生的组织管理能力、人际交往能力、团队协作能力:课程设计分小组进行,每个小组有一个组长,负责组织本组成员的分工及合作。 二、设计学时和学分 学时:32 ;学分:1 三、设计的主要内容 以下三个题目中:1、2中选做一题,第3题必做。 1、基于线程的多任务调度系统的设计与实现 (1)线程的创建、撤消和CPU切换。 掌握线程的定义和特征,线程的基本状态,线程的私有堆栈,线程控制块TCB,理解线程与进程的区别,实现线程的创建、撤消和CPU切换。 (2)时间片轮转调度 理解各种调度算法、调度的原因,完成时钟中断的截取,具体实现调度程序。 (3)最高优先权优先调度 理解优先权的概念,并实现最高优先权优先调度策略。 (4)利用记录型信号量实现线程的同步

大学计算机基础课程标准

《大学计算机基础》课程标准 课程名称:大学计算机基础课程 课程类别:公共基础课 教学学时:32(理论)+32(实践) 课程学分:3 先行课程: 适用专业:非计算机类专业 参考教材: 1. 《大学计算机基础》云南大学出版社 2011年2月(主编:张洪明、陈环、刘玉菊、布瑞琴、朱有才) 2. 《大学计算机基础》高等教育出版社2011年8月(主编:周艳萍、施洋) 3.《大学计算机基础》云南大学出版社 2007年9月(主编:张洪明) 4.《大学计算机基础》中国铁道出版社2005年8月(主编:郭晔) 一、课程性质 大学计算机基础是面向全校非计算机专业的一门公共课程。针对非计算机专业计算机基础教学的规律,与计算机的应用能力和技能密切结合,大学计算机基础向学生系统介绍以操作系统、网络技术、多媒体技术为核心的,包括计算机系统构成、操作系统、办公信息处理、计算机网络、信息检索与安全、多媒体技术及应用、网页设计等内容的计算机科学的基本概念,全面提升计算机文化基础的层次,体现文化和信息意识,突出计算机知识的基础性和实用性。学生通过本课程的学习,能够较全面和系统地了解计算机的软、硬件技术和网络的基本概念,具备在网络环境下应用计算机的基本技能和信息处理能力。 二、课程目标 (一)知识目标 1.掌握计算机的基础知识,了解计算机工作原理和信息处理原理。 2.掌握Windows操作系统的一般知识和操作技术。 3.熟练掌握Word、Excel、PowerPoint的使用和操作。 4.了解和掌握计算机网络的基本原理,掌握简单的Html网页设计语言的使用,掌握 Dreamweaver 网页制作基本技术。 5.了解多媒体图像、音频、视频等基本原理,掌握Flash等软件的一般使用。 6.了解和掌握信息检索技术和信息安全技术。 (二)职业技能目标 培养学生的自学能力和获取计算机新知识、新技术的能力,具有使用计算机工具进行文字处理、数据处理、信息获取三种能力。 (三)素质养成目标 1.培养学生认真负责的工作态度和严谨细致和工作作风; 2.培养学生的自主学习意识和团队协作精神; 3.培养学生诚实守信意识和职业道德 4.培养学生创新意识和信息化处理工作的意识和能力。 (四)职业资格证书考核要求 获得云南省高校非计算机专业计算机应用能力考试(一级C类考证)

考研计算机操作系统学习笔记

第一章操作系统引论 操作系统的定义:是计算机系统中的一个系统软件,管理和控制计算机系统中的硬件和软件资源,合理的组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强大、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。 1.1操作系统的目标与作用 1.目标:有效性、方便性、可扩充性、开放性 2.作用:a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. 实现了对计算机资源的抽象 3.操作系统为用户提供三种类型的使用接口:1.命令方式;2.系统调用方式;3.图形、窗口方式 1.2操作系统的发展过程 无操作系统的计算机系统、批处理系统(单道、多道)、分时系统、实时系统 1.单道批处理系统特征:自动性、顺序性、单道性。 多道批处理系统的优缺点:优点:资源利用率高、系统吞吐量大;缺点:平均周转时间长、无交互能力。 2.分时系统和实时系统的特征: 分时系统的特征:多路性、独立性、及时性、交互性、可靠性 实时系统的特征:实时性、可靠性、安全性 3.分时系统和实时系统的比较:a.及时性:实时信息处理系统对实时性的要求与分时系统类似都以人所能接受的等待时间来确定,但实时控制系统的及时性则是以控制对象所要求的开始截止时间或完成截止时间来确定的;b.交互性:实时信息系统虽然也具有交互性,但其交互性仅限于访问系统中某些特定的专用服务程序,不像分时系统能向终端用户提供数据处理和资源共享等服务;c.可靠性:分时系统虽然也要求系统可靠,但相比实时系统则要求系统具有高度的可靠性。 1.3操作系统的基本特性 基本特性:并发性、共享性、虚拟技术、异步性 1.4操作系统的主要功能 操作系统的主要任务:为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊的、高效的运行,并能最大程度的提高系统中各种资源的利用率和方便用户的使用。 主要功能:处理机管理(进程管理、进程同步、进程通信、处理机调度) 存储器管理(内存分配、内存保护、地址映射、内存扩充) 设备管理(设备管理、设备分配、设备处理、虚拟设备) 文件管理(文件存储空间的管理、目录管理、文件读/写管理和保护) 1.5操作系统与用户之间的接口: 1.用户接口:供用户组织和控制作业的执行和管理计算机系统; 2.程序接口:供编程人员使用操作系统提供的系统调用来请求操作系统提供服务。 1.6OS结构设计 1.操作系统结构:无结构OS、模块化结构OS、分层式结构OS、微内核结构OS 2.微内核技术:把操作系统中更多的成分和功能放到更高的层次(用户模式)中去运行,而留下一个 尽可能小的内核,用它来完成操作系统最基本的核心功能,称之为微内核技术。 补1.计算机操作系统的性能指标 系统可靠性、系统吞吐量、资源利用率、周转时间、可移植性、可扩展性 系统吞吐量:指系统在单位时间内处理的信息量;周转时间:指用户从提交作业到得到计算结果这段时间,又称系统响应时间。 补2.硬件将处理机划分为两种状态即管态和目态

操作系统课程教学网站论文

摘要 通过操作系统教学网站的建设,完成了对于操作系统课程的远程化授课。可以使学生不受时间空间的限制,通过网络对于这门课程进行学习。建立起了基于B/C的网络化教学系统。本网站采用当前最流行的JSP网络编程技术,可以实现数据的高效、动态、交互访问,具有强大的Server/Client交互能力。本文中所做的主要工作:介绍Win2000 +JSP(J2DK+TOMCAT)系统并且嵌入 JAVABEAN的一般原理;阐述整个操作系统教学网站的概要设计,系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;详细设计实现学院介绍、教学资源、课程表、课堂教学、在线答疑、其他课程、课件下载、留言反馈、自我测试、成绩管理、站内搜索、公告专栏、友情链接、校园风景、新闻中心、栏目导航等程序模块;各个模块的具体实现,且分析并解决实现中的若干技术问题;建立完整的实验网站,进行测试并分析结果。 关键字: JAVABEAN JSP 交互访问 JAVASCRIPT JDBC

Abstract Through the operating system teaching website construction, completed long-distance has taught regarding the operating system curriculum, was allowed to cause the student without the time space limit, and carried on the study through the network regarding this curriculum. Established based on the B/C network teaching system. This website uses the current most popular JSP network programming technology, may realize the data to be highly effective, dynamically, alternately visits, and has the formidable Server/Client interactive ability. In this article does main work: Introduced Win2000 +JSP (J2DK+TOMCAT) the system and to insert JA V ABEAN the general principle; Elaborates the entire operating system teaching website outline design, the system structure and the principle of work; Has analyzed in the system realization particularity, the difficulty and key; The detailed design realization institute introduced, in the teaching resources, the class schedule, the classroom instruction, the on-line Q/A, other curricula, class downloading, the message feedback, the self- test, the result management, the station search, program module and so on announcement column, friendship link, campus scenery, news center, column navigation; Each module concrete realization, also in analysis and solution realization certain technical questions; The establishment integrity experimental website, carries on the test and the analysis result. Key words: JA V ABEAN JSP alternately visits JA V ASCRIPT JDBC

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件 系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景

计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下: 钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

《Linux操作系统及应用》课程标准

安徽国际商务职业学院 信息服务系 课程标准 信息服务系(院)制(修)订 二0一五年9月 执笔人:蔡政策主审人:杨辉军、徐辉

《Linux操作系统及应用》 课程标准 ●课程名称:Linux操作系统及应用 ●适用专业:计算机网络、计算机应用技术考核方式:考试 ●总学时/学分:72/4 ●前修学习领域::《计算机基础》、《计算机网络基础》等专业基础课程。 ●后续学习领域:《计算机网络安全》、《网络服务器技术》、《linux高级应用》等课程。 一、课程的性质与任务 Linux网络配置管理是网络工程专业的一门专业必修课。Linux是高性能,开放源代码的操作系统,具有广泛的网络应用领域。本课程主要讲授Linux作为网络操作系统的应用、配置与管理技术,使学生掌握基于Linux系统的网络组建,调试和网络服务器配置的技能和方法。通过对Linux网络应用的学习,使学生对网络组建、网络服务器配置与应用有更全面的认识,能够进行Linux局域网、服务器的日常维护和远程管理,并对网络资源与通信进行有效的管理以提高网络性能,旨在培养面向计算机行业的Linux网络技术人才。 二、课程目标 通过学习本课程后,应达到以下基本要求:理解Linux网络操作系统的概念,了解Linux在网络中的应用与前景;掌握Shell技术,以及Shell的应用程序开发;掌握Linux网络基础知识,远程管理与控制Linux网络的方法与技术;掌握网络配置命令与文件的编辑,Linux与其它系统的网络共享技术;掌握DHCP,DNS,FTP,SAMBA,NFS,E-mail,WEB(APACHE)等服务器的配置、管理与应用等。

操作系统教学计划.doc

操作系统 一、说明 (一)课程性质 本课程是计算机科学与技术专业的核心课程之一,属于必修课程。 “操作系统”是计算机系统不可缺少的组成部分,负责对系统中各种资源进行有效的管理和对各种活动进行正确的组织,使整个计算机系统协调一致且高效地工作,指挥计算机系统正常运行。操作系统基于硬件,并对硬件实施管理,并构成对所有软件运行的支持平台,给用户使用计算机而提供方便灵活友好的接口。 本课程的先修课为计算机组成原理、微机原理、数据结构、高级语言程序设计;后续课程为数据库系统原理、计算机网络、分布式系统等。 (二)教学目的 通过本课程的学习,使学生在深刻理解计算机系统整体概念的基础之上,掌握操作系统的基本内容及实现方法,掌握操作系统对计算机系统中各种资源的管理和控制功能,从而使学生具备一定的系统软件开发技能,为以后从事的研究、开发工作(如设计、分析或改进各种系统软件和应用软件)提供必要的软件基础和基本技能。 (三)教学内容 本课程内容包括:绪论,是对操作系统的一般性描述,包括什么是操作系统,操作系统在整个计算机系统的地位及其发展历史,它的功能、分类等;作业管理和linux用户接口,介绍作业和操作系统用户接口,包括作业的基本概念和作业的建立过程、linux介绍和它所提供的用户接口等;进程管理,主要介绍进程和线程的概念、进程控制、进程同步/互斥、死锁、进程间通信、线程等;处理机调度,主要介绍作业调度、进程调度、各种调度算法及其评价等;存储管理,介绍常见存储管理的方法,虚拟存储管理的实现等;linux进程和存储管理;文件系统,包括文件系统的概念、文件结构和文件存取、文件目录管理、linux文件管理等;设备管理;面向对象的操作系统和分布式操作系统。 (四)教学时数 课内学时:72 (五)教学方式 本课程的教学环节包括:课堂讲授、习题课、课堂讨论、批改作业、课外辅导、实验相结合,并逐步采用cai、网络教学等教学手段。通过本课程各个教学环节的教学,重点培养学生的自学能力、分析问题解决问题的能力。 教学方法:采用启发式教学,鼓励学生自己针对某种操作系统进行分析和研究,培养学生的自学能力,以“少而精”为原则,精选教学内容,精讲多练,调动学生学习的主观能动性。教学手段:开展电子教案、cai课件的研制、引进和应用,研制多媒体教学系统。 考试环节:考试形式采用笔试,考试题型分为:填空题、选择题、判断题、简答题、分析设计题。 二、本文 第1章绪论 教学要点: 操作系统的概念及其发展历史、分类,操作系统功能,研究操作系统的观点。本章是对操作系统的一般性描述。 教学时数:4学时 1.1 操作系统概念(0.5学时) 掌握操作系统的概念及其在计算机系统中的作用。 1.2 操作系统的发展历史(1学时)

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件

系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。

2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<

相关文档
相关文档 最新文档