进程相关概念

1.程序与进程

  程序是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存、打开的设备……)。

  进程是活跃的程序,占用系统资源,在内存中执行(程序运行起来会产生一个进程)。

  程序就好比是剧本,而进程就是按照剧本演的戏(舞台、演员、道具等就相当于系统资源),同一个剧本可以在多个地方同时上演,同一个程序也可以加载为不同的进程。

 

2.并发

  在操作系统中,一个时间段中有多个进程都处于已启动到运行至完毕之间的状态,但任一时间点只有一个进程在运行。

 

3.单道程序设计

  所有进程一个一个排对执行。若A阻塞,B只能等待,即使CPU处于空闲状态。例如以前的Dos系统

 

4.多道程序设计

  在计算机内存中同时存放几道相互独立的程序,它们在管理程序控制之下,相互穿插的运行。

 

5.CPU与MMU

  *处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。*处理器主要包括运算器(算术逻辑运算单元,ALU,ArithmeTIc Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。

  下图为CPU一般工作流程。假如数据在硬盘上放着,当我们执行某个程序的时候,从硬盘中先拿到内存中,在拿到cache缓存器中,然后由预取器预取指令,再交给译码器进行译码,译码器再交给ALU算术逻辑单元执行运算,然后,将运算好的数据交给寄存器,由寄存器交给内存,再由内存交给硬盘。

进程相关概念

 

 

 

 

  MMU为内存管理单元,主要目的是完成物理内存与虚拟内存的映射,还有修改内存的访问级别下图为MMU虚拟地址与物理地址的映射关系。

 

进程相关概念

 

 

 

6.进程控制块

  每个进程在内核中都有一个进程控制块(PCB),用来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。

  task_struct部分内容如下:

    进程id,系统中每个进程都有唯一的id,在C语言中用pid_t类型表示,其实是一个非负整数。

    进程的状态,有就绪、运行、挂起、停止等状态。

    进程切换时需要保存和恢复的一些CPU寄存器。

    描述虚拟地址空间的信息。

    描述控制终端的信息。

    当前工作目录。

    umask掩码。

    文件描述符表,包含很多指向file结构体的指针。

    和信号相关的信息。

    用户id和用户组id。

    会话(Session)和进程组。

    进程可以使用的资源上限。

 

7.进程状态

  进程基本状态有5种,分别为初态、就绪态、运行态、挂起态和终止态,其中初始态为进程准备阶段,常与就绪态结合。

进程相关概念

 

 

进程相关概念

上一篇:linux通识


下一篇:Linux内存管理