Process 进程基础

Process 进程

进程为操作系统的基本调度单位,占用系统资源(cpu,内存)完成特定任务,所有说进程是操作系统的标准执行单元

进程与程序的差别

  1. 程序是静态资源,存储与电脑磁盘中(disk磁盘资源)
  2. 程序执行后会创建进程,负责完成功能,
    进程是程序启动后的结果,是程序的动态表现(CPU,内存,磁盘)

单任务处理系统

WindowsDos、MacAhpha,单任务操作系统同一时间只能执行一个任务
单任务系统时代硬件资源发展初期,受硬件限制电脑性能交叉

共享

上世纪60年代,硬件迅猛发展,单任务操作系统无法完全发挥硬件的全部性能,所有的计算机科学类研究主体为发挥最大硬件性能

共享访问,将硬件资源CPU,内存,缓存,硬盘等等进行共享
多进程可以同时访问使用这些资源,实现硬件利用最大化,最终诞生了多任务操作系统,在一台设备上可以同时执行多个任务(Porcess进程),最好的利用硬件资源

CPU共享

分时复用原则(可以将cpu的执行时间切割为若干时间片,时间片分给多个进程,让多个进程可以交替轮转使用cpu)

swp交换技术

Process 进程基础_第1张图片

内存共享

Process 进程基础_第2张图片
内存资源是可以被多个进程访向和共享的,不会进程分配固定占用的内存,这样会影响内存的重用性。
实现原理:
内存分区1,首先分配给进程a。进程a进入不活跃状态,通过swp将分区1中进程a的信息交换出去。内存分区分配给进程b使用。

进程的生存环境

虚拟内存技术

x86操作系统最大支持三级寻址(4K,4M,4G)

x64操作系统理论上限是16EiB但是实际上根本不需要这么大,一般为256TB。

32位系统虚拟内存间接寻页
0-4G
Process 进程基础_第3张图片

64位系统虚拟内存间接寻页
0-16T
Process 进程基础_第4张图片

进程运行状态

Process 进程基础_第5张图片

进程权限状态转换

Process 进程基础_第6张图片

Process 进程基础_第7张图片
内核层与用户层指的是不同访问级别的CPU,系统调用引发的权限转换起始就是CPU权限切换.用户态转换到内核态,本质就是cpu从低权模式转换到高权模式

三种访问可以触发层级转换(权限转换)

  1. 系统调用,调用系统函数
  2. 软件中断(int0x80),时间片耗尽触发软中断
  3. 异常触发层级转换

你可能感兴趣的:(c++,linux)