1 多道程序设计:指有多个进程准备好要执行。操作系统挑选一个已经准备好的进程来执行。当哪个进程需要等待资源时,操作系统保存从停止处恢复此进程所需的所有信息。
2 系统调用:(system call)是对操作系统服务的一次请求,它会使正常的CPU周期中断,并把控制权交给操作系统,然后,操作系统就可以切换到另一个进程上去了。
3 上下文切换时间:指从执行一个进程转换到执行另一个进程所花费的时间
4 信号:是事件的软件通知。通常,信号时操作系统对中断(硬件事件)的响应。当引发信号 的那个事件发生时,信号就产生了。进程执行信号的处理程序,他就捕捉(catch)到了信号
5 进程间通信IPC:有相同祖先的进程可以通过管道(pipe)进行通信
无共同祖先的进程可以通过信号、FIFO、信号量、共享的地址空间、消息进行通信
6 缓冲区溢出:当程序将数据拷贝到一个没有为其分配足够空间的变量中去的时候,就会发生buffer overflow
在典型的系统中,栈是从高端内存(内存地址比较小的部分) 向 低端内存(内存地址比较大的部分)扩展的。
调用一个函数时,栈的低端部分(内存地址比较大的部分)包括传递的参数和函数返回地址。
栈的高端部分(内存地址比较小的部分)存放局部自动变量
即,数据先入栈,函数地址最后入栈。
缓冲区溢出的产生,即当程序向栈中变量的范围之外写入时,额外的字节可能会重写未使用的空间、其他变量、函数返回地址或改程序不能合法访问的其他内存。结果可能会造成程序崩溃,信息转储及不可预测的行为。(书p15-16)
本文详细阐述了操作系统中多道程序设计的概念、系统调用的作用、上下文切换时间的重要性、信号机制及其处理过程,同时介绍了进程间通信的多种方式以及缓冲区溢出的原理与危害,为读者提供了一个全面的操作系统与进程管理知识框架。
1527

被折叠的 条评论
为什么被折叠?



