Linux进程介绍

进程

操作系统作为硬件的使用层,提供使用硬件资源的能力,进程作为操作系统使用层,提供操作系统抽象出的资源层的能力
进程:是指计算机中已运行的程序。进程本身不是基本的运算单元,而是线程的容器 。程序本身只是指令、数据及组织形式的描述,进程才是程序的真正的实例。
linux内核把进程叫做任务(task),进程的虚拟地址空间可分为用户虚拟地址空间和内核虚拟地址空间,所有进程共享内核虚拟地址空间,每个进程有独立的用户虚拟地址空间。

  1. 继承有两种特殊的形式:没有用户虚拟地址空间的进程叫内核线程,共享用户虚拟地址空间的进程叫用户线程。共享
    tips:Linux通过:ps命令用于输出当前系统的进程状态。显示瞬间进程的转台,并不是动态连续,如果相对进程进行实时监控用top命令

  2. 进程的生命周期
    linux属于多任务操作系统,每个系统能够分时复用CPU时间片,通过有效的进程调度策略实现多任务并执行。而进程在被CPU调度运行,等待CPU资源分配以及等待外部事件时会属于不同的状态。进程状态如下:
    -> 创建状态:创建新进程
    -> 就绪状态:进程获取可以运作所有资源及准备相关条件
    -> 执行状态:进行正在CPU中执行操作
    -> 阻塞状态:进程因等待某些资源而被跳出CPU
    -> 终止状态:进程消亡
    Linux设置进程状态:
    TASK_RUNNING(可运行状态或者可 就绪状态)
    TASK_INTERRUPTIBLE(可中断睡眠状态,又叫浅睡眠状态)
    TASK_UNINTERRUPTIBLE(不可中断状态,又叫深度睡眠状态,D)
    _TASK_STOPPED(终止状态)
    EXIT_ZOMBLE(僵尸状态)

  3. 进程优先级
    限期进程的优先级比实时进程要高,实时进程的优先级普通进程要高
    ->限期进程的优先级是-1;
    ->实时进程的优先级1-99,优先级数值越大,表示优先级越高
    ->普通进程的静态优先级为:100-139,优先级数值越小,表示优先级越高,可通过修改nice值改变普通进程的优先级,优先级等于120加上nice值

  4. 内核线程是直接由内核本身启动的进程。内核线程实际上是将内核函数委托给独立进程,与系统中其他进程“并行”执行(实际上,也并行于内核自身的执行)。内核线程经常称为(内核)守护进程。它们用于执行下列任务
    -> 周期性地将修改的内存页与页来源块设备同步
    -> 如果内存页很少使用,则写入交换区
    ->管理延时动作
    ->实现文件系统的事务日志

  5. 退出进程
    退出进程有两种方式:一种是调用exit()系统调用或
    进程主动终止:从main()函数返回,链接程序会自动添加exit()系统调用,主动调用exit()系统函数
    进程被动终止:进程收到一个自己不能处理的信号,京城收到SIGKILL等终止信息

  6. Linux进程可分为两大类:实时进程和普通进程。实时进程与普通进程根本不同之处,如果系统中只有一个实时进程且可执行,那么调度器总是会是会选择它,除非另有一个优先级更高实时进程
    SCHED_FIFO:没有时间片,在被调度器选择之后,,可以运行任意长时间
    SCHED_RR:有时间片,其值在进程运行时会减少
    -> 实时调度实体sched_rt_entity结构体
    ->实时类 rt_rq结构体
    ->实时调度类rt_sched_class
    static void enqueue_task_rt(struct rq *rq, struct task_struct *p, int flags)

  7. SMP和NUMA
    -> SMP(对称多处理器结构,UMA),在对称多处理器系统中,所有处理器的地位都是平等的,所有的CPU共享全部资源,比如内存、总线、中断及I/O系统等等,都具有相同的可访问行
    smp服务器CPU利用率最好的情况下是2~4个CPU
    ->NUMA(非一致内存访问结构)
    NUMA为是多处理器计算机,系统各个CPU都有本地内存,可以支持超快的访问能力,各个处理器之间通过总线连接起来,支持对其他CPU的本地内存访问

目前商用服务器大体分为三类:SMP、NUMA、MPP
NUMA优势:一台物理服务器内部集成多个CPU,使系统具有较高事务处理能力。NUMA架构适合OLTP事务处理环境
SMP优势:当前使用的OTLP程序当中,用户访问一个中断数据库,如果采用SMP系统结构,他的效率要比MPP架构要快

  1. CPU域初始化
    根据物理属性,cpu分类:SMT、MC、Soc
    Linux内核分类:CONFIG_SCHED_SMT、CONFIG_SCHED_MC、DIE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值