您的位置:首页 > 运维架构 > Linux

Linux学习笔记十四:进程管理

伊甸之恋 2019-04-01 19:42 44 查看 https://blog.51cto.com/1318237

---进程管理---

程序怎么执行?
1,将程序从硬盘复制到kernel中
2,将程序复制到一个独立的内存空间

内存空间有什么组成?
用户内存空间 + kernel

什么是进程?
程序本身 + 内存空间 + 数据 + 线程 等程序执行需要的各种资源

线程(thread):进程执行的最小单位

分类:
前台任务:一次执行 ls
后台任务:一直在执行 init       pstree -p       查看

CoW:写时复制

进程:都是由父进程创建,怎么创建?      fork(), clone()

CPU进行线程切换叫做上下文!

缓存失效:CPU处理一个进程时被切换到另一个进程,造成当前缓存失效。这种现象极大浪费CPU性能

内存存储单位:Page Frame 页框   4K

物理地址空间:应用程序在内存中的真实存储位置
线性地址空间:应用程序认为自己的存储位置

MMU:memory management unit     在cpu中,负责转换物理地址和线性地址

内存释放算法:LRU 近期最少使用算法

规则:淘汰老旧,老旧更新。

进程间通信:
同一台主机
pipe    管道
socket  套接字
signal  信号    ^ + c 等
shm     shared memory
semaphore       信号量
不同主机
socket  ip和端口
RPC     remote procedure call   远程过程调用
MQ      消息队列

进程优先级:
实时进程:  0-99
非实时进程:100-139
reltime
nice
top

Linux内核:抢占式多任务

进程类型:
守护进程:daemon,在系统引导过程中启动的进程,和终端无关进程
前台进程:跟终端相关,通过终端启动的进程

进程状态:
运行态:running
就绪态:ready
睡眠态:
可中断:interruptable
不可中断:uninterruptable
停止态:stopped
僵死态:zombie
标签: