Linux操作系统是如何工作的
linux系统内核分析实验五
SA12****178 叶*冬
操作系统工作基础:
1、存储程序原理:
”存储程序“是冯诺依曼体系计算机的基本原理,是讲根据特定问题编写的程序存放在计算机的存储器中,运行时,控制器按地址顺序取出存放在内存存储器中的指令,然后分析指令,执行指令的功能,遇到转移指令,则转移到指定地址,再继续按地址顺序访问指令。
2、函数调用堆栈
3、 中断机制堆栈是函数调用的物理基础,操作系统中的程序都是由函数组成。函数调用过程中通过改变ESP,EBP,EIP等寄存器中的值的变化来实现程序的执行。
cpu在某时刻只能被一个程序占用,通过中断机制可以使操作系统在用户态与内核态之间进行切换,控制各个程序的执行。主要过程有中断产生,中断分析,中断处理,中断返回等。
有了以上三个基础后,可以分析linux系统的工作过程:
现代操作系统都支持多任务系统,系统工作时,分为内核态和用户态。操作系统在管理计算机所有的软硬件资源时,用户态程序不能直接
使用硬件,而是通过中断请求,使得需要使用硬件的操作由内核态来完成。内核态通过分析中断请求,确定中断优先级,查找中断向量表,然后转向对应的中断处理函数,完成对用户态的中断服务。中断服务结束后,操作系统再次返回到用户态,由用户态继续执行中断之前的程序。
在这个过程中,用户程序是一个进程,该进程在执行过程中,可能需要调用多个函数来完成功能,在函数调用过程中,需要使用到堆栈,
通过堆栈的EIP,ESP,EBP的变化,来控制着传程序的执行流程。函数的执行过程是由代码和数据构成的,代码和数据都存储在内存中,现代计算机体系依然采用冯诺依曼的存储程序和自动控制原理。
操作系统在内核态和用户态之间进行着软硬件的分配使用和调度。使得系统能更安全,更方便的为人们使用。