赞
踩
1、 对作业调度的相关内容作进一步的理解。
2、 明白作业调度的主要任务。
3、 通过编程掌握作业调度的主要算法。
1、 假设系统中可同时运行两道作业,给出每道作业的到达时间和运行时间,如下表所示:
2、 分别用先来先服务算法、短作业优先和响应比高者优先三种算法给出作业的调度顺序。
3、 计算每一种算法的平均周转时间及平均带权周转时间并比较不同算法的优劣
说明:
响应比=等待时间/运行时间+1
周转时间=完成时间-到达时间
带权周转时间=周转时间/运行时间
FIFO:按照到达时间排序,取两个double变量,作时间标记,表示当前时间,然后遍历works;
当t1>t2时:
t2作业先完成,让给下一个作业,注意:t2与下一个作业的到达时间比较;
当t1<=t2时:
t1作业先完成,让给下一个作业,注意:t1与下一个作业的到达时间比较。
SJF:按照作业运行时间排序,取两个double量同上作用;
当t1>t2时:
t2作业先完成,取下一个作业,其运行时间是未运行作业中最短的,但是,存在一个问
题:该作业运行时间最短,但没到达,存在一个到达而运行时间更长的作业,此时,需要
运行第二个作业;
找第二个作业的方法:按run排序
【1】 如果存在到达的作业:第一个找到的作业即是
【2】 如果不存在到达的作业:后续作业中第一个到达的
然后执行该作业,该作业pop,并push到另一个容器,作最后输出
当t1<=t2时:基本同上
HRF:先按到达时间排序
当t1>t2时:
若t2为0,表示仅执行过一次作业且是t1负责,后续作业第一个到达的就是响应比最高的,
为1;
若t2不为0,(如无作业到达,t2增加到直到后续第一个作业到达),在剩余作业中找出已
到达且响应比最高的作业,执行并pop,push到另一个容器作最后输出
当t1<=t2,同上
1、 对磁盘调度的相关知识作进一步的了解,明确磁盘调度的原理。
2、 加深理解磁盘调度的主要任务。
3、 通过编程,掌握磁盘调度的主要算法。
1、 对于如下给定的一组磁盘访问进行调度:
2、 要求分别采用先来先服务、最短寻道优先以及电梯调度算法进行调度。
3、 要求给出每种算法中磁盘访问的顺序,计算出平均移动道数。
4、 假定当前读写头在90号,电梯调度算法向磁道号增加的方向移动。
FCFS:按照读取时的顺序服务
SSTF:从磁头90开始,找到距离最近的一个,访问,重复以上过程直到访问结束;
说明:遍历n次,n是访问次数,每次挑出距离当前位置最近且未访问的磁道,已访问的磁道置-1
SCAN:电梯调度算法,按照类快排思想,把访问的磁道号按照磁头90分为两个部分v1和v2,v1存储磁头左侧,v2存储磁头右侧,v1和v2排序,然后电梯式访问。
说明:磁头90,方向向增长方向移动,即先访问v2,直到边界,反转,访问v1,结束;设置的磁道号范围[0,199]
1、 掌握 linux 提供的文件系统调用的使用方法;
2、 熟悉文件系统的系统调用用户接口;
3、 了解操作系统文件系统的工作原理和工作方式。
使用文件系统调用编写一个文件工具filetool使具有以下功能:
1.创建新文件
2.写文件
3.读文件
4.修改文件权限
5.查看当前文件权限
0.退出
提示用户输入功能号,并根据用户输入的功能选择相应的功能。
文件按可变记录文件组织,具体记录内容自行设计。
1、 理解进程的概念,明确进程和程序的区别。
2、 理解并发执行的实质。
3、 掌握进程的同步、撤销等进程控制方法。
1、 父进程使用系统调用pipe()建立一个管道,然后使用系统调用fork()创建两个子进程:子进程1和子进程2
2、 子进程1每隔1秒通过管道向子进程2发送数据:I send message x times.(x初值为1,以后发送一次后做加一操作),子进程2从管道读出信息,并显示在屏幕上
3、 父进程用系统调用signal()来捕捉来自键盘的中断信号SIGINT(即按Ctrl+C键,);当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到信号后分别输出如下信息后终止: Child Process 1 is killed by Parent! 和 Child Process 2 is killed by Parent!
4、 父进程等待两个子进程终止后,释放管道并输出如下的信息后终止 Parent Process is Killed!
1、 创建管道:pipe
2、 设置信号;SIGINT
3、 创建两个子进程1、2
4、 子进程1:
1) 屏蔽SIGINT信号
2) 关闭管道-读
3) 设置信号SIGABRT:用于接收父进程的通知
4) 开始循环向管道写数据“I send message x times”,x=1++
5、 子进程2:
1) 屏蔽SIGINT信号
2) 关闭管道-写
3) 设置信号SIGABRT:接收父进程通知
4) 从管道循环读取数据,输出
6、 父进程:
1) 阻塞等待两个子进程结束
2) 输出“Parent Process is killed”
3) 关闭管道
7、 说明:
1) 信号SIGINT:signal(SIGINT,函数1)
2) 信号SIGABRT:signal(SIGABRT,函数2)
3) 屏蔽信号:signal(SIGINT,SIG_IGN)
4) 函数1:通过kill向两个子进程发送信号SIGABRT
5) 函数2:关闭管道,若是子进程1则输出“Child Process 1 is killed by Parent”,然后结束进程;若是子进程
2则输出“** 2 **”,结束进程
1、 了解虚拟存储技术的特点
2、 掌握请求分页系统的页面置换算法
1、 通过如下方法产生一指令序列,共320条指令
2、 指令序列变换成页地址流,设:
3、 计算并输出下述各种算法在不同内存页块下的命中率。
1、 FIFO
2、 LRU
3、 OPT
memory=4 , 32
1、 理解管道机制、消息缓冲队列、共享存储区机制进行进程间的通信;
2、 理解通信机制
编写一主程序可以由用户选择如下三种进程通信方式:
1、 使用管道来实现父子进程之间的进程通信
2、 使用消息缓冲队列来实现 client 进程和 server 进程之间的通信
3、 使用共享存储区来实现两个进程之间的进程通信
1、管道通信:
2、 消息队列通信
3、 共享内存通信
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。