---进程管理---

程序怎么执行?
				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