参考书籍

  • 张尧学,宋虹,计算机操作系统教程(第4版) ,清华大学出版社,2013年10月
  • William Stallings,操作系统精髓与设计原理 北京:机械工业出版社,2010年9月
  • 张丽芬,操作系统实验教程及Linux和Windows系统调用编程,清华大学出版社,2010年9月
  • 开始做了一些笔记,但是觉得这种复习方式太慢了,其他部分还是要看书所以放弃了笔记的编写

OS概论

OS做什么 ?

#include <stdio.h>
int main(int argc, char *argv[]){ //main函数的参数是给外界的接口
int i;
if (argc > 1){
printf ("argc = %d\n", argc);
for (i = 0; i < argc; i++){
printf ("argv [%d] = %s \n", i, argv[i]);
}
}
else
printf ("hello world!\n");
return 0;
}

1. 用户告诉操作系统执行hello程序

2. 操作系统找到该程序,检查其类型

3. 检查程序首部,找出正文和数据的地址

4. 文件系统找到第一个磁盘块

5. 父进程需要创建一个新的子进程,执行hello程序

6. 操作系统需要将执行文件映射到进程结构

7. 操作系统设置CPU上下文环境,并跳到程序开始处

8. 程序的第一条指令执行,失败,缺页中断发生

9. 操作系统分配一页内存,并将代码从磁盘读入,继续执行

10. 更多的缺页中断,读入更多的页面

11. 程序执行系统调用,在文件描述符中写一字符串

12. 操作系统检查字符串的位置是否正确

13. 操作系统找到字符串被送往的设备

14. 设备是一个伪终端,由一个进程控制

15. 操作系统将字符串送给该进程

16. 该进程告诉操作系统它要显示字符串

17. 操作系统确定这是一个合法的操作,然后将字符串转换成像素

18. 操作系统将像素写入存储映像区

19. 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)

20. 显示器发射电子束

21. 你在屏幕上看到hello world

嵌入式OS的开发环境

通常配有源码级可配置的系统模块设计

丰富的同步原语

可选择的调度算法

可选择内存分配策略

定时器与计数器

多方式中断处理支持

多种异常处理选择

多种通信方式支持

标准C语言库

数学运算库和开放式应用程序接口

OS概念

操作系统的作用

  • OS是计算机硬件、软件资源的管理者

    管理的对象:处理机(CPU)、存储器、I/O设备、文件(数据程序)

    管理的内容:

    1. 资源的当前状态(数量和使用情况)
    2. 资源的分配、回收和访问操作
    3. 相应管理策略(包括用户权限)
  • OS是用户使用系统硬件、软件的接口

    – 系统命令(命令行、菜单式、命令脚本式)

    – 系统调用(形式上类似于过程调用,在应用编程中使用API

    – 图形用户接口GUI。

  • OS实现对计算机资源的抽象(虚拟机)

    – 在裸机上添加:设备管理、文件管理、存储管理(包括内存和外存)、处理机管理(针对CPU);

    – 另外,为合理组织工作流程:作业管理、进程管理。

OS的发展

未配置OS的计算机

人工操作方式

  • 穿孔纸带
  • 缺点:用户独占全机、CPU等待人准备时未工作

脱机输入/输出

  • 使用磁带作为中间媒介
  • 优点:减少了CPU的空闲时间、提高了I/O速度

单道批处理系统

单道处理过程

  • 增加了监督程序,使得被计算的媒介自动输入到计算机中

单道缺点

  • 系统中的资源得不到充分的利用,在I/O的过程中计算机出于等待的状态。
  • 装配了大的内存但是大多数的时候得不到利用。

单道CPU利用率计算

CPU效率=程序运行时间/总时间

两种批处理方式

  • 联机批处理

    输入输出设备和主机直接相连,串行工作

    这时的问题:

    慢速的输入输出处理仍直接由主机来完成。

    输入输出时,CPU处于等待状态。

  • 脱机批处理

    利用卫星机完成输入输出功能。主机与卫星机可并行工作

    卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。

通道和中断技术

**通道:**用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。

  • 通道有专用的I/O处理器,可与CPU并行工作

  • 可实现 I/O联机处理

**中断:**是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作

  • **中断处理过程:**中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务

  • 可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)

  • 监督程序发展为执行系统(executive system),常驻内存

多道批处理系统

**注意!**和多处理机不同,多道程序指得是有多个程序同时在内存中交替运行

多道批处理的运行特征

  • 多道:内存中同时存放几个作业;

  • 宏观上并行运行:都处于运行状态,但都未运行完;

  • 微观上串行运行:各作业交替使用CPU;

在当前运行的作业需作I/O处理时,CPU转而执行另一个作业。(I/O完成后是否立刻恢复执行?要等到其他程序再次I/O时?)

多道优缺点

  • 优点:

    资源利用率高,CPU和内存利用率较高

    作业吞吐量大,单位时间内完成的工作总量大

  • 缺点:

    作业平均周转时间长:短作业的周转时间显著增长

    用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改

多道需要解决的问题

资源共享、竞争,涉及到同步、互斥问题

内存不够用,提高内存利用率,虚拟技术,交换技术

内存保护

多道批处理系统上的技术

作业调度:作业的现场保存和恢复--上下文切换

资源共享:资源的竞争和同步--互斥(exclusion)和同步(synchronization)机制

内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)--覆盖(overlay),交换(swap)和虚拟存储(virtual memory)

内存保护:系统存储区和各应用程序存储区不可冲突--存储保护

出现:作业管理、处理机管理、存储管理、设备管理、文件管理

批处理特征

脱机,是指脱离网络连机的状态

用户脱机使用计算机:作业提交后直到获得结果之前,用户无法与作业交互。

作业成批处理

多道程序并行:充分利用系统资源。资源利用率、作业吞吐量

分时系统

(Time Sharing System)

许多个联机用户同时使用一台计算机系统进行计算的操作系统称分时操作系统

系统把中央处理器的时间划分成时间片 ,按时间片轮流把处理机分配给联机作业

引入了时间片的概念,在一个时间片内将每个作业轮转一遍。时间片的设置并不是越小越好

分时的含义

  • 多个用户分时

    • 多个用户键入数据命令,使用多路卡,快速扫描用户。
    • 每个终端配置缓冲区,暂存用户键入的命令
  • 前台和后台程序(foreground & background)分时:

    后台程序不占用终端输入输出,不与用户交互--现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台

分时系统的特征

人机交互性好:在调试和运行程序时由用户自己操作。

共享主机:多个用户同时使用。

用户独立性:对每个用户而言好象独占主机。

在分时操作系统中,( 响应时间)是衡量一个分时系统的一项重要指标。

实时性不是分时系统的“基本”特征,而是实时系统的基本特征。

实时系统

(Real Time System)

实时操作系统主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。

实时系统的特征

实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能;

过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期;

过载是指进入系统的任务数目超出系统的处理能力。

高度可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件);

实时任务类型

  • 周期性实时任务和非周期实时任务

    • 都有截至时间(Deadline),开始截至时间,完成截至时间。
  • 硬实时任务和软实时任务

    • 硬实时:必须满足任务对截至时间的要求,否则可能出现难以预测的后果。(军事)
    • 软实时:偶然错过截至时间对系统不产生太大影响。

实时系统类型

  • 工业(武器)控制系统
  • 信息查询系统
  • 多媒体系统
  • 嵌入式系统

实时、批处理、分时区别

专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。

实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。

高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。

利用率:不高

事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。

可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。

通用操作系统

目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX、Windows等。--通用化、小型化。

多处理机操作系统

多处理操作系统的出现是为了提高计算机系统性能和可靠性。提高性能有两条途径:提高各个组成部分的速度、增大处理的并行程度。1975年前后,出现多处理机系统。

多处理机系统的特点

增加系统的吞吐量:N个处理器加速比达不到N倍(额外的调度开销,算法的并行化)

提高系统可靠性:故障时系统降级运行

多处理机系统的类型

紧密耦合(tightly-coupled):各处理机之间通过快速总线或开关阵列相连,共享内存,整体系统由一个统一的OS管理(一个OS核心)。

松散耦合(loosely-coupled):各处理机带有各自的存储器、I/O设备和操作系统,通过通道或通信线路相连。每个处理机上独立运行OS。

非对称式多处理(Asymmetric Multiprocessing,ASMP):又称主从模式(Master-slave mode)。

  • 主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务;
  • 从处理器:可有多个,执行应用程序或I/O处理。
  • 特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是"非对称")。

对称式多处理(Symmetric Multiprocessing,SMP):OS交替在各个处理器上执行。任务负载较为平均,性能调节容易--“傻瓜式”

网络操作系统

计算机网络

分布式系统

OS的特性

并发(Concurrence)

并行与并发

并行:两个或多个事件在同一时刻发生

并发:两个或多个时间在同一时间段内发生

因为运算速度极快,有宏观和微观的区分

共享(Sharing)

在操作系统下,资源共享或资源复用,指系统中的资源可供内存中对各并发执行的进程共同使用。

互斥共享

  • 仅当A进程访问完并释放系统资源后,才允许另一进程对该资源进行访问。

  • 临界资源(独占资源):一段时间内只允许一个进程访问的资源。

  • 系统中大多数物理设备、栈、变量、表格都是临界资源。

同时访问

  • 宏观上“同时“,微观上是交替访问

缺点

资源分配难以达到最优化

虚拟(virtual)

时分复用技术

  • 利用某设备为一用户服务的空闲空间,又转去为其他用户服务。
  • 虚拟处理技术
  • 虚拟设备技术

空分复用技术

用于对存储空间的管理,提高存储空间的利用率。

  • 利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率。

  • 虚拟存储技术:通过分时复用内存的方式。

平均速度减为1/N

异步(Asynchronism)

不确定性,指进程的执行顺序和执行时间的不确定性;

进程的运行速度不可预知:分时系统中,多个进程并发执行,程序是以走走停停的方式运行的。系统中的每个程序何时执行,执行顺序,完成时间都是不确定的。

很可能是先进入内存的作业后完成,进程是以不可预知的速度推进。

打印机属于临界资源

OS的功能

处理机管理

**进程控制:**为作业创建进程、撤销已结束的进程,以及控制进程再运行过程中的状态转换。

进程同步:处理多个进程的情况

  • 进程互斥方式,指对临界资源访问时采用互斥的方式,你用我不能用。
  • 进程同步方式,指在相互合作中去完成共同任务的诸进程间相互协调

互斥:为每一个临界资源配置一把锁W,锁开进程可以访问临界资源。

同步:信号量机制

进程通信:负责完成进程间的信息交换,message消息队列

进程调度:按一定算法进行处理机分配

  • 作业调度 分配资源

  • 进程调度 分配算力

作业:用户一次计算过程中,或者一次事务处理过程中,要求计算机系统所做的工作。

存储管理

内存分配

  • 主要任务为每道程序分配内存空间,使它们“各得其所“。提高存储器的利用率,尽量减少不可用的内存空间(碎片)。允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。

  • 分配方式

    静态分配 不允许申请空间,不允许在内存中移动

    动态分配 允许申请空间,可以移动

内存保护

  • 主要任务确保每道程序都在自己的内存空间,不允许用户程序访问操作系统的程序和数据,也不允许程序转移道非共享的其他用户程序中去执行。
  • 内存保护机制,界限寄存器,确定程序运行的上界和下界,超出就发出中断,结束程序。

地址映射(变换)

  • 将地址空间中逻辑地址转换为内存空间中与之应的物理地址。该功能在硬件支持下实现。

内存扩充

  • 借助虚拟存储,从逻辑上扩充内存
    • 请求调入功能 用的时候再调入内存
    • 置换功能 把不用的放回硬盘

设备管理

设备分配:为了使设备与主机并行工作,一定的分配原则对设备进行分配,常采用缓冲技术和虚拟技术

设备传输控制:实现物理的输入/输出操作

设备独立性:用户向系统申请的设备和实际操作的设备无关

文件管理功能

文件存储空间管理:存储空间的分配和回收。

目录管理:解决信息检索问题。

文件操作管理:实现文件的操作,负责完成数据的读写

文件保护:提供文件保护功能,防止文件遭到破坏

用户接口

目标:提供一个友好的用户访问操作系统的接口。

操作系统向上提供两种接口:

  • 命令接口:提供一组命令给用户,图形化接口

  • 程序接口:提供一组系统调用供用户程序或其他系统程序调用,比如库函数;

OS结构

设计原则

可维护性:容易修改与否称为可维护性;有三种可能的维护:

  • 改错性维护:改正已发现的错误;
  • 适应性维护:修改软件,使之适应新的运行环境(硬件环境和软件环境);如:操作系统的移植。
  • 完善性维护:增加新功能;

可靠性:可靠性包括两方面:

  • 正确性:正确实现所要求的功能和性能;
  • 稳健性:对意外(故障和误操作)作出适当的处理;

可理解性:易于理解,以方便测试、维护和交流;

性能:有效地使用系统资源;尽可能快地响应用户请求;

模块结构

整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。这种结构思想来源于服务功能观点,而不是资源管理的观点。

模块结构的特点:模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程

优点:具有一定灵活性,在运行中的高效率

缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性--不利于修改

分层结构

从资源管理观点出发,划分层次。

在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性。

系统每加一层,就构成一个比原来功能更强的虚拟机

有利于系统的维护性和可靠性

分层结构特点

优点:

  • 功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性

  • 低层和高层可分别实现(便于扩充);高层错误不会影响到低层;避免递归调用

– **缺点:**降低了运行效率

各系统对具体划分多少层次有不同的看法。

分层结构原则

– **被调用功能在低层:**如文件系统管理--设备管理--设备驱动程序

活跃功能在低层:提高运行效率

资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作

– **存储器管理放在次低层:**便于利用虚拟存储功能

– **最低层的硬件抽象层:**与机器特点紧密相关的软件放在最低层。如Windows NT中的HAL--单处理、多处理

资源分配策略放在最外层,便于修改或适应不同环境

调用跨越的层次:相邻层(最严格)、所有下层、部分下层

微内核结构

把操作系统分成若干分别完成一组特定功能的服务进程,等待客户提出请求;而系统内核只实现操作系统的基本功能(如:虚拟存储、消息传递)。

微内核(micro-kernel):将更多操作系统功能放在核心之外,作为独立的服务进程运行;

  • 服务进程(或称作“保护子系统”)
  • 客户进程(系统客户和应用客户)--需支持多进程
  • 本地过程调用 (LPC, Local Procedure Call):一种进程之间请求-应答式的消息(Message)传递机制。

消息:是一定格式的数据结构。①发起调用,送出请求消息②请求消息到达并进行处理③送出回答消息④整理回答消息,返回结果;如:对文件create, read, write

微内核特点

优点:

  • 良好的扩充性**:只需添加支持新功能的服务进程即可**

  • 可靠性好**:调用关系明确,执行转移不易混乱**

  • 便于网络服务,实现分布式处理:以同样的调用形式,在下层可通过核心中的网络传送到远方服务器上 (远地过程调用 RPC, Remote Procedure Call)

缺点:

  • 消息传递比直接调用效率要低一些(但可以通过提高硬件性能来补偿 )

– **RPC的过程:**RPC应用程序--RPC Stub(client)--Network--RPC Server--进行本地调用

OS硬件环境

CPU

构成与工作方式

处理器由运算器、控制器、一系列的寄存器以及高速缓存构成

运算器:实现指令中的算术和逻辑运算

控制器:负责控制程序运行的流程

寄存器:具有最快的访问速度

高速缓存:处于CPU和物理内存之间,访问速度快于内存,低于寄存器

CPU寄存器类型

用户编程寄存器:数据寄存器、地址寄存器、条件寄存器

控制状态寄存器:程序计数器PC、指令寄存器IR、程序状态字PSW、中断现场保护寄存器

指令执行的过程

每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取一条指令;在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址,自增1;取到的指令放在指令寄存器中;处理器解释并执行所要求的动作

状态与特权指令

管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态

目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态

特权指令:只能由操作系统使用的指令

状态的转换

– **处理器处于管态时:**全部指令(包括特权指令)可以执行、可使用所有资源、并具有改变处理器状态的能力

– **处理器处于目态时:**只有非特权指令能执行

  • 目态到管态:中断
  • 管态到目态:设置PSW实现

PSW程序状态字:通常是一个8位或16位的寄存器,每一位分别表示CPU的数值

img

系统调用

系统调用,是用户在程序中调用操作系统所提供的一些子功能(程序接口)。

  • 这是特殊的过程调用,由特殊的机器指令实现

  • 这个指令还将系统转入管态

系统调用是操作系统提供给编程人员的唯一接口

main( )
{
int i;
while (i=fork() == -1);/* 若创建失败,反复 */
printf(“i=%d\n”,i);/* 打印进程标识符 */
if(i) printf(“it is a parent process\n”);
else printf(“it is a child process\n”);
}

存储系统

存储访问局部性原理

程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合

对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域

假设两级存储器:

第I级包含1KB,存取时间为0.1μs

第II级包含1MB,存取时间为1μs

存取I级中的内容,直接存取

存取II级,首先被转移到I级,然后再存取

若在I级存储器中发现存取对象的概率是95%,则平均访问时间为:

(0.95)(0.1μs)+(0.05)(0.1μs+1μs)=0.15μs(0.95)(0.1μs)+(0.05)(0.1μs+1μs)=0.15μs

结果非常接近I级存储的存取时间

存储保护(界限寄存器)

  • 在CPU中设置一对下限寄存器和上限寄存器存放用户作业在主存中的下限和上限地址也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)
  • 每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界
  • 如果未越界,则按此地址访问主存,否则将产生程序中断——越界中断(存储保护中断)

地址转换

虚地址和物理地址的转换

中断机制

定义

中断机制是操作系统得以正常工作的最重要的手段:它使得OS可以捕获普通程序发出的系统功能调用**、**及时处理设备的中断请求、防止用户程序中破坏性的活动等等

  • CPU对系统发生的某个事件作出的一种反应

  • CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序

概念

引入中断的目的:解决主机与外设的并行工作问题、提高可靠性、实现实时控制

特点:中断是随机的、 中断是可恢复的 、中断是自动处理的

中断源:引起中断发生的事件

中断寄存器:记录中断

中断字:中断寄存器的内容

系统堆栈:在内存开辟的一块区域,用于临时保存现场

中断类型

  • 强迫性中断

    正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的

    输入/输出(I/O)中断:主要来自外部设备通道

    程序性中断:运行程序中本身的中断(如溢出,缺页中断,缺段中断,地址越界)

    时钟中断

    硬件故障

  • 自愿性中断

    用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生

    执行I/O,创建进程,分配内存

    信号量操作,发送/接收消息

中断和指令周期

中断处理过程

多中断处理

  • 顺序中断
  • 分优先级中断,嵌套

缓冲技术

缓冲区是硬件设备之间进行数据传输时,用来暂存数据的一个存储区域

缓冲技术三种用途:

处理器与主存储器之间

处理器和其它外部设备之间

设备与设备之间的通信

目的:解决部件之间速度不匹配的问题、使得部件并行工作

用户接口与作业管理

程序的启动和结束

  • 启动满足条件:程序已装入内存、程序计数器PC中已置入该程序在内存的入口地址
  • 启动方式:
    1. 命令方式启动
    2. 批处理方式启动
    3. EXEC方式启动,程序启动程序
    4. 由硬件装入程序和启动程序执行
    5. 自启程序
  • 程序结束:
    1. 正常结束
    2. 异常结束

作业的基本概念

作业

用户一次计算过程中,或者一次事务处理过程中,要求计算机系统所做的工作。

作业步

一个作业可划分成若干部分,称为一个作业步

典型的作业控制过程

“编译”、“连接装配”、“运行”

作业组织

作业由三部分组成,即程序、数据、作业说明书。

作业说明书的主要内容如下:

  • 作业基本描述:

    • 用户名,作业名,使用语言,允许最大处理时间
  • 作业控制描述:

    • 控制方式,操作顺序,出错处理
  • 资源要求描述:

    • 要求处理时间,内存空间,外设类型和数量,处理机

      优先级,库函数或实用程序*

作业控制块

作业控制块(JCB:Job Control Block)

  • 作业控制块是作业存在的标志

  • 保存现有系统对于作业进行管理所需要的全部信息

  • 位于磁盘区域中

  • 输入、完成和退出并不是真正意义上的字面意思

作业的建立

  • 一个作业的建立包含两个子过程。

    • 一个是作业的输入
    • 另一个是作业控制块JCB的建立。
  • 作业的输入将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息

常见的作业输入方式如下:

  • (1)联机输入方式
  • (2)脱机输入方式
  • (3)直接耦合方式
  • (4)SPOOLing系统
  • (5)网络输入方式

作业的输入

联机输入方式

用户和系统通过交互式会话来输入作业。

脱机输入方式

又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理, 存储在后备存储器上,然后将此后备存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。

直接耦合方式

把主机和外围低档机通过一个公用的大容量外存直接耦合起来。

SPOOLing系统

多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制

  • 全称:Simultaneous Peripheral Operations On-Line

  • 含义:同时的外围设备联机操作(假脱机技术)

  • 包括:输入程序模块、输出程序模块作业调度程序

网络输入方式

网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式。

JCB的建立

  • 在系统把作业信息输入到输入井之后

  • 根据作业说明书和有关作业信息在外存的位置等

  • 建立作业控制表JCB

  • JCB包含对作业进行管理所必须的信息

    • JCB表的数量是一个常数
    • 外存输入井的大小有限

    只有在获得JCB表项足够输入井空间后才可能创建成功

作业的状态及转换

作业调度

  • 调度功能

    1. 记录系统中个作业的状况
    2. 从后备队列中挑选作业投入运行
    3. 为被选中的作业做准备工作,建立进程,分配资源
    4. 作业执行结束时作善后处理工作
  • 调度的实质:资源分配

  • 调度算法定义:根据系统的资源分配策略所规定的资源分配算法

  • 性能衡量:

    1. 作业周转时间

      Ti=tctsT_i= t_c - t_s

      tc是结束时刻,ts是进入系统时刻

    2. 作业平均周转时间

      \begin{align}T=(\sum^n_{i=1}Ti)\frac{1}{n}\end{align}

    3. 带权周转时间

      \begin{align}W_i = \frac{T_i}{t_r}\end{align}

    4. 平均带权周转时间

      \begin{align}W=(\sum^n_{i=1}Wi)\frac{1}{n}\end{align}

  • 算法重点

    1. FCFS**(First Come First Served)**

    2. SJF (Shortest Job First)

    3. SRT (Shortest Remaining Time)

    4. HRRN**(Highest Response Ratio Next)**

    5. HPF**( Highest Priority First )**