进程相关的概念

进程相关的概念

  • 程序:编译好的二进制文件,(在磁盘上,不在内存上),不占用系统资源(cpu,内存,打开的文件,设备,锁…)
  • 进程:活跃的程序,占用系统资源.在内存中执行.
  • 并发:一个时间段有多个进行在运行,但在一个时间点只有一个进程在运行.
    1>区别单道程序设计模式与多道程序设计模式
    单道程序设计模式:一个cpu,多个任务,但计算机是一个任务运行完后再运行下一个任务(比如DOS系统)
    多道程序设计模式:一个cpu,多个任务,通过时钟中断分派cpu的运行时间给不同的进程.可以实现并行运行.(将cpu的运行时间分段,将每一个进程的运行时间也分段,比如都是100ns,每个进程一次占用cpu100ns后切换给其他进程,cpu运行ns级,人观察是ms级,所以我们就感觉是并行进行的多个进程)
  • cpu和mmu
    1>cpu
    在这里插入图片描述程序存储在网络或则硬盘上,通过预处理-编译-汇编-链接变成二进制文件,运行起来,此时就进入内存,又因cpu的运算速度远高于内存,所以用cache(高速缓存)来提高效率.cpu的预取器在cache取出指令,译码器辨别要运用哪些寄存器,然后交ALU运算.计算结果再次存回寄存器到cache到内存再到相关的外设.
    2>MMU(内存管理单元)
    作用:
    a:映射虚拟地址与物理内存地址;
    b:设置内存访问级别(比如内核区(0)与用户区的访问级别(3)就不一样)

在这里插入图片描述程序运行时,系统会分配0-4G的虚拟地址空间(不是真实存在的,是指能用的空间大小是4G,真实占用大小一般没有那么大),MMU就负责映射物理地址与虚拟地址的对应关系.用户使用的是虚拟地址,不需要关心实际的物理地址(MMU负责),以及访问权限的设置.

  • 进程控制块
    每一个进程在内核区都有一个进程控制块,来维护进程的相关信息,通过task_struct结构体实现.
    task_struct结构体存储的部分内容:
    1>进程ID ;
    2>进程的状态 (就绪,运行,挂起,停止);
    在这里插入图片描述
    就绪态:等待cpu分配时间片;
    运行态:进程得到cpu,开始运行;
    挂起态:等待除cpu以外的资源,也叫阻塞态或则暂停;
    停止态:进程运行完毕.
    3>进程切换时需要保存和恢复的cpu寄存器;(并行运行,要对不同进程的现场进行保护)
    4>MMU维护的虚拟地址对应的物理地址信息;
    5>描述终端的信息;
    6>当前进程的工作目录;
    7>umask码;(保护文件的访问权限的)
    8>fd,文件描述符;
    9>信号相关的信息;
    10>用户id和组id;
    11>回话和进程组;
    12>进程可以使用的资源上线(ulimit -a //可以查看)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值