linux进程及作业管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux进程及作业管理相关的知识,希望对你有一定的参考价值。

1、cpu指令级别:

    cpu环0级别:存放只能系统调用的指令

    cpu环3级别:存放只能用户调用的指令


2、操作系统组成:(广义)

    计算机硬件、kernel(操作系统:system call,只能系统调用,比较底层)、库调用(library call,为用户编程提供接口)、应用程序。

所谓调用就是将载入别人事先编译好的功能模块,如函数、类、对象等。


3、cpu模式分类:

    用户模式:也叫用户空间

    内核模式:也叫内核空间

模式切换:用户模式和内核模式之间的切换。


4、应用程序执行过程:

    根据编译好的应用程序从上往下执行,当涉及到内核调用的时候,则由内核进行调用执行,执行完成后,返回结果给用户程序,然后用户程序在继续执行,直到程序执行完成。


5、内核功能:

    进程管理:其中有个重要的功能就是进程调度

    文件系统管理:

    网络功能管理

    内存管理

    驱动程序管理

    安全功能管理


6、进程优先级:

进程:process,运行中程序的一个副本(一个程序可以执行多次,多个人可以同时进行),一个程序运行时可能只运行了部分代码,如:ls,ls -l;

    进程就是程序在执行中动态过程,线程是指当程序为了更好的运行,可能会分成多个部分小程序运行,这些进程中被分开执行的部分程序即为线程。

多个程序同时执行,会用到cpu资源,cpu按时间分片的形式为不同程序提供cpu资源。

那么,当进程运行时,如5秒钟,会切换到其他的进程,需要cpu寄存器来保存中间状态。


7、进程的特点:

    进程存在生命周期。

     保存一个进程运行的状态的地方,被称为保存现场。

task struct:内核存储进程的固定格式。(链表,循环链表)

任务:进程运行起来以后变成了任务。

多个任务的task struct组成的链表被称为task list(任务列表)


8、进程创建:

    内核创建第一个进程:init;后续用户的进程管理都由init实现。

 进程特点:

    父子进程:进程都由其父进程创建,销毁,内核调用接口(fock()、clone()),允许创建子进程。

           父进程指向的内存空间,也是子进程指向的内存空间。

    cow:写时复制机制,它是指父进程与子进程共用一段内存空间,当子进程没有写操作时,一直共用这段内存空间;但是当子进程需要写操作时,父进程又要保留老的数据,则此时父进程会给子进程创造一段内存空间,此为写时复制。

        

9、进程优先级:

    0-139:

        1-99:实时优先级,数字越大,优先级别越高

        100-139:静态优先级,数字越小,优先级别越高

    进程nice值:

        指静态优先级,降低优先级

        取值范围:-20,19;-20对用100,19对用139


    big O:衡量一个程序的复杂程度:

        O(1):数据量增加,复杂度增加,解决时间是恒定的。

        O(log n):

        O(n):线性复杂度,数据量上升,复杂度上升

        O(n^2):

        O(2^n):


11、进程队列优先级:

    运行队列、过期队列,各140个优先级队列;当运行队列中的进程运行完后,过期队列便成了需要的运行队列,运行队列则成了过期队列,一直持续进行。



12、进程task struct结构:


13、进程内存:

    page frame:页框,用于存储页面数据,将数据存储在内存中的一个片段中。

    内存线性地址:每个内存都以为自己独占内存的所有空间

    内存的物理地址:

    虚拟内存实现机制:

cpu中的mmu:memory management unit,内存管理单元


ipc:inter process communication,进程间通讯机制

    同一主机上:

        singal

        shm:shared memory

        semerphor

    不同主机上:

        rpc:remote process call,进程过程调用

        socket:


14:linux内核:抢占式、多任务执行




























以上是关于linux进程及作业管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux自学笔记——linux进程及作业管理

Linux基础之进程及作业管理

Linux基础之进程及作业管理

2016-10-5 linux基础学习——进程及作业管理

Linux的进程及作业管理知识(上)

Linux进程管理及作业控制的启动进程