初步认识操作系统进程【含知识图谱】

进程是操作系统资源分配的基本单位,程序执行一次的过程,程序是静态的文件,进程是运行的程序。

  • 首先我们肯定就需要知道是哪些资源被分配了
    1.堆:每个进程都有自己的一个堆用来存自己申请的对象、数组。因为每个堆是动态分配的内存,所以可能会内存溢出。
    2.栈:每个进程的方法执行前会将方法参数、返回地址、局部变量打包成栈帧,运行时入栈,结束时出栈资源自动释放,每个进程栈的大小固定,死循环递归调用会栈溢出。
    3.代码段:每个进程都保存着程序的机器码用来执行,这也叫做代码段,代码段是只读的,同时如果多个进程如果执行的是同一个代码那么他们会共享同一份机器码同时不共享进程上下文。
    4.数据段:用来存静态变量和线程共享的地方。
    5.独立的文件描述符:每个进程都有自己的一个文件描述符表,用于在获取文件资源的时候对文件进行设置文件描述符--文件地址的映射。
    6.独立的内存空间:操作系统利用虚拟内存简化了程序的开发,每个进程认为各自占满了操作系统的内存(虚拟内存),在实际申请内存时由操作系统分配具体的物理内存在哪里。
  • 然后我们就可以自然而然的推得进程的特征:
    1.首先我们得知道进程的生命周期的状态:就绪态(一切资源准备完毕,等待CPU的调度),运行态(获取到CPU资源,运行中),阻塞态(申请IO资源中,CPU切换到其他进程进行调度)。根据这个生命周期就知道进程是一个动态的过程(动态性),同时进程会抢占CPU资源微观是串行,宏观是并行(并行性)。
    2.根据进程是操作系统资源调度的基本单位就得知各进程是独立的(独立性),不相互干扰的。
    3.因为进程是由CPU调度,申请IO、时间片用完、优先级较低等会阻塞,所以进程是异步的(异步性),进程以不可预知的速度运行着。

操作系统进程

posted @ 2026-03-20 18:01  Jwwind  阅读(4)  评论(0)    收藏  举报