内核管理子系统职能:1、管理虚拟地址与物理地址的映射

          2、物理内存的分配

程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体。

进程:是一个执行中的程序,它是动态的实体

进程四要素:

1、有一段程序供其执行。这段程序不一定是某个进程所有,可以与其他进程公用。

2、有进程专用的内核空间堆栈。

3、在内核中有一个task_struct数据结构,即通常所说的“进程控制块”。有了这个数据结构,进程才能成为内核调度的一个基本单位接受内核的调度

4、有独立的空间。

Linux进程状态:最经典的三态,但是Linux的进程状态比这个要复杂

1.TASK_RUNNING(就绪或者执行)

进程正在被CPU执行,或者已经准备就绪,随时可以执行。当一个进程刚被创建时,就处于TASK_RUNNING状态。

2.TASK_INTERRUPTIBLE

处于等待中的进程,待等待条件为真时被唤醒,也可以被信号或者中断唤醒。

3.TASK_UNINTERRUPTIBLE

处于等待中的进程,待资源有效时唤醒,但不可以由其它进程通过信号(signal)或中断唤醒。

4.TASK_KILLABLE

Linux2.6.25新引入的进程睡眠状态,原理类似于TASK_UNINTERRUPTIBLE,但是可以被致命信号(SIGKILL)唤醒。

5.TASK_TRACED

正处于被调试状态的进程。

6. TASK_DEAD

进程退出时(调用do_exit),所处的状态。

Linux进程描述:

在Linux内核代码中,线程、进程都使用结构task_struct(sched.h)来表示,它包含了大量描述进程/线程的信息,其中比较重要的有:
pid_t pid; //进程号
vlong state; //进程状态
vint prio; //进程优先级


 

转载于:https://www.cnblogs.com/sanshijvshi/p/8474330.html

Linux内核管理子系统和进程管理子系统相关推荐

  1. linux内核设计与实现---进程管理

    进程管理 1 进程描述符及任务结构 分配进程描述符 进程描述符的存放 进程状态 设置当前进程状态 进程上下文 进程家族树 2 进程创建 写时拷贝 fork() vfork() 3 线程在Linux中的 ...

  2. linux内核的进程管理,Linux内核设计与实现——进程管理

    主要内容 进程 进程描述符及任务结构 进程创建 线程在linux中的实现 进程终结 1. 进程 进程不仅仅是一段可执行程序代码,还包含其他资源,如打开的文件,挂起的信号,内核内部数据,处理器状态,一个 ...

  3. linux内核协议栈 netfilter 之连接跟踪子系统的L3 L4协议栈模块初始化与自定义注册

    目录 1 L3.L4协议跟踪初始化 nf_conntrack_proto_init() 1.1 L3协议管理 1.1.1 struct nf_conntrack_l3proto 1.1.2 L3协议注 ...

  4. linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp

    linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...

  5. 【Linux 内核】Linux 内核体系架构 ( 进程调度 | 内存管理 | 中断管理 | 设备管理 | 文件系统 )

    文章目录 一.进程调度 二.内存管理 三.中断管理 四.设备管理 五.文件系统 一.进程调度 进程调度 : 进程 是 系统中 进行 资源分配 的 基本单位 ; 每个进程 在 运行时 , 都 感觉自己占 ...

  6. 解析Linux内核的基本的模块管理与时间管理操作---超时处理【转】

    转自:http://www.jb51.net/article/79960.htm 这篇文章主要介绍了Linux内核的基本的模块管理与时间管理操作,包括模块加载卸载函数的使用和定时器的用法等知识,需要的 ...

  7. Linux内核源代码情景分析-内存管理

    用户空间的页面有下面几种: 1.普通的用户空间页面,包括进程的代码段.数据段.堆栈段.以及动态分配的"存储堆". 2.通过系统调用mmap()映射到用户空间的已打开文件的内容. 3 ...

  8. 11、Linux系统基础原理、进程管理工具、任务计划

    Linux进程及作业管理 ​ 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能 ​ Process: 运行中的程序的一个副本: ​ 存在生命周期 Linux内核存储进程信息的固定 ...

  9. 十天学Linux内核之第二天---进程

    十天学Linux内核之第二天---进程 原文:十天学Linux内核之第二天---进程 都说这个主题不错,连我自己都觉得有点过大了,不过我想我还是得坚持下去,努力在有限的时间里学习到Linux内核的奥秘 ...

  10. Linux 内核如何描述一个进程?

    哈喽,我是吴同学,继续记录我的学习心得. 一.关于写文章 许多知识,书上或者网络上都有,就算这两个地方都没有,代码里也会有答案.但有时恰恰是 资料太多,反而让人难以检索出有用的信息. 面对同样的资料, ...

最新文章

  1. ASP.NET结合COM组件发送Email
  2. 使用tap和tun设备的方法
  3. sonarqube7.8汉化教程:安装中文插件
  4. oracle激活锁定用户,oracle 锁用户,oracle解除用户锁定
  5. 惊了!哆啦A梦里最能打的道具,居然真实存在!还打破了世界纪录,看完跪了....
  6. jsr-303 参数校验-学习(转)
  7. 算法 —— 实用程序片段
  8. 转载:网关的概念以及形象的比喻
  9. 阶段3 2.Spring_02.程序间耦合_1 编写jdbc的工程代码用于分析程序的耦合
  10. PMP考试-计算题公式汇总-(第6版)
  11. C语言 同构数的算法
  12. 用vs打开已有web项目运行时显示网页无法访问
  13. 2019 ICPC南昌网络赛 E题 Magic Master 【双向队列】
  14. 音质媲美入耳式耳机,设计时尚续航出色,南卡Runner Pro 4体验
  15. ArcGIS ArcMap “ Add Data” 打开后,一直卡死,无内容
  16. 电脑运行应用程序出现0xc000007b的解决方法
  17. css样式 向下补白,CSS尺寸与补白属性-----margin和padding
  18. python爬虫:爬取百度小姐姐照片
  19. GICv3和GICv4虚拟化
  20. DFA确定化和最小化

热门文章

  1. ActiveMQ(14):Destination(目的地)高级特性
  2. Centos 6.8 为自己打造Linux小系统
  3. sel - performSelector - NSSelectorFromString()
  4. ubuntu中文乱码--添加中文字符集
  5. POJ 1088 滑雪 (动规)
  6. 【高德LBS开源组件大赛】iOS版地图选中Overlay功能组件
  7. 【译】三层架构代码生成器(NetTierGenerator)
  8. 2019秋季学期第2周Java学习总结
  9. Struts2.3使用Sitemesh如何配置web.xml?
  10. bzoj4498: 魔法的碰撞