操作系统知识回顾

操作系统知识回顾

ID:41071028

大小:130.00 KB

页数:5页

时间:2019-08-15

操作系统知识回顾_第1页
操作系统知识回顾_第2页
操作系统知识回顾_第3页
操作系统知识回顾_第4页
操作系统知识回顾_第5页
资源描述:

《操作系统知识回顾》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、操作系统知识回顾进程的状态运行态:running,正在运行就绪态:running,万事俱备,等待被调度运行睡眠态:等待一个事件发生,由内核唤醒,才能继续运行,如I/O可中断睡眠:睡眠中可被信号唤醒,并处理信号,接着睡眠不可中断睡眠:忽略信号,直至被唤醒暂停态:收到停止信号SIGTSTOP或被调试器暂停僵死态:父进程没有使用wait4调用,子进程退出后资源已释放,但仍处于进程列表中退出态:wait系统调用已发出,在进程完全从系统移出之前。中断和异常概念中断是异步事件,一般由I/O设备产生。分为可屏蔽中断和不可屏蔽中断。异常

2、是同步事件,发生在当前CPU正在处理的事情中,在CPU在执行一条指令时,检测到一条或多条已被预定义的异常。异常可分为处理器检测到的异常如错误、陷阱、中止(aborts)和可编程异常。缺页错误是一个错误的例子。陷阱主要用来调试程序(如设置断点)。中止来自于硬件错误和无效的系统表,中止处理程序别无它法只能强制处理器中止。不可屏蔽中断non-maskableinterrupt (NMI)AnNMIisoftenusedwhenresponsetimeiscritical,andwhenaninterruptshouldneve

3、rbedisabledinthenormaloperationofthesystem.Suchusesincludethereportingofnon-recoverablehardwareerrors,methodsforsystemdebuggingandprofiling,andspecialcasehandling(lastminutehacks)suchassystemresets.Inmodernarchitectures,NMIsaretypicallyusedtohandlenon-recoverable

4、errors,whichneedimmediateattention.Therefore,suchinterruptsshouldnotbemaskedinthenormaloperationofthesystem.Theseerrorsincludenon-recoverableinternalsystemchipseterrors,corruptioninsystemmemorysuchas parity and ECC errors,anddatacorruptiondetectedonsystemandperip

5、heralbuses.Onsomesystems,anNMIcanbetriggeredbythecomputer'suser [1].Suchapplicationsincludehardwareandsoftware debugging interfaces,andsystemresetbuttons.DebuggingNMIsaretypicallyusedtodiagnoseandfixfaultycode.InsuchcasesanNMIisusedtoexecutean interrupthandler th

6、attransferscontroltoaspecialmonitorprogram.Fromthisprogramadevelopercaninspectthemachine'smemory,andexaminetheinternalstateoftheprogramattheinstantofitsinterruption.SuchNMIsalsoallowcomputerswhichappeartobe hung tobedebuggedordiagnosed.异常和中断向量IA-32架构定义了0~255这256个

7、编号来区分不同的中断和异常,这些编号称为向量。Linux用0~31来标识32个异常和不可屏蔽中断。用32~47来标识16个可屏蔽中断,如中断请求(IRQs)引起的中断(实际上,这些都是I/O设备发出的对CPU的硬中断)。48~255中,只使用了128这一个编号用于软中断。Linux使用128(0x80)中断编号实现系统调用软件产生的中断用INTn汇编指令生成中断,int0x80实现系统调用。当CPU执行到中断指令“INT0x80”时,硬件就做出一系列响应,其动作与上述的中断响应相同。CPU穿过陷阱门,从用户空间进入系统空

8、间。相应地,进程的上下文从用户堆栈切换到系统堆栈。接着运行内核函数system_call()。首先,进一步保存各寄存器的内容;接着调用syscall_trace(),以系统调用号为下标检索系统调用入口表sys_call_table,从中找到相应的函数;然后转去执行该函数,完成具体的服务。 异常Intel80x86处理

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。