linux进程和作业管理,以及周期任务(pstree,ps,pgrep,top,htop,vmstat,pmap,glances,dstat,kill/killall,jobs,bg/fg,nice/renice,crontab)(第12天)
Liux进程管理 应用程序开发者可以调用syscall和C库。 用户模式和内核模式的切换 内核的功用有:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能 进程上下文保存 Process:运行中的程序的一个副本,存在生命周期 Linux内核存储进程信息的固定格式:task_struct 多个任务的的task struct组成的链表:task list,双向循环链表 进程的创建,内核初始化完成之后,创建第一个init进程,后面的进程都是init创建的。所以init以及其创建的进程就有父子关系。子进程一般由其父进程调用fork()创建出来的。如果子进程不需要修改进程的数据,将一直共用父进程的内存空间,如果需要写数据的话,则将父进程的内存空间的数据复制一份,然后再写这份属于自己的内存空间。这就是写时复制。 父进程负责销毁子进程。 进程优先级:0-139 1-99:实时优先级,数字越大,优先级越高 100-139:静态优先级,数字越小,优先级越高; Nice值:-20,19 -20对应于静态优先级的100,19对应于静态优先级的139。可以通过调整nice值设置进程的优先级。 进程调度的时间复杂度是O(1)。 Big O:算法复杂度,O(1), O(logn), O(n), O(n^2), O(2^n) task_struck结构概览。 线性地址空间: 物理地址空间: 进程内存的组织结构:每个进程在内存中是如何组织的? 代码段,数据段,堆栈,堆区,等等。 MMU:内存管理单元,将虚拟地址转化为物理地址。 缺页异常: 常驻内存集:不可被交换的内存空间 虚拟内存集:可被交换的内存空间 进程之间的通信:IPC Inter Process Communication 同主机之间的进程通过如下的机制通信: signal 信号 shm: shared memory 共享内存 semerphor 不同主机之间的进程通过如下的机制通信: rpc: remote procecure call 远程过程调用 socket: 套接字 Linux内核:抢占式多任务 进程类型: 守护进程: 在系统引导过程中启动的进程,...