首先看main.c里的初始化函数main函数里面有个函数是对进程调度的初始化,sched_init()函数,次函数在sched.c中实现: 首先初始化任务0的TTS,FIRST_TSS_ENTRY为4,表示在描述符表的索引是4。因为gdt是desc_struct类型为8个字节,刚好是一个描述符的长度 ...
分类:
系统相关 时间:
2016-06-18 21:11:06
阅读次数:
424
在系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。 进程调度任务 (1)首先保存当前进程的处理机的现场信息 (2)按照算法选取进程 (3)把处理器分配给 ...
分类:
编程语言 时间:
2016-06-17 19:10:47
阅读次数:
165
一、进程和作业的区别区别:进程是一个程序在一个数据集上的一次执行,而作业是用户提交给系统的一个任务。关系:一个作业通常包括几个进程,几个进程共同完成一个任务,即作业。作业调度是宏观调度,它决定了哪一个作业能进入主存。进程调度是微观调度,它决定各作业中的哪一..
分类:
编程语言 时间:
2016-06-17 17:43:41
阅读次数:
199
操作系统中常见的进程调度算法1.先来先服务(FCFS)调度算法FCFS调度算法是一种最简单的调度算法,该调度算法既可以用于作业调度也可以用于进程调度。在作业调度中,算法每次从后备作业队列中选择最先进入该队列的一个或几个作业,将它们调入内存,分配必要的资源,创建进程并..
分类:
编程语言 时间:
2016-06-17 00:56:15
阅读次数:
151
在操作系统中存在多种调度算法,其中有的调度算法适用于作业调度,有的调度算法适用于进程调度,有的调度算法两者都适用。下面介绍几种常用的调度算法。1.先来先服务(FCFS)调度算法FCFS调度算法是一种最简单的调度算法,该调度算法既可以用于作业调度也可以用于进程调度。在..
分类:
编程语言 时间:
2016-06-17 00:53:59
阅读次数:
243
#include<stdio.h> #define N 10 typedef struct process { char name; int arrive; int prio; int needTime; char state; }Process; Process a[N]; void input( ...
分类:
系统相关 时间:
2016-06-16 22:58:40
阅读次数:
281
1.先来先服务(FCFS)调度算法1.它可以用于作业调度,也可以用于进程调度。2.它是优先考虑在作在系统中等待时间最长的作业或者进程。3.不考虑该作业或进程执行时间的长短。原理:每次从进程就绪队列中选择一个等待时间最长(最先进来)的进程,为其分配处理机,使其运行,一直..
分类:
编程语言 时间:
2016-06-16 18:20:20
阅读次数:
174
本文讲述的是linux和windows中的线程-进程调度基本原理。...
分类:
编程语言 时间:
2016-06-16 15:02:49
阅读次数:
284
进程状态:1.等待态:等待某个事件的完成;2.就绪态:等待系统分配处理器以便运行;3.运行态:占有处理器正在运行。运行态→等待态往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。等待态→就绪态则是等待的条件已满足,只需分配到处理器后就能运行。运行态→..
分类:
编程语言 时间:
2016-06-15 00:05:54
阅读次数:
140
一、实验目的 用高级语言完成一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验要求 设计一个有 N个进程并发执行的进程调度模拟程序。 1.模拟进程数据的生成 允许用户指定作业的个数(2-24),默认值为5。 允许用户选择输入每个进程的到达时间,所需运行时间,进程的运行时间以时间片为 ...
分类:
编程语言 时间:
2016-06-14 14:15:54
阅读次数:
186