进程-CPU和MMU/环境变量/创建子进程

进程的相关概念

        1.并发
        2.单道程序设计
        3.多道程序设计
        4.cpu/mmu
        5.进程控制块
        6.进程状态

环境变量

        1.常用的环境变量作用
        2.函数

进程控制原语

        1.fork函数        循环创建子进程的架构
        2.exec函数        各个函数的参数使用方法/作用
        3.wait/waitpid        回收子进程的一般方式

程序和进程

程序 是指编译号的二进制文件 例如a.out文件 保存在磁盘上 不占用系统资源(cpu、内存、打开的文件、设备、锁……)

进程 是一个抽象的概念 与操作系统原理联系紧密。进程是活跃的程序 占用系统资源 在内存中执行(程序运行起来 产生一个进程)

并发

并发在操作系统中 一个时间段中有多个进程都处于已经启动运行到运行完毕之间的状态 但任一个时刻点上仍只有一个进程在运行

单道程序设计模式:微软的DOS系统 同一时间cpu只能执行一个程序 下一个程序想要执行必须排队等第一个程序执行完毕 执行效率非常低

多道程序设计模式:可以看上去同时执行多个进程 但是实际上是做不到同时执行的 本质上是把每一个进程划分成多个任务片段 cpu把自己划分成多个时间轮片 然后把自己的时间轮片分配给其中的一个任务片段执行

时钟中断:是一种硬件手段 来划分cpu时间轮片的机制 当一个进程遇到时钟中断 是不可抗拒的放弃掉cpu来使得cpu执行其他进程

在多道程序设计模型中 多个进程轮流使用cpu。而当下常见cpu为纳秒级 1秒可以执行大约10亿条指令 由于人眼的反应速度是毫秒级 所以看似同时在运行

中央处理器的简易构架

  

cache:缓冲区
预取器每次只会从缓冲区中取一个指令 
译码器的作用就是在分析这条指令在干嘛 需要哪些寄存器来配置完成运算
运算就交给ALU 这个算数逻辑单元 只会加法和左移 运算好了再返回给寄存器

mmu的基本工作原理

mmu位于cpu内部 作为一个硬件存在

 

 虚拟地址:可用的地址空间有4G 真正占用的内存却没这么大
                0x804a4000 int a = 10; 
物理地址 1000       
mmu帮助把虚拟地址和物理地址对应
cpu对于内存的访问级别分为3 2 1 0 其中3是最低的 0是最高的 Linux只使用了3级和0级
对照虚拟内存 用户空间是3级 内核空间是0级

进程彼此是独立的 同时运行两个a.out在物理内存上分别要分配物理内存空间 但是内核却只需要一份 两份同用一份内核空间

进程控制块PCB

每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息 linux内核的进程控制块是task_struct结构体 在其内部成员有很多 重点掌握以下部分:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值