搜索资源列表
q1.zip
- q1.zip 程序创建两个线程,第一个线程没有消息队列,主线程尝试给第一个线程发送一个消息,我们可以看到PostThreadMessage()返回FALSE,程序创建的第二个线程有一个消息队列,主线程中的PostThreadMessage()返回TRUE,程序由Visual C++ 6.0开发,没有用到MFC
LF_ThreadPool
- 一个在《ACE程序员指南》16章的线程池的例子,但是书上的代码有问题。我进行了修改,使得多线程的运行更加健壮,不会出现当队列中无消息时,线程池迅速消失的BUG。相信很多ACE初学者发现了此问题,在此卖弄一下。-an "ACE Programmer's Guide" Chapter 16 of the thread pool examples, but the book on the code problems. My modified so that the mult
进程管理与调度的模拟
- 在进程管理与调度模拟系统中,共涉及到两个类和一个结构体:PCB结构体、链队列类和OS类。操作系统启动后,在系统内将存在PCB池,用来存放进程的PCB结构,PCB池的大小决定了系统中能同时存在的进程数量。在本系统中,假定系统能同时存在的进程数为20个,用一个PCB的数组来表示。PCB池中的PCB会有四种状态:运行状态、就绪状态、阻塞状态和空闲状态,所以,在操作系统中将会有四种队列:运行队列、就绪对列、阻塞队列和空闲队列。进程的创建随着操作系统的调度,将会在这四种队列中变迁。-in process
mqsample
- 使用消息队列的例子,用于新学习消息队列示范-use the example for the new learning model Message Queue
MessageQueue
- 完全自己编写的消息队列,代码中还实现了互斥量、信标量以及线程调度,该代码完全由C编写,没有使用WINDOWS函数。-completely prepared by his message queue, the code also achieved a volume contradict letter scalar and thread scheduling, the C code entirely prepared, to use a Windows function.
threadphilosopher
- 利用线程方案实现实现哲学家问题.设置五个信号量代表五把叉子,初使值均为1,表示5把叉子均可以取,设置五个线程代表5个哲学家,其值分别为0~4,规定奇数号的哲学家先拿起他左边的叉子,然后再去拿他右边的叉子 而偶数号的哲学家则相反.按此规定,将是1,2号哲学家竞争1号叉子,3,4号哲学家竞争3号叉子.即五个哲学家都竞争奇数号叉子,获得后,再去竞争偶数号叉子,最后总会有一个哲学家能获得两支叉子而进餐。而申请不到的哲学家进入阻塞等待队列,根FIFO原则,则先申请的哲学家会较先可以吃饭,因此不会出现饿死的
Clunzhuanfa
- 编写并调试一个模拟的进程调度程序,采用“轮转法”调度算法对五个进程进行调度。 轮转法可以是简单轮转法、可变时间片轮转法,或多队列轮转法。 简单轮转法的基本思想是:所有就绪进程按 FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用CPU的时间片相同。如果运行进程用完它的时间片后还为完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直至所有的进程运行完毕。-prepared a simulation and debugging process sched
youxianshu
- 编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。 “最高优先数优先”调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。 静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。 动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如:在进程获得一次CPU后就将其优先数减少1。或者,进程等待的时间超过某一时限时增加其优先数的值,-prepared a simulation an
ad-function
- 在操作系统中,由于进程总数多于处理机,它们必然竞争处理机。进程调度的功能就是按一定策略、动态地把处理机分配给处于就绪队列中的某一进程并使之执行。根据不同的系统设计目标,可有多种选择某一进程的策略。有两种基本的进程调度方式,即剥夺方式(preemptive mode)和非剥夺方式(non-preemptive mode)。前者指就绪队列中一旦有优先级高于现行进程优先级的进程出现时,系统便立即把处理机分配给高优先级的进程。当然,被剥夺了处理机的进程的有关状态和上下文都必须妥善保存以便今后恢复。后者是
Process_Scheduler
- 这是一个操作系统进程管理的模拟程序。 采用FCFS,多级反馈队列等算法调度进程。 这是我们操作系统课程的一个项目。-This is a process management system simulation program. Using FCFS queue, multi-level feedback queue algorithm scheduling process. This is our operating systems course of a project.
processDispatch
- 进程调度模拟程序:假设有10个进程需要在CPU上执行,分别用: 1.先进先出调度算法; 2.基于优先数的调度算法; 3.最短执行时间调度算法 确定这10个进程在CPU上的执行过程。要求每次进程调度时在屏幕上显示: 1.当前执行进程; 2.就绪队列; 3.等待队列 附:此程序可直接运行,是操作系统课的经典实验. -scheduling process si
cankaodaima
- 操作系统实验2:进程调度策略的模拟实现 1、 设计一个有 N个进程共行的进程调度程序。 2、 每个进程有一个进程控制块PCB来表示,进程控制块的格式为: 进程名 优先数 到达时间 需要运行时间 已占用CPU时间 进程状态 a) 进程优先数、需要运行时间、到达时间可以事先人为地指定,也可以随机产生,注意初始化上述数值时要尽量使进程并发执行,而不是按到达时间顺序调度。 b) 进程的运行时间以时间片为单位进行计算。 c) 进程状态分为就绪、运行、完成三
Ex_Thread
- 5个进程 开始时处于就绪队列中 该单机系统采用时间片轮转法进行调度。假定A每运行4个时间片就发出一次I/O请求,I/O完成时间为20个时间片。D每运行2个时间片就发出一次I/O请求,I/O完成时间为10个时间片。-five at the beginning of the process, in place of the single queue system uses Web Tablet time scheduling method. A running assumed every f
OS_Traffics
- 用MFC和DIRECTX开发的模拟十字路*通状况,完全用单线程模拟多线程的行为,使用了包括信号量,PV原语,就绪队列,等待队列等在内的操作系统的概念和数据结构。
threadpool_src
- 线程池是一钟多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程.每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中.如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙.如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值.超过最大值的线程可以排队,但他们要等到其他线程完成后才启动
ProcSchedule
- 多级反馈队列调度的模拟实现,通过调度过程,模拟进程调度。
TestCircleQueue
- 一个循环队列的例子,在数据量大小预知的情况下,减少了内存数据的移动。可以直接使用其中的CCircleQueue类,提供了多线程保护。
DataCache
- 自己实现的一个高效的通用对象队列,支持等待和唤醒。实用了Lock机制,对多线程并发比SYnchronization快-DataQueue with Locks
Queue
- 微软消息队列消息的实时监控读取封装的类 通过事件机制来实现-Microsoft Message Queuing messages real-time monitoring package, the class to read through the event mechanism to achieve
多级反馈队列算法程序
- 多级反馈调度算法,根据进程队列优先级进行调度(Multilevel feedback scheduling algorithm, scheduling based on process queue priority)
