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

---进程管理---

程序怎么执行?
                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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章