Linux服务器开发(二)

程序和进程

程序: 指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存、打开的文件、设备、锁…)
进程: 是一个抽象的概念;与操作系统原理紧密相连.进程是活跃的程序,占用系统资源,在内存中执行.(程序运行起来,产生一个进程)
并发: 在操作系统中,一个时间段中有多个进程都处于已启动运行到运行完毕之间的状态;但,任何一个时刻点上仍只有一个进程在运行.(并行执行)
单道程序模型: 一个程序占用cpu后,其余程序只能排队,等前面的程序执行完成后,在去占有cpu,然后执行.例DOS系统
多道程序模型: 并行运行
时钟中断: cpu强制把时间轮片收回,借助硬件手段完成

mmu

作用: 帮助我们完成物理内存和虚拟内存的映射,以及修改cpu的反问级别

进程控制块PCB

每个进程在内核中都有一个PCB来维护进程的相关信息,Linux内核的PCB是task_struct结构体
位置:/usr/src/linux-headers-3.16.0-30/include/linux/sched.h
PCB中保存的内容:
          进程id: 系统中每个进程都有惟一id
          进程状态: 初始化,就绪,运行,挂起(阻塞),停止
          进程切换时需要保存和恢复的一些寄存器
          描述虚拟地址空间信息
          描述控制终端的信息
          当前工作目录位置
          umask掩码
          文件描述符表,包含很多指向file结构体的指针
          和信号相关的信息
          用户id和用户组id
          会话和进程组
          进程可以使用的资源上限

环境变量

定义:在操作系统中用来指定操作系统运行环境的一些参数

IPC(进程间通信)

管道:
    本质: 伪文件
    原理: 实为内核使用环形队列机制,借助内核缓冲区(4K)实现
    局限性:
        1.数据自己读不能自己写
        2.数据一旦被读走,管道中就不存在了,不能反复读取
        3.由于管道采用半双工通信方式,因此,数据只能在一个方向上流动
        4.只能在有公共祖先的进程间使用管道

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值