null计算机操作系统计算机操作系统
第一章 绪论第一章 绪论分时、实时及批处理三种系统中每种系统的特点和适用范围。
OS的功能、定义、目的、类型和基本特征。
时间片、多道程序
、吞吐量、并发及并行的概念。本章重点:分时、实时、批处理三种系统的实现、分布式OS的实现。本章难点: null操作系统(Operating System )概念
OS的历史
OS的基本类型
OS的功能
OS的基本特征
计算机硬件简介
OS的初启和生成
算法的描述
研究OS的几种观点
OS与硬件、软件、用户之间的关系
小结
1.1 操作系统(Operating System )概念1.1 操作系统(Operating System )概念一、系统资源:硬件+软件
系统资源:让计算机工作所需要的所有东西。系统资源 硬件资源: 软件资源 CPU,内存,I/O 设备 系统软件:应用软件: OS和其他系统管理软件 word, 电子表格,浏览器等。 结论1: OS是系统软件。 null二、计算机系统的层次结构 nullOS的位置 对内:所有硬件都包含在其内部,OS把所
有硬件管理起来,对硬件进行全面控制,
全面管理。 对外:所有软件的运行都建立在OS之上的。 结论2:OS管理计算机系统资源,方便用户 null三、OS的定义OS 是计算机系统中的一种系统软件,它用于管理计算机系统的软、硬件资源,控制程序的运行,并为用户使用计算机提供方便的接口。OS的角色:①管理员 ②指挥员 ③接待员null四、OS的目的:① 提高系统资源的利用率:使计算机系统资源更好、更充分地被用户利用。② 高效:提高系统的效率③ 方便用户:使用户更方便地使用计算机。④ 可扩展:系统功能和结构的扩展不影响原有功能的使用。⑤ 开放:不同的计算机及设备能集成起来并有效、正确地被使用,实现应用程序的可移植性和互操作性。null五、为什么要学习操作系统?①设计和改写操作系统 ②更好地选择和使用操作系统③掌握系统软件设计
和并发程序设计方法 1.2 操作系统的历史1.2 操作系统的历史推动操作系统发展的三个因素 计算机硬件升级以及新的硬件类型的发展用户需求扩大,OS提供的新服务 市场的激烈竞争,OS功能的完善(修补、汉化)nullOS的演变1946-20世纪50年代末:第一代,电子管时代计算机技术的演变20世纪50年代末- 20世纪60年代中期,第二代,晶体管时代
20世纪60年代中期- 20世纪70年代末,第三代,集成电路时代20世纪70年代末期- 20世纪末,第四代,大规模集超大规模集成电路时代null早期手工阶段 46~50年代初 (无操作系统)操作系统的演变单道批处理 58年前后 多道程序系统 65年前后分时OS 66年前后 实时OS 68年前后 单用户OS,网络OS 70年代 分布式OS(多机OS)、嵌入式OS、智能OS 90年代 1.2.1 手工操作阶段1.2.1 手工操作阶段计算机运行在一个集成了指示器、开关、
输入设备(读卡机)、打印机的控制台上。特点:
人机串行
资源独占 1.2.2 早期批处理1.2.2 早期批处理引入:为解决人-机速度不匹配 实现:通过应用一种称为监控器的软件,使用户不必直接接触机器,而是先通过卡片机和纸带机向计算机控制器提交作业,由监控器将作业组织在一起构成一批作业,然后将整批作业放入由监控器管理的输入设备上,每当一个作业执行完毕返回监控器时,监控器自动装入下一个作业。 null启动读入第一个命令解释读入命令并执行读入下一个命令监控器null1.联机批处理作业的执行过程:(1)作业被做成穿孔纸带或卡片
(2)用户提交作业:程序+数据+作业操作说明书
(3)操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或者读卡机)把他们存入磁带
(4)监督程序读入一个作业
(5)从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码
(6)连接装配程序把编译后的目标码及所需的子程序装配成一个可执行程序
(7)启动执行
(8)执行完毕,善后处理程序输出计算结果
(9)读入下一个作业重复,重复(5)-(9)
(10)一批作业完成,返回(3),处理下一批null单:任何时刻机器中处理的作业只有一道。
批:磁带上总是有一批作业等待处理。 null作业周转时间:一道作业从提交到运行完成所需要的时间。2.脱机批处理卡片机打印机卫星机主机日志输入带输出带执行带系统带1.2.3 多道程序系统1.2.3 多道程序系统引入:为提高各种资源的利用率,解决I/O设备与CPU的速度差异,提高CPU与外部设备的利用率 计算 启动I/O I/O I/O完成 继续计算 单道批处理示意图 有什么问
? nullnull实现:内存放两道以上的程序,CPU交替执行各程序。程序B CPU 输入
设备 输出
设备 输
入
结
束请
求
打
印 CPU空 请
求
输
入等待CPU CPU 输入设备 CPU 其他I/O程序A
程序B CPU 输入设备 等待CPU CPU程序A 运行流程:20 40 30 20
程序B运行流程:30 20 30程序A程序B 程序Anull在单道情况下完成程序A和程序B需要时间:20+40+30+20+30+20+30=190
CPU利用率:110/190X100%=58%在多道情况下完成程序A和程序B需要时间:20+40+30 +30=120
CPU利用率:110/120X100%=92%null特点:
多道:计算机内存中同时放几道互相独立的程序。
宏观上并行:同时进入系统中的几道程序 都处于运行状态,即:都开始运行且没运行完成。
微观上串行:各到程序轮流使用CPU。 实质是“宏观上并行,微观上串行。”吞吐量:在单位时间内计算机系统完成的作业的道数。多道程序设计:将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。 多道批处理:采用多道程序设计技术实现的批处理系统。 多道程序系统的出现标志着在操作系统渐趋成熟的阶段先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能1.2.4 分时操作系统1.2.4 分时操作系统引入:批处理系统采用人脱机的方式工作,但有时不方便,不能满足所有的需要。
实现:一台主机外接多个终端,每个用户占一台终端(CRT+键盘,是一种只有I/O而没有CPU的设备),CPU采用把时间分片的方法轮流为每个终端用户服务(即时间片轮转的方法),保证每个用户的响应时间。 时间片:CPU的时间段,时间片的大小由操作系统决定,可以是固定时间片(每个时间段长度一般为0.2s),也可以是可变时间片。
时间片一定,用户数与响应时间成反比。 分时技术:把处理机的运行时间分成很小的时间片,按时间片轮流把处理机分给各联机作业使用,若某个作业在给定的时间片内不能完成,该作业暂时中断,处理机让给其它作业,等下一轮时间继续运行。1.2.5 实时操作系统1.2.5 实时操作系统引入:60年代中期,计算机发展进入第三代,使机器性能得到了显著的提高,应用范围迅速扩大,从传统的科学计算扩展到商业数据处理以及各行各业,如工厂的生产控制、医疗诊断、教学以及飞机订票等,尤其是它应用于高科技,如:控制导弹发射,需要根据目标及时调整方向,各种参数需要随时改变,这时分时和批处理都解决不了,就引入实时系统。即:为满足自控等方面的需求而引入实时系统,主要解决那些需要在规定时间内处理完的问题。发展:在嵌入式计算方面得到发展,特别是移动计算等非PC机、PDA和手机等。思考:上网查找目前有哪些常见的手机操作系统?每种系统的特点及市场占用情况。1.2.6 通用操作系统1.2.6 通用操作系统引入:批处理系统的不断发展,分时系统的不断改进,实时系统的出现及应用范围的日益广泛,致使操作系统日益完善,出现了通用操作系统。通用操作系统:同时兼有多道批处理,分时,实时三种系统的功能或具有其中两种系统的功能。例: OS/400和MVS:分、批,其中CPU的分配取分时,作业分为两种,前台(终端),采用分时,后台(批处理作业)
前台时间片小,后台时间片大。
UNIX:通用,分时,多用户操作系统。1.2.7 操作系统的进一步发展1.2.7 操作系统的进一步发展PC机操作系统:
网络操作系统
分布式操作系统
智能化操作系统
嵌入式操作系统课外作业:上网查找上述每种操作系统的实例1.3 操作系统的基本类型1.3 操作系统的基本类型按用户个数
单用户
多用户 按任务数分
单任务
多任务按CPU个数
单CPU
多CPU null按使用环境及对作业的处理方式
批处理操作系统
分时操作系统
实时操作系统
个人计算机操作系统
网络操作系统
分布式操作系统1.3.1 批处理操作系统1.3.1 批处理操作系统类型:早期大型机操作系统特点:
脱机
成批
多道
高效
作业周转时间长
需要的硬件支持:20世纪60年代初期发展起来的通道和中断技术。多道程序系统与多重处理的区别:多重处理系统配置多个CPU,是真正的多道;多道程序设计不一定是多重处理,多重处理一定是多道适用范围:大量的科学计算,大量的数据处理(大作业) 1.3.2 分时系统1.3.2 分时系统工作原理:采用时间片轮转的方式使一台计算机为多个终端用户服务,保证每个用户有足够快的响应时间特点:
交互性
多用户同时性
独立性
分时系统是一个联机的、多用户的、交互的操作系统。 UNIX是典型的分时系统。适用范围:开发、调试、测试软件性能,小作业。1.3.3 实时系统1.3.3 实时系统实现:解决问题的关键在于系统的正确性不仅依赖于计算的逻辑结果而且依赖于结果产生的时间。
处理问题的程序常驻内存。
由事件激发程序的执行。
CPU要根据事件的轻重缓急进行时间分配。
需要有时钟管理模块,在线的人机对话,过载保护等保证系统绝对可靠。(高度可靠性和安全性需采用冗余措施,硬件上双机热备份)
特点:实时性,可靠性,安全性,专用性。
适用范围:
实时控制:导弹发射,飞机飞行,钢水温度,发电。
实时信息处理:情报检索,银行帐目往来,飞机订票。null分时,批处理,实时的比较:交互性效率可靠性较高较强1.3.4 通用操作系统1.3.4 通用操作系统特点:同时具有批处理、分时、实时三种操作系统中两种或两种以上操作系统的功能1.3.5 PC机操作系统1.3.5 PC机操作系统引入:微机便宜,对环境要求低,没有必要多个人使用一台计算机
实现:每个用户独立联机使用一台计算机。资源独占。
特点:
用户界面好
文件管理功能强
资源管理简单
安全性差(用户上机时没有用户识别),病毒泛滥1.3.6 网络操作系统1.3.6 网络操作系统引入:通信和资源共享的要求引入计算机网络,相应产生网络操作系统。
实现:在单机操作系统的基础上开发,按照网络体系结构的各个
开发,具有网络管理、通信、资源共享、系统安全等功能。如NETWARE
两个以上带有自己的OS的计算机通过通信设施连接起来。
有各方认定的标准通信规则(协议)。
在单机操作系统的基础上建立一个网络操作系统负责对网络资源和网络通信进行控制和管理,并为网络提供统一的接口。null特点:
自治性:有自己的CPU,自己的内存,自己的OS
互连性
分布性:位置分布,功能分布,处理的任务分布
统一性:整个网络对用户是统一的接口是一致的
功能:
NOS控制网络通信
管理网络资源
提供多种网络服务
提供网络接口。
网络服务有:文件服务,打印服务,新闻服务,数据库服务。 1.3.7 分布式操作系统1.3.7 分布式操作系统引入:除了共享和资源共亨外,还要进行任务的协作处理,(系统中多台机器同时做一件事)
分布式OS的要求比NOS高得多。
实现:
两台以上计算机通过通信设施连接起来。
要内部的通信规则(没有统一的标准),各机器没有主次之分。
整个系统有一个统一的操作系统,对系统中的所有资源进行管理,调度,对系统当中所有任务进行协调,并为用户提供接口。null特点:
自治性(比网络差):每台机器有自己的CPU,内存,无操作系统。
分布性(比网络差):分布在一个楼内或一个办公室内。
模块性:机器的机型相同(只有同构才能实现任务转移)
并行性
功能:进行任务的协作处理nullNOS与DOS比较: 侧重点1.4OS的功能1.4OS的功能粗分:
管理资源
控制流程
提供接口null细分
处理机管理:处理机的分配和调度
存储管理:内存分配,存储保护,内存扩充
设备管理:设备,通道,控制器的分配和回收,设备独立性
文件管理:信息共享和保护,外存空间的管理
用户接口:包括程序一级的接口(系统调用)和作业一级的接口(作业管理,负责作业调度)1.5 OS的基本特征1.5 OS的基本特征并发
并发:两个或多个事件在同一时间间隔内发生管理资源
并行:两个或多个事件在同一时刻发生
共享
指系统中的软、硬件资源不再为某个程序所独占,而是供多个用户共同使用。 并发和共享是操作系统的两个基本特征,二者互为存在条件,一方面资源共享是以程序的并发执行为条件的,若系统不允许程序的并发执行,自然不存在共享问题;另一方面,若系统不能对资源共享实施有效管理,必将影响到程序的并发执行,甚至根本无法执行。1.6 计算机硬件介绍1.6 计算机硬件介绍1.6.1 计算机的基本硬件元素
处理器
I/O控制器PCIRMARMBRI/OARI/OBRI/O
控制器缓冲外部
设备总线null处理器:控制和执行计算机的指令操作,包括单处理器和双处理器。
存储器:存储数据和程序,分为内存和外存、缓存(buffer)和高速缓存(cache)
输入输出控制与总线:控制和暂存外部设备和计算机内存之间交换的数据和程序。
外部设备:获取和输出数据和程序的基本单位,包括数字设备和模拟设备。设备通过总线互相连接null1.6.2 与操作系统相关的几种主要的寄存器
寄存器与操作系统密切相关,因为他们是在处理机中交换数据的速度比内存快、体积小、价格贵的暂存器件。
数据寄存器:理论上对数据进行操作的任何机器指令都被允许访问数据寄存器。根据硬件设置的规定,这些寄存器也可能只被允许进行浮点运算或被其他某些规定所限制
地址寄存器:一般用来存放内存中某个数据或指令的地址或者存放某段数据或者指令的入口地址,例如:
地址标识位寄存器
内存管理用各种始地址寄存器
堆栈指针
设备地址寄存器null条件码寄存器:称为标志寄存器
程序计数器:下一周期被执行指令的地址。
指令寄存器:待执行的指令
程序状态字PSW:各位代表系统中当前的各种不同状态与信息,例如是否允许中断等
中断现场保护寄存器:保存被中断程序的现场信息以及链接中断恢复处。
过程调用用堆栈:保存过程调用时的调用名、调用参数、返回地址
null1.6.3 存储器的访问速度
一、存储器的种类:
可移动存储介质
光盘
磁盘
磁带
硬盘
磁盘缓存内存(disk cache)
高速缓存
寄存器null二、存储器的速度
容量越大,访问速度越慢,单位存储的成本越低寄存器高速缓存内存硬盘缓存硬盘光盘、磁盘访问速度大小除了寄存器和存储介质之外,中断机构、I/O控制(通道和DMA器件)也与OS设计相关null1.6.4 命令的执行和中断
一、指令的执行
执行指令的过程:处理机把指令从内存读入指令寄存器和执行指令。指令的读入是根据指令计数器PC所指地址读入,执行的是指令寄存器IR中的指令。
指令周期:指令的读入和指令的执行开始读入下
一条指令执行当
前指令结束null指令执行的类型
处理机与内存之间的数据交换
处理机与外部设备之间的数据交换
数据处理:算逻运算
对其他指令的控制过程null二、指令的中断
中断:外部设备或计算机内部发生来了亟待处理的数据或其他紧急事件处理信号,处理机暂停正在执行的程序,转去处理相应的紧急事件,待处理完毕后再返回原处继续执行。
指令周期:指令的读入和指令的执行中断指令i指令i+1中断处理程序null开始读入下
一条指令执行当
前指令结束允许
中断吗?N检查
中断位读入中断
处理指令Y具有中断处理的指令执行过程null
一、初启(BOOT)
将OS从外存→内存,并对其进行初始化,这段过程叫初启。只有经过初启,系统才能正常工作。
初启的过程:
系统一加电就到ROM中找自检程序
自检完成后,执行装入程序(在ROM中)将外存上固定位置上的一段程序(引导区中的程序)装入内存后,将控制权交给引导程序
引导程序将OS装入内存中固定区域,初始化寄存器、终端设备、数据结构等,控制权交给OS。1.7 操作系统的初启和生成null二、生成
根据实际硬件配置和用户需求进行优化组合生成一个更实用的OS,由于OS功能非常全面,致使OS非常庞大,若对OS重新组装,则系统中提供一个实用程序生成system,执行该程序时,提问硬件数,用户数,内存等需求,由您的需求生成一个更实用的OS
每次启动时,系统会提问使用哪一个OS。DOS通过config.sys来对OS进行优化组合 1.8 算法的描述1.8 算法的描述算法的开头和结束
Begin
End
“条件”不满足时重复执行所描述的操作
Repeat
操作
Until 条件
“条件”满足时重复执行所描述的操作
While 条件
Do
操作
OD
如果满足条件执行相关操作,否则执行另一种操作
If 条件
Then
操作
Else
操作
finull
Repeat
IR←M[PC];
PC ←PC+1;
Execute[IR];
Until CPU halt;nullP[1..n]为1到n的整数置换,i=1,2,3,4,5,6,7;
P[i]=4,7,3,2,1,5,6
描述p[i]的循环置换算法
Begin
local x,k;
k←1;
while k<=7 do
x ←k;
repeat
print(x);
x ←p[x]
until x=k;
k ←k+1;
od
End
1.9研究OS的几种观点 1.9研究OS的几种观点 资源管理观点(静态):OS是用来控制和管理计算机系统资源,包括处理机管理、设备管理、文件管理、存储管理等。对每种资源的管理包括资源情况记录、资源的分配和回收等
用户界面观点(静态):OS是为方便用户使用计算机。用户界面是至关重要的(从用户的观点来看)
进程管理观点(动态):程序并发执行。OS管理进程。
虚拟机观点:裸机有自己的指令系统,裸机只会做+,-运算,在编程时,通过+,-运算实现*,/功能,用户感到机器会*,/运算,实际是OS来虚拟*,/的功能。OS将多道程序放入内存,给用户的感觉是自己的程序分到了一个CPU,所以OS把一个CPU虚拟成多个CPU。OS把一个RAM虚拟成多个RAM。 1.10 OS与硬件、软件、用户之间的关系1.10 OS与硬件、软件、用户之间的关系一、OS与硬件OS 硬件: OS对硬件全面控制,全面管理。 硬件 OS: 硬件为OS提供物质基础,提供
基本支持。 null特权指令:OS要求硬件必须为其提供特殊的指令,这些指令是涉及到系统安全性的指令。硬件一出厂有一个指令系统,其中有一小部分为OS提供的特权。
处理机状态位(管态,核心态)(目态,用户态):用来标识当前CPU的状态。通过CPU状态来确定当前用户是谁,从而检查指令是否合法,若管态则什么指令都可以,若目态则不能执行特权指令(根据状态位来检查指令的合法性)
中断机构:当程序中任何时刻需要OS时通过硬件向OS发一个中断。
通道或类似的部件(DMA等):把CPU从繁忙的中断中解放出来。它们主要用来处理外设的I/O操作。
存储保护机构(包括地址变换机构将虚地址转换成实地址):由硬件来实现最主要的支持有: null二、OS与软件OS 软件: OS为其他软件的运行提供环境。 软件 OS: 其他软件扩充了OS的功能。 null三、OS与用户OS 用户: OS为用户提供接口。 接口类型命令级: 程序级: 在系统状态下提供的,包括:
键盘命令,GUI,JCL 系统调用 用户编程时需要用到OS的功能,
通过系统调用来调用OS1.11 小结1.11 小结1.OS的定义
2.OS的目的
3.OS的发展历程
4.OS的基本类型(批处理、分时、实时、PC、网络、分布式)
5.OS的功能
6.OS的基本特征
7.计算机硬件结构
8.算法的描述
9. OS的初启与生成
10. OS需要硬件提供的几种支持
操作系统,时间片,多道程序设计,并发,并行,吞吐量
练习 第一章作业第一章作业A p21(1.5)
B p21(1. 1)
补充:按照不同的分类标准分别将DOS、windows和UNIX划入所属类别中。
C 补充: 1.OS的基本特征
2.引入“前台”和”后台”作业的OS是什么OS?引入的目的是什么?什么是“前台”作业,什么是“后台”作业。
D p21(1. 4)
补充:分时OS和实时OS的特点分别是什么?
E p21(1. 3)
补充:采用多道程序设计的目的是什么?第二章 操作系统用户界面 第二章 操作系统用户界面 1. 熟练掌握作业的状态转换图,批处理作业和终端作业的区别
2.掌握批处理作业的流程图及批处理作业有哪几种状态、批处理作业的JCB的作用
3.掌握批处理作业的组织、操作系统为用户提供的接口的类型及何时采用何种接口。本章重点:null简介
一般用户的输入输出界面
命令控制界面接口
作业流程
Linux与Windows的命令控制界面
系统调用
Linux操作系统简介
Linux操作系统的基本命令
Linux操作系统的程序设计命令
小结
2.1 简介 2.1 简介 用户界面:负责用户和操作系统之间的交互。即用户通过用户界面向计算机系统提交服务请求;计算机通过用户界面向用户提供所需要的服务。用户:
使用和管理计算机系统的用户
普通用户:使用计算机的应用服务,以解决实际的应用问题,例如事务处理、过程控制等。
管理员用户:负责计算机和操作系统的正常和安全运行
程序开发人员:使用操作系统提供的编程功能开发新的应用程序null操作系统为不同用户提供不同的用户界面。
普通用户、管理员用户:操作命令
程序员:系统调用不同操作系统为用户提供的命令集合不同(copy,cp)、表现形式不同(字符、图形)2.2 一般用户的输入输出界面 2.2 一般用户的输入输出界面 2.2.1 作业的定义 用户上机的步骤: 编辑 编译 链接 运行
(开始进入批处理管理) 库目标代码 目标程序源程序可执行程序多次重复 作业的定义(一)(用户): 用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。
作业是由不同的顺序相连的作业步组成。 作业步:在一个作业的处理过程中相对独立的工作。
每一个作业步产生下一个作业步的输入。 null作业的定义(二)(系统)作业=程序+数据+作业说明书+作业控制块(JCB)批处理系统中,作业是抢占内存的基本单位,也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。null终端作业(交互式作业)
批处理作业(脱机工作)2.2.2 作业的分类null终端作业(联机作业控制):这种方式是为终端用户提供的,这种方式中OS提供了键盘命令,用户使用这些命令自选控制。
批处理作业(脱机作业控制):系统提供作业控制语言JCL,用户用JCL将作业说明书写出来。OS根据用户的作业说明书,对作业进行控制 2.2.3 作业的控制
一、作业控制方式1. 脱机作业控制:作业的自动控制:用户把
源程序+数据+控制意向交上去由系统控制作业的运行。 2. 联机作业控制:作业的直接控制。即采用人机会话的方式来控制作业的运行。nullJCB包含的信息:作业名、作业的估计执行时间、优先数、作业建立时间、作业说明书文件名、程序语言类型、内存要求、外设要求、作业状态、作业在外存中的存储地址。
JCB的建立就是申请一个空白的JCB表,填入相应信息,如果没有空白的JCB表,则作业创建失败。二、作业控制块的建立2.2.4 作业的组织2.2.4 作业的组织批处理作业 :程序 、数据、作业说明书:以文件的形式写出 作业的操作说明书包括:作业基本情况描述:用户名、作业名、使用的语言名、允许的最大处理时间等
作业控制描述:控制方式、操作顺序、出错处理等
作业资源要求描述:要求处理时间、内存空间、外设类型和数量、处理机优先级、库函数或实用程序等 null联机输入方式:在交互式系统中,用户和系统通过交互会话来输入作业,外围设备直接与主机相连。
特点:一台主机可以连接一台或多台外设,这些设备可以是键盘、鼠标、显示器、光电笔、打印机等。
脱机输入方式:又称为预输入方式。为了解决单台设备造成CPU资源浪费的问题而引入的,利用低档个人计算机作为外围设备进行输入处理,将作业输入到后援存储器上,将装有输入作业的后援存储器连接到主机的高速外围设备上与主机相连。
特点:以牺牲低档机为代价,需要用户干预,灵活性差(遇到紧急任务时无法直接拿到主机上)。2.2.5 一般用户的输入输出方式有五种方式:null直接耦合方式:把主机和多台外围低档机通过公用的大容量外存直接耦合起来。
特点:成本高(大容量存储器、低档微机),既保留了脱机输入方式快速的特点,又避免了脱机方式下人工干预的缺点。
SPOOLONG系统:多台外围设备通过通道或DMA和主机与外存连接起来。作业的输入输出由主机中的操作系统控制
网络输入方式:以以上几种输入方式为基础,通过网络把一台主机上的信息输入到另一台主机上。
null主机公用存储器低档PC机低档PC机null通道输出装置
主机系统输出装置通
道通
道输出装置输出装置外存
输入井 输出井输入管理 输出系统
模块 模块2.3 命令控制界面2.3 命令控制界面用户接口:计算机系统与其用户之间进行交互作用
的通路。用户接口分 命令接口 程序接口 联机用户接口 脱机用户接口 内部命令 外部命令 :由一组系统调用来完成。 null作业语句JOB(作业)。内容:账号、作业类别、时间限制、存储空间要求、优先级、注释
执行语句(EXEC)
DO(数据定义语句):定义数据文件
说明语句;//*COMMENTS
分隔语句;//**COMMENTS
EOJ作业结束语句。 批处理用户使用JCL (Job Control Language)null环境设置命令:改变用户的位置、执行路径
执行权限命令:改变用户的访问权限
系统管理命令:增加、减少用户;开机、关机、计时收费
文件管理命令:管理和控制终端用户的文件
编辑、编译、链接和执行命令
通信命令:主机与远程终端之间的呼叫、连接、中断
资源要求命令:申请资源 联机用户使用键盘操作命令 命令语句种类2.4 作业流程2.4 作业流程一、终端作业 系统管理员建立用户说明文件PROFILE注销注册login执行logout调键盘命令
解释程序null二、批处理作业 submit输入
设备输出
设备键盘作业调
度程序作业
终止
程序输出
程序
OS中输入程序
作业注册程序
后备状态运行状态完成状态R2.5Linux与Windows的命令控制界面2.5Linux与Windows的命令控制界面一、Linux的命令控制界面 键盘命令
X Window
Shell程序安装Linux操作系统,自己学会使用单机版linux,可以使用图形用户界面。分区的文件格式是Ext2
参见:www.kde.org
www.gnome.org
null(1)系统维护及管理:date,setenv
(2)文件操作及管理命令:ls,find
(3)进程管理命令:kill
(4)磁盘及设备管理:mount,df,du
(5)用户管理命令:adduser,userdel
(6)文档操作命令:sort
(7)网络通信命令:ifconfig,netstat
(8)程序开发命令:cc,link
(9)X Window管理命令:startx等
用户命令通常放在/usr/sbin, /usr/bin,/sbin,/bin下主要包括9类命令Shell命令null二、Windows的命令控制界面 键盘命令
GUI安装Windows操作系统,自己学会使用windows,可以使用图形用户界面,尝试使用字符界面。分区的文件格式是FAT32或者NTFS
参见:HTTP://WWW.MICROSOFT.COMnull(1)系统信息命令:date,SystemInfo
(2)系统操作命令:shutdown,taskkill
(3)文件系统命令:copy,del,mkdir
(4)网络通信命令:ping,netstat主要包括4类命令批处理文件2.6系统调用2.6系统调用系统调用是属于程序接口的范畴 程序接口的职责是:
①装入并创建一个准备开始运行的程序(进程)
②为程序异常终止给出适当的响应。 一、什么是系统调用 系统调用:通过访管指令对OS核心程序所做的调用。
系统调用程序:被调用的核心程序叫系统调用程序。访管指令又叫系统调用命令,如C语言中fopen()函数。
而open()是系统调用;在DOS中int13是系统调用。null通过系统调用命令中断现行程序,进而转去执行相应的
子程序,以完成系统功能;完成后,控制又返回到发出
系统调用的命令之后的一条命令,被中断的程序将继续
执行。
系统调用的流程null 用户程序 系统调用调用系统功能返回用户程序目态管态可以嵌套 用户程序 系统功能系统功能系统调用系统调用目态管态管态系统调用的流程图null二、系统调用的执行过程 ①保护现场”信息:把系统调用命令的编号等信息,
放入约定的存储单元。
②根据系统调用的编号、访问系统调用入口表。
找到相应子程序的入口地址,然后转去执行系统
调用程序。
③恢复”现场”并把系统调用的返回参数或参数区首址
放入指定的通用寄存器中以供用户程序使用。null2.7 Linux操作系统简介2.7 Linux操作系统简介UNIX来源于MIT和贝尔实验室为美国国防部研制的
Multics(Multiplexed Information and Computing
Service System) 。 贝尔实验室的程序设计人员汤普逊和瑞奇 space travel 继承了Multics的
文件系统的树型结构、
SHELL命令语言、
面向过程的结构化设计方法、
采用高级语言编写操作系统的特点 UNIX系统是一个可供多用户同时操作的会话式分时操作系统 UNIX系统把所有的外设都当作文件,并分别赋予他们对应的文件名。 UNIX系统的大多数核心代码和系统上支持软件都是用C编写的 UNIX系统是一个开放式系统 Linux系统是一个类Unix系统 2.8 Linux操作系统的基本命令 2.8 Linux操作系统的基本命令 一、注册与注销1.注册:注册有双重目的
检验用户的使用权限
让UNIX系统为你设置环境
Login:
password:
注册通过之后出现提示符$,这时用户可以输入shell命令使用系统 2. 注销
当用户完成自己的工作之后,应退出系统,这时就应该进行注销,
UNIX系统注销有两种方式: $后打入logout
打入ctrl+D
注销后系统出现login:null二、基本SHELL命令1. pwd (显示当前工作目录)
格式:pwd
功能:显示当前工作目录的完整路径名。
例: $pwd
/user/user012. ls (显示目录内容)
格式:ls [参数]
功能:请求系统将目录的内容列表输出。说明:
① 命令行中没指定目录时,列当前,若不给任何参数,则按列输出。
② 通配符的使用同DOS通配符 null③ 常用参数:
-a 以ASCII码顺序排列显示全部内容,包括隐含文件“.”和“..”
-x 横向显示文件及目录名,用空格分隔
-m 横向显示文件及目录名,用逗号分隔
-r 反顺序显示
-l 每行显示一个文件目录的长列表信息
-s 以每块512字节为单位列出,第一列给出所占用的块数
-t 按时间顺序显示,根据每个文件修改的日期排列,最新修改的文件最先显示例:
$ ls –x
bin dev etc lib aaa bbb user
usr sss$ ls –d
bin dev etc lib user usr$ ls *.c
a1 a2 a3 testnull$ ls –l
drwxrwxr-x 1 s1 bin 256 may 18 1996 /bin/a1
drwxrwxr-x 2 s3 bin 128 apr 26 1996 /bin/aa
drwxrwxr-x 1 s2 bin 90 jun 20 1996 /bin/a2
-rw-rw-r-- 1 s2 bin 64 may 18 1997 /bin/b1
-rw-rw-r-- 1 s3 bin 96 feb 10 1996 /bin/yy方式:
d 目录文件
b 块特别文件
c 字符特别文件
p 先进先出文件
- 普通文件存取特性:
r 可读文件(可以查看目录)
w 可写文件(可以在该目录下建立文件和目录)
x 可执行文件(可以进入该目录及其子目录) 链接数:相同副本数链接数用户名组名大小日期文件名null3. mkdir
格式: mkdir 目录名
功能:建立用户目录说明:一次可以建立一个或多个目录。每个目录建立后,自动建立两个隐含文件“ .”和“..”,前者表示当前子目录,后者表示当前子目录的上一级目录。 例:创建子目录d1
$ mkdir d1
$ mkdir d2 dz
$ lsnull4. cd(改变当前工作目录)
格式:cd [目录名]
功能:将指定目录作为当前工作目录说明:目录名缺省时返回到用户主目录。 例:
$ pwd
/dz/user1
$ cd d1null5. rmdir(删除子目录)
格式:rmdir <目录名>
功能:删除指定子目录说明:一个目录在被删除之前应为空目录。例:删除子目录d1
$ rmdir d1null6. date(设置或显示系统日期)
格式:date
功能:设置或显示系统时间说明:普通用户只能显示日期,超级用户可以设置日期 。 null7. who
格式:who [am I ]
功能:查看当前系统的联机使用情况说明:不带参数时查看整个系统的情况,带参数时查看自己的情况 。例:$ who am I
dz ttyc3d7 sep 23 10:00 null8.Cat
格式:
cat [[文件名1 文件名2 [ 文件名3 。。。。。。 ]]> ] 文件名 功能:① 显示已经存在的文件内容 ② 从键盘建立新文件③ 将两个或两个以上文件连接成一个文件 例:显示文本文件a1的内容
$ cat a1例:将文本文件a1和 a2连接在一起结果放入a3中
$ cat a1 a2 >a3例:从键盘创建文本文件
$ cat >a4
.........
ctrl/d
$null9. rm
格式: rm [选择项] 文件1 [文件2,文件3 ......]功能:删除一个或多个文件 。说明:
选择项:-r 对目录和子目录进行递归删除
-i 当删除无写权文件时交互式删除
-f 无条件删除指定的所有文件 例:递归删除目录d1及其子目录
$ rm -r d1例:删除文件a3
$ rm a3例:交互式删除当前目录下的所有文件
$ rm -i *null10. cp
格式1:cp [-i] 文件1[,文件2...... ] 目标文件功能:
(1) 拷贝一个文件到另一个文件 (2)拷贝一个或多个文件到一个目录下,要求目标目录事先建立。 格式2:cp [-ir] 目录1 目录2 例:将文件a1复制到另一个文件abf1中
$ cp a1 abf1功能:(3) 拷贝一个目录到另一个目录下说明:
-i 拷贝时进行确认是否覆盖已存在的目标文件
-r 递归拷贝,用于将一个目录拷贝到另一个目录下例:将文件a1, a2, a3, a6拷贝到目录d21下
$ cp a1,a2,a3,a6 d21
$ cp -ir d1 d2null11. man
格式:man <命令名>功能:显示指定命令的联机帮助12. mv
格式:mv [ -f] 文件1 [文件2 ......] 目标文件功能:重新命名或重新分配一个或多个文件说明:(1) 将文件改名 $mv a1 a8(2) 将目录改名 $mv u1 u8null13. chmod
格式:chmod 方式 文件名或目录名功能:改变文件或目录的操作权限。说明:(1) 方式可以用相应的字符或八进制数字(0~7) (3) 文件默认权限:-rw-rw-r-- 目录默认权限:drwxrwxr-x(2) 只有文件所有者和超级用户可以更改文件属性。(4) 方式:
u - 用户(文件主)
g - 同组用户
o - 其他用户
a - 全部用户
+ 增加权限
- 去掉权限
= 赋予权限例:构造除本人外任何人都不能
读写的文件a1 例:构造文件所有者、同组用户及其它
用户都可以读写的文件a2 例:用绝对修改法使文件主对文件a7有
读写执行权,同组用户有读写权,
其它用户只有读权 $ chmod 764 a7$ chmod a=rw a2$ chmod go-rw a1null14. wc
格式: wc [-lwc] 文件名功能:显示出文件中有多少行,字,字符数说明:(1)若给出多个文件,则记录出每个文件的总数 (3) 缺省时给出的顺序是行、字、字符数(2) 其中参数 -l 仅统计行数例:统计文件a7包含的行数 -w 仅统计字数 -c 仅统计字符数 $ wc -l a710 a7 例:统计文件a6包含的字数和行数 $ wc -wl a6 81 14 a6 例:统计文件a1和 a2分别有多少行、字和字符 $ wc a1 a2 20 100 1206 a1
10 12 268 a2
30 112 1474 totalnull15.输入、输出重定向(1)输入转向:SHELL 从普通文件中获得输入信息 格式:命令 <文件名 ⑵ 输出转向: 例:将文件a1的内容发送给用户user3 格式1 :命令>文件名将一个命令的执行结果存放于一个文件中。 $ mail user3
>文件名 将一个命令的执行结果追加到文件的尾部。 例:以长列表方式列当前目录下的文件目录,
将显示结果送入文件dir下保存 $ ls -l >dir 例:显示当前登录的用户情况,并将显示结果
追加到文件dir的尾部$ who>>dir null16.管道格式:命令1 |命令2例:统计一下当前目录下有多少文件 $ ls –l |wc -lnull三、进程管理命令 1.后台进程格式:<命令>&说明:任何一个命令只要后边加上“&”,则立即变成后台命令,该命令送入后,在终端上显示该进程的进程号,此时可打入命令,使系统做别的事情,以这种方式提交的进程称为后台进程。例:以长列表方式列出/dev/bin下的文件目录
并将结果送入文件devo,以后台方式执行
$ ls –l /dev/bin>devo&null2. 前台进程格式:命令说明:在shell提示符下直接打入命令后打“回车”,系统转去解释并执行命令,而终端在命令执行期间处于等待状态,不接受任何字符,待一条命令执行完成后,才可以打入下一条命令,以这种方式提交的进程称为前台进程。null3. Ps
格式: ps [选择项] 功能:在终端上显示当前活动的进程说明:(1)不带参数,显示与控制终端相连的进程信息 -p<进程标识> 列出指定进程的状态 (2) 其中选择项为: -e 所有用户的每个进程的信息 -u<用户名> 列出指定用户的进程状态 -f 全部列表 例:列出所有用户的每个进程的全部列表信息 $ps -ef UID PID PDID C STIME TTY TIME COMMAND
Root 0 0 0 20:30:20 —— 0.00 sched
Root 1 0 0 20:30:20 —— 0.00 init
用户标识 进程标识 父进程 占CPU 进程开始 进程具体 命令名
标识 情况 时间 时间 null4. Kill
格式:kill [-9] pid
说明:例:中断548号后台进程
功能:中断指定后台进程的执行 (1)-9表示强行中断。(2)可以用^+D中断前台进程。$ kill 548 null四、进程通信命令 1.mail 命令(1) 发送信件格式:mail 用户名 [<文件名]功能:将键盘输入的内容或指定文件的内容发送给指定用户.说明:文件名缺省时从键盘输入每否则发送文件内容.例:给用户user4发送信件$mail user4subject:.......... .........
ctrl/d例:将文件test的内容发送给用户user8$ mail user8 或$sh<< 文件名> ⑵使用户对文件具有执行权限,然后直接执行。 例:$ chmod +x a1 $ a1 null2 shell 变量 ⑴变量名:shell的变量名是字母开头的字母数字序列,shell 的专用变量可以通过打入set命令显示已经建立的变量表,包括HOME、PATH、PS1、PS2、TERM的值。 ⑵变量的赋值:用“=”号,赋值号左右两边都不含空格。
特别地,赋值号右边的值是否用引号括起来是没有区别的。 即:$变量=值 与 $变量='值' 及 $变量="值"等价$bl=count $bl='count' $bl="count" null ⑶位置参数:可以通过命令行提供的字给shell过程传递信息,
在shell过程中通过引用位置参数来引用这些字的值,位置参
数最多有九个,用$号开始,$1-$9,$*表示所有的位置参数,
$#表示命令自变量的个数,$?表示最近执行命令的返回值。 ⑷变量的引用:引用变量时,不能直接使用变量名,必须在变量
名前面加上一个“$”。当一个变量名的后边紧接一些字符,而这些
字符又不是变量名的一部分时,应该用花括号或双引号将变量名括
起来,使变量名与其后的部分分开。 要显示变量的内容则使用echo命令。例:$bl1="this is an example"
$echo $bl1这时屏幕显示: this is an