操作系统
首先我先谈一下我关于操作系统的理解,操作系统本身就是一个比较大的进程,他对下负责管理计算机的软硬件以及为软件提供良好的运行环境,对上和用户进行交互。
用户通过shell命令操作系统调用接口,系统调用接口又连接着操作接口,操作接口下则是驱动软件,驱动软件负责调用系统的各种硬件。
所谓的操作系统,就是用户和内核之间的一层壳,因为用户直接使用内核可能会发生各种不可预料的事情,这才有了操作系统。
进程
那么,什么是进程呢?
首先,我们写的程序不是进程,只有当程序运行起来的时候,他才是进程,所以说,进程就是运行起来的程序;
对于用户来说,进程就是运行的程序,那么站在操作系统的角度来说,进程就是对于这个进程的描述;
这个描述是个结构体,就叫PCB( task_struct );
当一个程序运行起来的时候,就是cpu把这段程序加载到内存中来,并赋予他一个唯一的标识符 PID ,并且将它所需要的一些资源进行描述,这就是所谓的PCB;
Linux中,所有的进程都被保存在 /proc 目录下,我们可是使用指令 ps aux 来查看所有的进程,还可以使用 ps -ef 来查看进程的相关信息。
进程状态
进程是有状态的,在Linux中,进程共有七种状态
(1)R运行状态(runing):并不意味着进程一定在运行中,也可以在运行队列里;
(2)S睡眠状态

操作系统作为用户和内核间的桥梁,管理软硬件资源。进程是运行的程序,由PCB描述,Linux中保存在/proc下。进程有七种状态,包括运行、睡眠、死亡等,僵尸进程可能导致资源泄露。程序的地址空间是虚拟的,通过页表映射到物理内存,实现内存管理和访问控制。
最低0.47元/天 解锁文章
1585

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



