欢迎访问 SJsir 圣杰博客

A Linux operation and maintenance engineer's Blogs

Linux进程知识基础

  1.内核的功能:

    进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能
    Linux内核:抢占式多任务

  2.进程创建:

    init是由内核(kernel)创建的
    父进程 子进程 进程都是由其父进程创建
        fork(),每个子进程都是由父进程通过fork()产生的
        clone(),父进程创建子进程时克隆自己的数据
            当子进程执行完之后,都需要父进程将子进程销毁,将占用的内存空间释放。
    进程优先级:
        0-139:
            1-99:实时优先级
            100-139:静态优先级
        对于静态优先级来说:数字越小,优先级越高
            静态优先级的Nice值:
            -20(100),19(139)
            对于普通用户来说,只能讲用户的优先级调低,无法将自己的优先级调高。
            管理员来说是可以调低或者调高任何用户或任何进程的任何优先级。
        Big O
            O(1),O(logn),O(n),O(n^2),O(2^n)

  3.进程相关的概念:

    (1)进程内存:
        Page Frame:页框,用于存储页面数据,存储Page 4K(默认每一个页框的大小为4K)
        LRU:Least Recently Used 近期最少使用算法,释放内存物理地址空间和线性地址空间
        MMU:Memory Management Unit 负责转换线性和物理地址
    (2)IPC:Inter Process Communication
        同一个主机上面:
            signal
            shm:shared memory
            semophore 信号量,一种计数器
        不同主机上面:
            rpc:remote procedure call
            socket:IP和端口号 
    (3)进程类型:
        守护进程:daemon,在系统引导过程中启动的进程,和终端无关进程
            系统启动完成之后,有一部分守护进程就会运行。
        前台进程:和终端相关,通过终端启动的进程
            当系统执行命令的时候,执行的进程
        注意:守护进程和前台进程可以相互的转化,将前台的启动的进程送往后台,以守护模式进程运行
    (4)进程的状态:
        运行态:running
        就绪态:ready
        睡眠态:
            可中断:interruptable
            不可中断:uninterruptable
        停止态:stopped,暂停与内存中,但不会被调度,除非手动启动
        僵死态:zombie,结束进程,父进程结束前,子进程不关闭
    (5)进程的分类:
        CPU-Bound:CPU 密集型,非交互
        IO-Bound:IO 密集型,交互

    现在服务器上面,需要进行远程相应很多用户,在一个进程下面又开了非常多的线程,
    现在服务器运行在多进程多线程的条件下。

  4.启动进程的方式:

    系统启动过程中自动启动,与终端无关的进程
    用户通过终端启动,与终端相关的进程
点赞