操作系统东南大学滕至阳chapter2课件_第1页
操作系统东南大学滕至阳chapter2课件_第2页
操作系统东南大学滕至阳chapter2课件_第3页
操作系统东南大学滕至阳chapter2课件_第4页
操作系统东南大学滕至阳chapter2课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章作业管理2.1什么叫作业◆用户交给计算机做的工作称为作业

◆作业由程序、数据、作业说明书3部分组成◆批处理作业和交互式作业◆脱机是批处理作业的主要特征

◆交互式作业以联机为主要特征第二章作业管理2.2操作系统提供的用户界面◆界面有时又称为接口

◆操作系统提供程序界面、联机用户界面、脱机用户界面

2.2.1程序界面◆它由一组系统调用命令(简称系统调用或广义指令或访管指令)组成。每条系统调用命令都对应一个由操作系统设计者事先编制好的、能完成某些特定功能的例行程序◆系统调用在程序一级上为用户提供支持,所以称为程序界面

2.2.2UNIX系统调用执行过程第二章作业管理◆执行系统调用例行程序模块时涉及到处理机运行状态的改变:从用户态转到核心态,执行完例行程序后再返回用户态。UNIX的系统调用命令是通过中断机构“陷入”(trap)操作系统核心。(图2-1

图2-2)图2-2编号0123463自带参数个数例行程序入口地址0&nullsys0&renit&fork2&write2&read0┇&nosys&read┇第二章作业管理◆由键盘命令和屏幕命令组成。键盘命令是由联机用户在交互式终端上通过键盘键入的命令

◆屏幕命令的输入主要是靠鼠标器的点击,拖曳,移动2.2.3联机用户界面2.2.4键盘命令执行过程◆“启动”终端处理程序中的命令解释程序

◆终端处理进程转回键盘监督程序,等待后续命令的键入,如此循环直到终端被注销第二章作业管理◆首先键入一个完整的命令

//Startoffragment…//AcquireanddispatchmessagesuntilaWM_QUITmessageisreceived.while(GetMessage(&msg, //MessagestructureNULL //Handleofwindowreceivingthemessage0,//Lowestmessagetoexamine0)){//Highestmessagetoexamineif(!TanslateAccelerator(msg.hwnd,hAccelTable,&msg)){TranslateMessage(&msg); //TranslatesvirtualkeycodesDispatchMessage(&msg); //Dispatchesmessagetowindow}}//…endoffragment//Startoffragment…switch(message){caseWM_COMMAND://Message:commandfromapplicationmenu#ifdefined(_WIN32)wmId=LOWORD(uParam);wmEvent=HIWORD(uParam);#elsewmId=uParam;wmEvent=HIWORD(lParam);#endifswitch(wmId){caseIDM_ABOUT:lpProcAbout=MakeProcInstance((FARPROC)About,hInst);DialogBox(hInst, //Currentinstance"AboutBox", //DlgresourcetousehWnd, //Parenthandle(DLGPROC)lpProcAbout): //About()instanceaddressFreeProcInstance(lpProcAbout);break;caseWM_DESTROY://Message:windowbeingdestroyedPostQuitMessage(0);break;default://Passesitonifunprocessedreturn(DefWindowProc(hWnd,message,uParam,lParam));}return(0);}//…endoffragment2.2.6脱机用户界面◆它由一组作业控制命令组成。这组作业控制命令带有浓厚的编程语言特征,所以又被称为作业控制语言

◆用C-Shell语言编写的作业说明书(图2-4)第二章作业管理86%nroff-mmglossary>glossary.out&[1]2602587%date&[2]26026SatMay422:07:03NDT1997[2]Donedate88%find/-nameace-print>findout&[2]2604189%jobs[1]-runningnroff-mmglossary>glossary.out[2]+runningfind/-nameace-print>findout图2-4用C-Shell编写的作业说明书:

第二章作业管理2.3交互式作业管理◆交互式作业有一个输入(编辑)、编译、运行、调试、再编译、再运行的反复过程2.4批处理作业管理图2-5批处理作业的状态变换第二章作业管理2.4.1SPOOLing输入与输出

SPOOLing(SimultaneousPeripheralOperationsOnLine)

的含义是外围设备同时联机操作

◆带有SPOOLing的系统示意图(图2-6)第二章作业管理2.4.2作业登录作业登录程序负责为作业建立JCB作业名、作业类别(多CPU或多I/O)、作业估计运行时间

作业优先级、作业说明书内部名、程序语言类型主存需求量、外存需求量、作业状态

第二章作业管理◆作业外存地址(输入井,输出井)、作业登录时间2.4.2作业登录第二章作业管理◆撤离时间等用于管理该作业的全部信息◆JCB是作业在系统内存在与否的唯一标记◆所有作业的JCB被链接在一起,习惯上称为作业队列2.4.3作业撤离◆从作业队列上取下该作业的JCB,释放JCB中指明的各种资源第二章作业管理◆释放JCB本身所占的主存区域◆启动作业调度程序新选下一道作业◆本程序休止

2.4.4作业调度◆常见的作业调度算法有:

(1)先来先服务(FCFS)

(2)短作业优先(SJF)

(3)响应比高者优先(HRN)

(4)优先级法(举例)◆作业调度举例(图2-7)第二章作业管理(优先级算法举例)作业号进入输入井时间要求计算时间要求主存大小18:0025分钟15KB1台1台28:2010分钟30KB01台38:2020分钟60KB1台048:3020分钟20KB1台058:3515分钟10KB1台1台申请磁带机数量申请打印机数量2.4.5作业控制◆某作业说明书的一个片段:ccf1.c/*编译f1模块,生成f1.obj文件*/ccf2.c/*编译f2模块,生成f2.obj文件*/linkf1.objf2.objf.exe-lib

第二章作业管理2.4.5作业控制◆在多处理机环境下,作业控制程序有识别作业步并行关系的能力和任务分派能力

◆作业控制程序同样要能控制并发程序◆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论