操作系统
文章平均质量分 80
c1194758555
这个作者很懒,什么都没留下…
展开
-
作业调度之短作业优先(实验一)
作业:作业是一个比程序更广泛的概念,它不仅包含了通常的程序和数据,而且还应配有的一份说明书,系统根据这份说明书对程序上的运行进行控制。在批处理系统中,是以作业为单位从外存调入内存。作业调度的主要任务:根据JPB中的信息,检测系统中的资源能否满足作业对资源的需求,以及按照一定的调度算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。短作业优先调度算法:以作业时间的原创 2016-10-23 14:21:36 · 7039 阅读 · 1 评论 -
读者写者问题(读者优先、写者优先、公平竞争)
读者优先:1.写者、读者互斥访问文件资源。2.多个读者可以同时访问文件资源。3.只允许一个写者访问文件资源。具体实现:1.设置信号量fileSrc实现读写者对临界资源的访问。2.设置计数器readCount来统计访问临界资源的读者数目,设置信号量readCountSignal完成对readCount计数器资源的互斥访问。/*初始化读者队列为0,文件资源的初始值为1*原创 2016-10-13 13:00:47 · 45916 阅读 · 23 评论 -
进程调度之时间片轮转调度算法(实验三)
在分时系统中,最简单最常用的就是基于时间片轮转调度算法,时间片轮转调度算法是非常公平的处理机分配方式,让就绪队列的每个进程每次仅运行一个时间片。1.时间片轮转调度算法的基本原理 在时间片轮转调度算法中,系统根据先来先服务的原则,将所有的就绪进程排成一个就绪队列,并且每隔一段时间产生一次中断,激活系统中的进程调度程序,完成一次处理机调度,把处理机分配给就绪队列队首进程,让其执行指令。当时原创 2016-11-05 20:53:50 · 19207 阅读 · 2 评论 -
进程调度之动态高优先权优先(实验二)
进程:程序在一个数据集合上的动态执行,是系统进行资源分配和调度的独立单位。动态高优先权优先:就绪进程在时间片上根据优先级的高低轮流执行,当进程结束或时间片结束,进程的优先级减小(相当于提高就绪队列中其他进程的优先级)重新回到就绪队列等待处理机。模拟动态高优先权优先的C代码:#include #include #include //#define OUTALLINFO#d原创 2016-10-30 16:35:46 · 5518 阅读 · 1 评论 -
存储管理之动态分区分配(实验四)
存储管理中的连续内存分配有绝对装入方式和可重定位装入方式。绝对装入方式,同一时间内存只能有一个进程在运行,程序在内存中的物理地址要和编写程序时的逻辑地址完全相同。可重定位装入方式,解决了多道程序设计的中多个程序装入内存的问题,实现了多个程序同时装入内存。动态分区分配算法有首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。首次适应算法:空闲分区链表以地址递增的次序连接,分配内存时从链首原创 2016-11-12 18:50:44 · 12911 阅读 · 2 评论 -
存储管理之分页存储管理方式C语言模拟(实验五)
分页存储管理方式,将程序划分为若干个大小固定的区域(页),也把物理内存划分为大小和页相等的块,通过页表完成页到块的映射。分页存储管理之C语言模拟:#include #include #include #define PAGE 20int memory[PAGE];struct page{ //描述进程信息 int process; int page_n原创 2016-12-13 11:32:37 · 16126 阅读 · 6 评论 -
操作系统中存储器管理及CPU对存储器的访问
即将迎来双十一,大学四年注定要一个人走完了。在做uboot移植时代码的重定向和mmu实验时对链接地址和物理地址的关系傻傻分不清,我联想到学习计算机组成原理中的虚拟存储器时有虚地址(逻辑地址)、实地址(物理地址),我就认为链接地址就是虚拟地址。在学习到操作系统中存储器管理和虚拟存储器之后,我坚信我的猜测是正确的,只不过虚拟地址和物理地址的关系取决于存储管理的方式。1.虚拟存储原创 2016-11-10 19:34:11 · 3200 阅读 · 0 评论