CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

我们普通的PC机,操作系统把时间片给了我的程序,他又通过什么办法把时间片拿回去了?难道是修改了我的程序,肯定不是,但是我想知道

楼主poko(poko)2006-11-02 21:38:20 在 其他开发语言 / 汇编语言 提问

我们普通的PC机,操作系统把时间片给了我的程序,他又通过什么办法把时间片拿回去了?难道是修改了我的程序,肯定不是,但是我想知道 问题点数:20、回复次数:10Top

1 楼mydo(侯佩|hopy|ks)回复于 2006-11-02 21:48:49 得分 0

类似于一个时钟中断,一定间隔后当前任务挂起,任务调度任务激活,然后根据  
  特定的算法决定下一个被调度的任务。这只是单处理器的情况,多处理器更复杂。Top

2 楼UPCC(杂食动物)回复于 2006-11-02 22:56:03 得分 0

如果楼主你说的,你的程序要被修改掉,那么同样的推理,别人的程序也要被修改掉,不然你的程序怎么开始运行??  
   
  一个程序在运行后就成了进程,进程受到内核进程管理,每个进程运行一个时间片之后就会被挂起,在挂起的同时把给进程临时的状态(PWD,SI,DI,IP...)都PUSH到一个栈里,等下次到这个进程运行的时候就把这些数据POP出来Top

3 楼Michale021(曾经花开)回复于 2006-11-03 08:39:41 得分 0

同意楼上的看法~~~~Top

4 楼poko(poko)回复于 2006-11-03 13:08:24 得分 0

这个东西时钟中断是不是硬件实现的,我想肯定是硬件的,  
  一般的CPU都这么搞的吗Top

5 楼microyzy(人不在牛,分高就行;分不在高,人牛也行)回复于 2006-11-03 13:36:27 得分 0

中断,你的程序在ring3,系统内核在ring0,它的级别更高Top

6 楼nature03(黑咖啡)回复于 2006-11-03 14:59:46 得分 0

系统为每个进程都分配有栈,这样系统可以很方便的把每个进程随时挂起或者恢复,当然挂起和恢复是有条件的,系统通常使用时钟中断进行调度,也可以用其它的中断来调度。  
  深入了解你可以看看操作系统的书,里面讲的比较透。Top

7 楼blackchoc()回复于 2006-11-03 17:13:23 得分 0

实现需要软硬件相互配合才行  
  8086就不支持多任务环境.只有80286以及以上的cpu才支持  
  当然如果只有硬件没有软件(多任务操作系统)支持也不行.  
  目前我也正在学习操作系统,但我发现书上理论性太强.  
  屏蔽了许多我想知道的东西.  
  希望有时间能多交流Top

8 楼DelphiGuy()回复于 2006-11-03 18:07:37 得分 0

8086也一样支持多任务,只是做不了存储保护而已。  
  当初的CP/M-80就是在8080/8085和Z80上实现的多用户操作系统。  
  Top

9 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2006-11-04 10:09:53 得分 0

只要有定时器中断,就能实现抢先式多任务  
   
  多任务的关键在于切换关键寄存器,此操作被称为上下文(context)切换  
   
  推荐《C语言接口与实现》  
  该书第20章线程,就是讲如何用C语言和少量汇编代码,来模拟实现多线程  
   
   
  C语言接口与实现——创建可复用软件的技术(C   Interfaces   and   Implementations:   Techniques   for   Creating   Reusable   Software)  
  [美]   Davaid   R.   Hanson   著,   傅蓉,   周鹏,   张昆琪,   权威   译  
  机械工业出版社,   2004.1  
  ¥35.00  
  7-111-13005-7/TP.2914  
  Top

10 楼xiangqian(天阁流云)回复于 2006-11-04 13:35:25 得分 0

时间片给你也是软件实现,你可以叫他调度程序,调度程序调用的时点一般有二:中断处理返回,系统调用返回;调用方式可主动可被动。时间中断的产生是硬件特性,和所有的设备产生中断一样,最简单的pit,给它发个io命令设置一个寄存器数值,则以固定频率递减,减到0触发一个中断,该中断对应的中断处理通过软件实现。Top

相关问题

关键词

得分解答快速导航

  • 帖主:poko

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo