进程管理

简介:

概念

内核管理进程靠内核数据结构

task structure(内核中的一段内存空间,保存描述信息)

MMU转换线性地址跟地址对应关系,每一次转换都需要时间

TLB把MMU此前转换过的数据条目缓存至CPU中更快的缓存当中

进程号 内存空间 用户  父进程  CPU time

VSZ(虚拟内存集)  栈 堆 bss date text libraries

RSS(常驻内存集) 处于物理内存不能被swap交换出去

并行编程模型可以让一个进程跑在不同CPU核心上

进程是多线程的时候一个进程可以运行在多个CPU上

为了避免进程等待IO,于是睡眠交出CPU由其他进程运行,避免浪费时间

睡眠:1、进程所需要的资源没有被正常获取到

         2、进程没有事情做

一个处于睡眠中的进程可以被唤醒

不可中断睡眠:进程所需要的资源依然无法正常获取,终端睡眠也没有意义

可终端睡眠:它可能不需要任何IO资源,执行完自己就睡了,用户来随时可以唤醒

僵尸进程:运行了,也结束了,所占据内存不释放。

Uninterruptible sleep        不可中断睡眠

Interruptible sleep            可中断睡眠

Zombie                            无法回收内存的进程(每个进程结束由其父进程回收其资源)

kernel                              上帝(由内核负责第一个进程)

init第一个人

优先级                            0-139     (100-139用户控制;0-99内核调整)

O:

       取值时间随着队列长度的变化的曲线

       O(1)        队列无论多长取值都不变

       O(n)        取值的增加随着队列长度增长而增长

       O(logn)   随着队列增加取值时间成倍增加

       O(2^n)    队列所谓大一点,取值时间急剧增长

高优先级的特点:

   1、获得更多的CPU运行时间

   2、更优先获得运行的机会

       100-139

       nice值:有雅致,友好的

           -20-19对应100-1390变为-5等于120变为116

           普通用户仅能够调大自己的Nice值

           管理员则可以随便调


COMMAND

PS    Process State

       SysV风格

       BSD

   a    显示所有跟终端有关的进程

   u    进程是有哪个用户启动

   x    显示所有跟终端无关的进程(未必都是跟终端无关)


进程状态

   D     不可中断的睡眠

   R     运行或就绪

   S     可停止中断的睡眠

   T     停止

   Z     僵死

   <    高优先级进程

   N    低优先级进程

   +    前台进程组中的进程

   l     多线程进程

   s    会话进程首进程

  []    内核线程

ps

   -elF

   -ef

   -eF

ps

   -o       pid,comm,ni制定要显示的字段

   -axo    pid,comm,ni显示所有进程

pgrep

   -u    username    显示用户进程号(uid以什么身份运行)

   -U    username    显示用户进程号(euid谁发起的)

pidof    根据进程名查找进程号

pidof   httpd(查看多少进程,每个用户会有一个进程)

top

   -d 1 设置刷新秒

   -b 批模式(能看到后面的)

   -n 3 在批模式下,共显示多少批

       M:根据驻留内存大小进行排序

       P:根据CPU使用百分比进行排序

       T:根据累计时间进行排序

       l:是否显示平均负载和启动时间

       t:是否显示进程和CPU状态相关的信息

       m:是否显示内存相关信息

       c:是否显示完整的命令信息

       q:退出top

       k:终止某个进程

进程间通信    (IPC inter process communication)

   共享内存

   信号:signal

   semaphore:旗语

kill

   -l 查看信号列表

   1:SIGHUP    让一个进程不用重启,就可以重读配置文件,并让新的配置生效

   2:SIGINT    Ctrl+c 终断

   9:SIGKILL    杀死一个进程(直接关闭)

   15:SIGTERM    终止一个进程(给时间关闭资源)默认信号

指定一个信号

   信号号码    kill -1

   信号名称    kill -SIGKILL

   信号名称简写     kill -KILL

   kill         PID

   killall     COMMAND(killall httpd)

   调整已经启动进程的nice值

   renice NI PID

   启动时制定nice值

   nice -n NI COMMAND  (nice -n -3 useradd hbase)


前台作业:占据了命令提示符

后台作业:启动之后,释放命令提示符,后续的操作在后台完成

前台-->后台

   Ctrl+z    正在前台的作业送往后台

   COMMAND &     开始直接到前台

bg:让后台的停止作业继续运行

   bg[JOBID]      缺省是加号作业

fg:将后台作业调回前台

   fg  [JOBID]     缺省是加号作业

kill     %JOBID     终止某作业

   jobs    查看后台所有作业

   作业号,不同于进程号

   +:命令将默认操作的作业

   -:命令将第二个操作的作业

vmstat     系统状态查看命令

       num每2秒钟的数据

       1     5    每隔一秒钟显示一次 只显示五次

uptimetop    第一行的内容一样

       cat /proc/meminfo查看内存相关信息



本文转自 ftmoonfans  51CTO博客,原文链接:http://blog.51cto.com/soulboy/1266050

相关文章
|
4天前
|
人工智能 算法 大数据
深入理解操作系统之进程管理
【4月更文挑战第21天】 随着现代计算机系统结构的日益复杂化,操作系统在硬件资源管理和提供用户服务方面扮演了核心角色。本文将探讨操作系统中一个关键组成部分——进程管理,旨在揭示其对系统性能和用户体验的重要性。我们将从进程的概念、进程状态、进程调度算法以及进程同步与互斥等方面进行详细阐述,并结合实例分析进程管理在实际应用中的表现和挑战。通过本文的阅读,读者可以对操作系统中的进程管理有一个全面而深入的了解。
|
3月前
|
存储 算法 安全
|
9月前
|
调度
操作系统概论学习(进程管理)
操作系统概论学习(进程管理)
37 0
|
6月前
|
消息中间件 算法 安全
进程管理
一、进程管理 进程管理是操作系统的重要功能之一,它负责管理和控制计算机系统中的各个进程。进程是指正在执行的程序的实例,它包括程序代码、数据、执行状态等信息。 进程管理主要包括以下几个方面: 1. 进程创建:操作系统负责创建新的进程。当用户或应用程序发起创建进程的请求时,操作系统会为新进程分配资源,并初始化进程的执行环境。 2. 进程调度:操作系统负责调度和分配CPU时间片给各个进程。它根据调度算法和优先级策略,决定哪个进程可以获得CPU的执行权,以实现多任务并发执行。 3. 进程同步:操作系统提供了各种机制来实现进程之间的同步和协作。例如,信号量、互斥锁、条件变量等,可以用来解决进程间的互斥访
94 0
|
6月前
|
存储 算法 安全
操作系统之进程管理
进程的定义、特征、组成、组织 进程的定义 PCB 是进程控制块(Process Control Block)的缩写,它是操作系统中用于管理进程的重要数据结构。 进程的组成 进程的组织 链接方式: 索引方式: 进程的特征 本章内容小结: 进程的状态与转换 进程的状态 三种基本状态: 另外两种状态: 创建态: 结束态: 进程状态的转换 本章小结: 进程控制 什么是进程控制 进程控制过程 如何实现进程控制 进程控制相关的原语 本章回顾: 进程通信 什么是系统资源? 系统资源包括: CPU: 中央处理器,
34 0
|
9月前
|
资源调度 调度 索引
操作系统进程管理描述
操作系统进程管理描述
|
安全 算法 测试技术
进程管理和死锁避免
进程管理和死锁避免
80 0
进程管理和死锁避免
|
存储 缓存 算法
【7. 进程管理】
进程管理 进程(Process)描述 进程状态(State) 线程(Thread) 进程间通信(Inter-Process Communication) 进程互斥与同步 死锁(Deadlock) 1. 进程描述 进程定义 进程的组成 进程的特点 进程控制结构
75 0
【7. 进程管理】
|
存储 消息中间件 算法
进程管理与进程通信
进程管理与进程通信
303 0
|
存储 消息中间件 缓存
【操作系统】进程管理(二)
 之前已经介绍了操作系统的各个模块,现在来具体深入学习操作系统中的进程管理。
218 0
【操作系统】进程管理(二)