Linux学习(三)关于进程和线程概念

一、三大概念:

程序——编译好的二进制文件,不占用资源
进程——活跃着的程序,占用资源,是操作系统的基本单位。
线程——进程的执行单位,与进程共享资源


二、进程与程序关系:

用户角度:进程是程序的一个执行过程
操作系统角度:进程是系统分配的内存、CPU时间片等资源的基本单位


区别:(进程是戏剧,程序是剧本,戏剧根据剧本来)
程序是一个静态文件,存于磁盘中;
进程处于动态程序运行的系统资源管理实体;


三、编译的过程:(将代码转化为二进制)
预处理 - 编译 - 汇编 - 连接



四、CPU原理:

预取器:(预处理将指令从cashe缓冲区取出
    |分析
译码器(指令的作用)
    |计算
ALU 算数逻辑单元


mmu内存管理单元:1、虚拟内存(是不存在的,程序运行时产生,可用的地址空间为4G)
                                 2、物理内存
mmu功能:将虚拟内存和物理内存映射、对应,在实际过程之中不要手动转化,mmu自动转化即可。




虚拟地址4G内分为:.text(存放代码)、data数据区(变量)、heap堆区(空间)、stack栈(存放函数)、
                                   内核区(PCB进程控制)


五、Linux环境下的进程:

1、进程终止方式:
从main返回、调用exit、调用_exit、调用abort、由一个信号终止
2、进程间通信方式:管道、共享内存、消息队列
管道即是利用内核在两个进程间建立通信,特点是一端读一端写(类似文件)
共享内存:将内存中的一段地址,与多个进程间共享

消息队列:在内核中建一张链表,发送方按照标识将数据发送到内核,内核将其放入量表后,等待接收方的请求。接收方发送请求后,内核按照消息的标识,从内核中将消息从链表中摘下,传递给接收方。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值