操作系统知识回顾

上传人:jkl****17 文档编号:178907704 上传时间:2022-12-30 格式:DOC 页数:5 大小:130KB
返回 下载 相关 举报
操作系统知识回顾_第1页
第1页 / 共5页
操作系统知识回顾_第2页
第2页 / 共5页
操作系统知识回顾_第3页
第3页 / 共5页
点击查看更多>>
资源描述
操作系统知识回顾进程的状态运行态:running,正在运行就绪态:running,万事俱备,等待被调度运行睡眠态:等待一个事件发生,由内核唤醒,才能继续运行,如I/O可中断睡眠:睡眠中可被信号唤醒,并处理信号,接着睡眠不可中断睡眠:忽略信号,直至被唤醒暂停态:收到停止信号SIGTSTOP或被调试器暂停僵死态:父进程没有使用wait4调用,子进程退出后资源已释放,但仍处于进程列表中退出态:wait系统调用已发出,在进程完全从系统移出之前。中断和异常概念中断是异步事件,一般由I/O设备产生。分为可屏蔽中断和不可屏蔽中断。异常是同步事件,发生在当前CPU正在处理的事情中,在CPU在执行一条指令时,检测到一条或多条已被预定义的异常。异常可分为处理器检测到的异常如错误、陷阱、中止(aborts)和可编程异常。缺页错误是一个错误的例子。陷阱主要用来调试程序(如设置断点)。中止来自于硬件错误和无效的系统表,中止处理程序别无它法只能强制处理器中止。不可屏蔽中断non-maskable interrupt(NMI)An NMI is often used when response time is critical, and when an interrupt should never be disabled in the normal operation of the system. Such uses include the reporting of non-recoverable hardware errors, methods for system debugging and profiling, and special case handling (last minute hacks) such as system resets.In modern architectures, NMIs are typically used to handle non-recoverable errors, which need immediate attention. Therefore, such interrupts should not be masked in the normal operation of the system. These errors include non-recoverable internal system chipset errors, corruption in system memory such asparityandECCerrors, and data corruption detected on system and peripheral buses.On some systems, an NMI can be triggered by the computers user1. Such applications include hardware and softwaredebugginginterfaces, and system reset buttons.Debugging NMIs are typically used to diagnose and fix faulty code. In such cases an NMI is used to execute aninterrupt handlerthat transfers control to a special monitor program. From this program a developer can inspect the machines memory, and examine the internal state of the program at the instant of its interruption. Such NMIs also allow computers which appear to behungto be debugged or diagnosed.异常和中断向量IA-32架构定义了0255这256个编号来区分不同的中断和异常,这些编号称为向量。Linux用031来标识32个异常和不可屏蔽中断。用3247来标识16个可屏蔽中断,如中断请求(IRQs)引起的中断(实际上,这些都是I/O设备发出的对CPU的硬中断)。48255中,只使用了128这一个编号用于软中断。Linux使用128(0x80)中断编号实现系统调用软件产生的中断用INT n汇编指令生成中断,int 0x80实现系统调用。当CPU执行到中断指令“INT 0x80”时,硬件就做出一系列响应,其动作与上述的中断响应相同。CPU穿过陷阱门,从用户空间进入系统空间。相应地,进程的上下文从用户堆栈切换到系统堆栈。接着运行内核函数system_call()。首先,进一步保存各寄存器的内容;接着调用syscall_trace( ),以系统调用号为下标检索系统调用入口表sys_call_table,从中找到相应的函数;然后转去执行该函数,完成具体的服务。异常Intel 80x86处理器粗略的提供了20个异常,一些遗憾可以提供错误代码,用于报告关于此错误的额外信息。在Linux中,每个异常都有对应的处理代码,通常会发送信号给产生异常的进程。错误是一种异常,eip存储了产生异常的指令地址,因此处理代码可以从新执行这条指令,例如在发生缺页异常时,得到了所需的内存页之后。在陷阱发生时,eip中保持了下一条指令的地址。中止是由于发生了严重的错误,因此不可能从eip中得到地址。可编程异常由int触发,int 3和溢出、越界。Intel Architecture Software Developers Manual, Volume 3: System Programming, Chapter 5.12. Exception and Interrupt Reference提供了异常和中断列表。Though currently only vectors 0-18 are used by the processor, future processors may create incompatibilities for broken software which use these vectors for other purposes.软中断内核中定义了一些软中断在include/linux/interrupt.h中enumHI_SOFTIRQ=0, /* 用于实现bottom half */TIMER_SOFTIRQ,NET_TX_SOFTIRQ,/* 用于网络发送 */NET_RX_SOFTIRQ,/* 用于网络接收 */BLOCK_SOFTIRQ,/* 实现块层的异步请求完成 */BLOCK_IOPOLL_SOFTIRQ,TASKLET_SOFTIRQ,/*用于公共的tasklet使用 */SCHED_SOFTIRQ,/* 用于调度器 */HRTIMER_SOFTIRQ,/* 用于高分辨率定时器 */RCU_SOFTIRQ,/* Preferable RCU should always be the last softirq */NR_SOFTIRQS;这些软中断通过raise_softirq来引发,是有内核代码才使用软中断。软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多情况下,软中断和信号有些类似,同时,软中断又是和硬中断相对应的,硬中断是外部设备对CPU的中断,软中断通常是硬中断服务程序对内核的中断,信号则是由内核(或其他进程)对某个进程的中断(Linux内核源代码情景分析第三章)。软中断的一种典型应用就是所谓的下半部(bottom half),它的得名来自于将硬件中断处理分离成上半部和下半部两个阶段的机制:上半部在屏蔽中断的上下文中运行,用于完成关键性的处理动作;而下半部则相对来说并不是非常紧急的,通常还是比较耗时的,因此由系统自行安排运行时机,不在中断服务上下文中执行。bottom half的应用也是激励内核发展出目前的软中断机制的原因。软中断是linux系统原“底半处理”的升级,在原有的基础上发展的新的处理方式,以适应多cpu 、多线程的软中断处理。一般来说,软中断是由内核机制的触发事件引起的(例如进程运行超时),但是不可忽视有大量的软中断也是由于和硬件有关的中断引起的,例如当打印机端口产生一个硬件中断时,会通知和硬件相关的硬中断,硬中断就会产生一个软中断并送到操作系统内核里,这样内核就会根据这个软中断唤醒睡眠在打印机任务队列中的处理进程。在网络编程中,软中断用来引发协议层代码的执行进程组和会话进程组一个或多个进程组成,用于完成一个任务信号会发送至进程组的每一个成员一般通过管道形成,管道中的进程拥有同一个父进程,彼此是兄弟关系会话一个或多个进程组组成会话内的进程共享一个环境守护进程单独为一个会话命令ps -j/* 任务控制输出格式,显示当前tty */ps j/* BSD风格的任务控制输出格式,显示所有关联tty的进程 */ps jx/* 显示所有任务控制,包括没有关联tty的进程 */ps jx | less/* 可查看ppid、pgid、sid、tty */
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 工业自动化


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!