操作系统原理进程调度模拟,基本思想:时间片轮转+优先级调度+可抢占,总是运行最高优先级进程(0~sizeof(int))进程队列采用链表形式进行组织,进程数据结构如下:pro_id-->进程控制号,priority-->进程优先级,time_slice-->进程分配的时间片,*next-->指向下一...
分类:
系统相关 时间:
2014-11-13 18:46:50
阅读次数:
209
Xv6代码阅读报告-Topic3@肖剑楠 20111013223Xv6代码阅读报告-Topic31. 序2. 上下文切换2.1 defs.h2.2 swtch.S3. 进程调度4. 管道5. 进程调度流程6. Pipe实现概述7. 阅读心得1. 序Xv6为了实现CPU多进程化需要解决一系列问题。1....
分类:
系统相关 时间:
2014-11-10 21:06:15
阅读次数:
2019
1.几个创建进程函数的对比
?#fork():
? ?源码:
{CSDN:CODE:511925}
? ?执行结果:
? ? ?in the parent process!
? ? ?in the child process!
? ?分析:fork()调用...
分类:
系统相关 时间:
2014-11-07 22:06:55
阅读次数:
255
linux中的进程是个最基本的概念,进程从运行队列到开始运行有两个开始的地方,
一个就是switch_to宏中的标号1:"1:/t",//只要不是新创建的进程,几乎都是从上面的那个标号1开始的,而switch_to宏则是除了内核本身,所有的进程要
想运行都要经过的地方
另 一个就是ret_form_fork
这样看来,虽然linux的进程体系以及进程调度非常复杂,但是总体看来就是一个沙漏...
分类:
系统相关 时间:
2014-10-27 23:07:52
阅读次数:
560
14,进程调度:进程调度概念:进程调度程序决定哪个进程投入运行,何时运行以及运行多长时间。linux是抢占式多任务操作系统,linux在2.6.23内核中采用的是“完全公平调度算法”简称CFS进程调度前提:cpu一个处理器在同一时刻只能运行一个进程进程响应快,后台吞吐量大,避免进程饥饿等linux进...
分类:
系统相关 时间:
2014-10-26 09:06:50
阅读次数:
326
Linux内核-进程调度
1.多任务
#抢占式多任务:由调度程序来决定什么时间停止一个进程的运行
#进程的时间片:分配给每个可运行进程的处理器时间段
2.Linux的进程调度
#O(1)调度程序
#反转楼梯最后期限调度算法(RSDL)
#完全公平调度算法(CFS)
3.策略
#I/O消耗型和处理器消耗型进程:
...
分类:
系统相关 时间:
2014-10-24 18:57:28
阅读次数:
196
堆在实现优先权队列和求最大最小的n个数问题上,有这莫大的优势!
对于最大堆和最小堆的定义此处不再赘述,课参考网上文章:http://blog.csdn.net/genios/article/details/8157031
本文主要是对最小堆进行实现和应用,仅供菜鸟参考。
优先权队列
优先权队列是一种非常有用的数据结构,操作系统的进程调度就有优先权队列的应用,如果用最小值表示最高的优...
分类:
编程语言 时间:
2014-10-22 18:16:13
阅读次数:
244
linux下的调度算法有两种: - CFS 完全公平调度算法,宏为SCHED_BATCH SCHED_NOMAL - 实时调度算法,宏为SCHED_FIFO SCHED_RR ##Reference## [1].http://blog.chinaunix.net/uid-26611383-id-3789974.html [2].ht...
分类:
编程语言 时间:
2014-10-21 17:59:01
阅读次数:
209
自旋锁内调用kmalloc或者copy_to_user之类的接口可能造成死锁。这类函数的实现内有睡眠操作,睡眠时产生了进程调度,新的进程内如果也使用了该自旋锁,就会导致死锁。这类问题非常普通,但很容易忽略;屏蔽的方式:1,使用get_free_page申请内存2,对资源使用引用计数保护3,使用互斥锁
分类:
其他好文 时间:
2014-10-21 13:44:04
阅读次数:
205