3. 进程概念(process concept)

进程的定义

  1. 程序和进程
  • A program is a passive entity(是被动的主体),such as a file containing a list of instructions stored on disk(often called an executable file(就是可执行文件))
  • A program becomes a process when an executable file is loaded into memory.(可执行文件中的指令一条一条加载进内存,成为一个进程)
  • A process is an active entity(进程是活动的实体),with a program counter(程序计数器,就是pc寄存器) specifying the next instruction to execute an set of associated resources.(一个程序加载进内存变为一个进程,也需要先把第一条指令写入到pc寄存器中,才可以被执行)
  1. PROGRAM COUNTER
  • 程序计数器(PC)是一个cpu中的寄存器,里面存放下一条要执行指令的内存地址,也叫指令指针,或者指令地址寄存器。
  • (可以看一下《汇编语言》王爽的书,讲到了很多的寄存器,以及pc)
  • 通常,cpu执行完一条指令后,会将pc寄存器的值加1,计算下一条要执行的指令的地址。
  1. process in memory
  • stack:会执行压栈,出栈操作,保留状态,取出状态操作。
  • heap:动态内存分配,堆。
  • data:存放所有全局变量和静态变量
  • text:read only ,在内存中这一部分是二进制指令。
  1. 并发
  • concurrency:the fact of two or more events or circumstances happing or existing at the same time.
    • 并发:是同时存在发生,存在,但是不是同时在运行,(一个例子:两个程序是共用一个cpu,交替地运行,分时间段的运行)
  • 与并行的区别:并行是同时在运行。
  • 并行:a和b完全独立运行,进程在同时运行。
  1. 并发进程共享CPU
  • 并发进程可能无法一次性执行完毕,会走走停停。
  • 一个进程在执行过程中会被另一个进程替换占有CPU,这个过程称为“进程切换”
  1. 进程的定义
  • 进程是一个程序的一次执行过程
  • 进程是资源分配,保护和调度的基本单位

进程的状态

  1. 进程在执行期间自身的状态会发生变化,进程有三种基本状态
  • 运行态(running):此时进程的代码在cpu上运行
  • 就绪态(ready):进程具备运行条件,等待分配cpu
  • 等待态(waiting):进程在等待某些事件的发生(比如IO操作结束或是一个信号)
  1. 进程合适离开cpu
  • 内部事件
    • 进程主动放弃(yield)cpu,进入等待/终止状态。
  • 外部事件
    • 进程被剥夺cpu使用权,进入就绪状态(ready),这个动作叫抢占(preempt).
posted @ 2024-04-13 17:23  zhudachang  阅读(11)  评论(0编辑  收藏  举报