第二章作业管理和用户接口 在这一章中,我们讨论OS向上提供的用户接口,即系 统命令接口和系统调用接口。系统命令接口可完成用 户作业的组织和控制 2.1作业组织和控制 2.2作业管理举例 23系统调用( SYSTEM CALL 24图形用户接口(GUI, GRAPHIC USER INTERFACE
第二章 作业管理和用户接口 2.1 作业组织和控制 2.2 作业管理举例 2.3 系统调用(SYSTEM CALL) 2.4 图形用户接口(GUI, GRAPHIC USER INTERFACE) 在这一章中,我们讨论OS向上提供的用户接口,即系 统命令接口和系统调用接口。系统命令接口可完成用 户作业的组织和控制
2.1作业组织和控制 2.1.1作业和作业处理过程 2.12作业调度 2.1.3作业控制语言 返回
2.1 作业组织和控制 2.1.1 作业和作业处理过程 2.1.2 作业调度 2.1.3 作业控制语言 返回
2.1.1作业和作业处理过程 1.作业的概念 2.作业的组成 3.作业的处理过程 作业输入方式 5.作业控制表(JCB, Job control block)
2.1.1 作业和作业处理过程 1. 作业的概念 2. 作业的组成 3. 作业的处理过程 4. 作业输入方式 5. 作业控制表(JCB, Job Control Block)
1.作业的概念 一个作业是指在一次应用业务处理过程中,从输入 开始到输出结束,用户要求计算机所做的有关该次 业务处理的全部工作。 用户的观点:在一次业务处理过程中,从输入程序和数 据到输出结果的全过程。作业步:形成中间结果文件 系统的观点(针对作业进行资源分配):作业由程序及 数据(作业体)和作业说明书(作业控制语言) 作业由不同的顺序相连的作业步组成 作业步是在一个作业的处理过程中,计算机所做的 相对独立的工作
1. 作业的概念 • 一个作业是指在一次应用业务处理过程中,从输入 开始到输出结束,用户要求计算机所做的有关该次 业务处理的全部工作。 – 用户的观点:在一次业务处理过程中,从输入程序和数 据到输出结果的全过程。作业步:形成中间结果文件。 – 系统的观点(针对作业进行资源分配):作业由程序及 数据(作业体)和作业说明书(作业控制语言) • 作业由不同的顺序相连的作业步组成。 • 作业步是在一个作业的处理过程中,计算机所做的 相对独立的工作
2.作业的组成 作业由程序、数据和作业说明书三部分组成。 作业说明书包括作业基本情况、作业控制、作 业资源要求的描述;它体现用户的控制意图。 如:预计运行时间、要求的资源情况、执行优 先级等 作业基本情况:用户名、作业名、编程语言、最大 处理时间等; 作业控制描述:作业控制方式、作业步的操作顺序 作业执行出错处理; 作业资源要求描述:处理时间、优先级、内存空间 外设类型和数量等;
2. 作业的组成 • 作业说明书包括作业基本情况、作业控制、作 业资源要求的描述;它体现用户的控制意图。 如:预计运行时间、要求的资源情况、执行优 先级等。 – 作业基本情况:用户名、作业名、编程语言、最大 处理时间等; – 作业控制描述:作业控制方式、作业步的操作顺序、 作业执行出错处理; – 作业资源要求描述:处理时间、优先级、内存空间、 外设类型和数量等; 作业由程序、数据和作业说明书三部分组成
3.作业的处理过程 运行 完成 作业调度 用户“提交 收容 就绪N完成阻塞 执行 作业录入 作业调度 ·作业提交: 作业的输入 ·作业执行: 先到"就绪",经调度"运行",有IO请求"等待",ⅣO完成到"就绪" 作业完成: 作业的输出
3. 作业的处理过程 • 作业提交: – 作业的输入; • 作业执行: – 先到"就绪",经调度"运行",有I/O请求"等待" ,I/O完成到"就绪" • 作业完成: – 作业的输出; 用户 作业录入 提交 收容 运行 完成 就绪 阻塞 等待 I/O I/O 完成 进程 调度 作业调度 执行 作业调度
4.作业输入方式 无通道处理方式: 联机(降低了CPU效率):由主机直接控制输入输出;IO 与作业处理不能并行。 脱机(人工干预):通过磁带或磁盘在外围处理机与主机 之间交换作业(需人工移动);用于主机不太快的情况 直接耦合:通过共享外存在外围处理机与主机之间交换作 业;用于高速主机。 有通道处理:输入/输出由主机和通道来承担。 假脱机( (spooling, Simultaneously Peripheral Operation On Line):系统把作业处理的全过程划分为相对独立的三个部 分-输入流、处理流和输出流。 spooling-in/ spooling-out进程 控制输入/输出; 网络:在网络上一台机器进行作业输入输出,在另一台主 机上运行;
4. 作业输入方式 • 无通道处理方式: – 联机(降低了CPU效率):由主机直接控制输入/输出;I/O 与作业处理不能并行。 – 脱机(人工干预):通过磁带或磁盘在外围处理机与主机 之间交换作业(需人工移动);用于主机不太快的情况。 – 直接耦合:通过共享外存在外围处理机与主机之间交换作 业;用于高速主机。 • 有通道处理:输入/输出由主机和通道来承担。 – 假脱机(spooling, Simultaneously Peripheral Operation On Line):系统把作业处理的全过程划分为相对独立的三个部 分--输入流、处理流和输出流。spooling-in/spooling-out进程: 控制输入/输出; – 网络:在网络上一台机器进行作业输入/输出,在另一台主 机上运行;
5.作业控制表(JCB, Job Control block) 在运行过程中,系统对作业进行管理的必要信息 作业名 估计执行时间 优先数(用于调度) 作业说明书文件名 程序类型(需调用的系统程序) 资源要求:(静态,或中间可以随作业步变化一一效率不 高;动态分配 ·作业状态:提交、后备、执行、就绪、等待、完成;
5. 作业控制表(JCB, Job Control Block) • 作业名 • 估计执行时间 • 优先数(用于调度) • 作业说明书文件名 • 程序类型(需调用的系统程序) • 资源要求:(静态,或中间可以随作业步变化--效率不 高;动态分配 • 作业状态:提交、后备、执行、就绪、等待、完成; 在运行过程中,系统对作业进行管理的必要信息
2.1.2作业调度 检査系统是否满足作业的资源要求,并一定算法选取 作业。作业调度也称为宏观调度。 作业调度算法的评价因素 作业吞吐量:运行尽可能多的作业; 充分利用资源:CPU忙、IO设备忙; 对各作业公平、合理,使用户满意:执行时 间长短、等待时间等;
2.1.2 作业调度 • 作业调度算法的评价因素 – 作业吞吐量:运行尽可能多的作业; – 充分利用资源:CPU忙、I/O设备忙; – 对各作业公平、合理,使用户满意:执行时 间长短、等待时间等; 检查系统是否满足作业的资源要求,并一定算法选取 作业。作业调度也称为宏观调度
2.作业调度算法 实际的算法可能会是多种算法的综合。 先来先服务(FCFS):按照作业进入系统的先后次 序进行调度,先进入系统者先调度;即启动等待时 间最长的作业。 优点:实现简单、公平 缺点:没考虑资源利用率和作业的特殊性 短作业优先(SJF):以要求运行时间长短进行调度, 即启动要求运行时间最短的作业。 优点:易于实现,强调了资源的充分利用,保证了系统的 最大吞吐量(单位时间里处理作业的个数) 缺点:不公平,会造成长作业长期等待。 结论:假设系统中所有作业同时到达,可以证明采用SJF 能得到最短的作业平均周转时间
2. 作业调度算法 • 先来先服务(FCFS):按照作业进入系统的先后次 序进行调度,先进入系统者先调度;即启动等待时 间最长的作业。 – 优点:实现简单、公平 – 缺点:没考虑资源利用率和作业的特殊性 • 短作业优先(SJF):以要求运行时间长短进行调度, 即启动要求运行时间最短的作业。 – 优点:易于实现,强调了资源的充分利用,保证了系统的 最大吞吐量(单位时间里处理作业的个数)。 – 缺点:不公平,会造成长作业长期等待。 – 结论:假设系统中所有作业同时到达,可以证明采用SJF 能得到最短的作业平均周转时间。 实际的算法可能会是多种算法的综合