全球旧事资料 分类
ertcbispsizeofstructi
t_regs4irstructi
t_regstcbispirdstcbissirestcbissiripFP_OFFcodeircsFP_SEGcodeirflags0x200retur
i
3撤消线程1释放线程的私有堆栈空间2重新进行CPU调度voidoveriftcbcurre
tstateRUNNINGfreetcbcurre
tstacktcbcurre
tstateFINISHEDSWITCH重新进行CPU调度二调度程序的实现利用时钟中断来进行CPU调度设计中要注意新中断处理程序不能太长否则系统效率将大大降低甚至使系统无法正常工作在新的时钟中断处理程序里必须调用系统原来的INT08H否则将影响磁盘马达和系统的计时voidi
terruptSWITCHdisabletcbcurre
tss_SStcbcurre
tsp_SPiftcbcurre
tstateRUNNINGtcbcurre
tstateREADYcurre
tfi
d_SStcbcurre
tss_SPtcbcurre
tsptcbcurre
tstateRUNNING
2
f董永文07057409e
ablevoidi
terrupt
ew_i
t8调用原来的中断处理程序old_i
t8timecou
t优先级加1tcbcurre
tprioiftimecou
tTLEdisabletcbcurre
tss_SStcbcurre
tsp_SPiftcbcurre
tstateRUNNINGtcbcurre
tstateREADYcurre
tfi
d_SStcbcurre
tss_SPtcbcurre
tsptcbcurre
tstateRUNNINGtimecou
t0e
able三进程的阻塞和唤醒线程阻塞过程将线程的状态改成阻塞态将线程插入指定的阻塞队列末尾并重新进行CPU调度线程唤醒过程把阻塞队列头上的第一个线程的TCB取下来并将其状态改为就绪态并重新进行CPU调度structblock_e
tryu
sig
edthreadstructblock_e
try
extstructsemaphorei
tvaluestructblock_e
tryLvoidI
itSemaphorestructsemaphorepspsvalueSIGNAL_VALUEpsLNULLvoidblockstructsemaphorepsstructblock_e
trypbetcbcurre
tstateBLOCKEDpbestructblock_e
trymallocsizeofstructblock_e
trypbethreadcurre
tpbe
extpsLpsLpbepri
tf
好听全球资料 返回顶部