进程在linux系统中原理,Linux系统原理知识 进程切换的概念介绍
一、tast_struct结构
它是一个数据结构,可以说,它代表了一个进程。它有很多字段,大体有一下几种:
标识号:进程标识、用户标识、组标识。
状态: Linux的进程的四种基本状态
调度信息:优先级、时间片等
进程链信息:父进程、子进程的指针
文件信息:打开文件、虚拟文件系统
上下文信息:进程的运行环境
二、I386体系的任务管理和调度
I386体系从硬件上支持任务间的切换。为此目的,增设了一种新段:任务状态段(TSS),首先它和数据段、代码段一样也是一种段,其次它记录了任务的状态信息。
与其它段一样,也有描述它的结构:TSS描述符表,它记录了一个TSS的信息,同时还有一个TR寄存器,它指向当前任务的TSS。任务切换的时候,cpu会将原寄存器的内容写出到相应的TSS,同时将新TSS的内容填到寄存器中,这样就实现了任务的切换。
三、Linux进程切换
Linux任务切换是通过switch_to这个宏实现的,它利用长跳指令,当长跳指令的操作数是TSS描述符的时候,就会引起CPU的任务的切换,此时,cpu将所有寄存器的状态保存到当前任务寄存器TR所指向的TSS段(当前任务的任务状态段)中,然后利用长跳指令的操作数(TSS描述符)找到新任务的TSS段,并将其中的内容填写到各个寄存器中,最后,将新任务的TSS选择符更新到TR中。这样系统就正式开始运行新切换的任务了。上面提到的task_struct中的tss成员就是记录TSS段内容的。
(责任编辑:A6)
进程在linux系统中原理,Linux系统原理知识 进程切换的概念介绍相关推荐
- linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...
Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...
- linux如何杀死进程最快,如何在Linux系统中杀掉内存消耗最大的进程?
作为一名博客作者,我收藏了很多博客.网站和论坛用来寻找 Linux 和 Unix 相关的内容.有时候,我在浏览器中开启了非常多的标签页,导致操作系统会无响应好几分钟.我不能移动我的鼠标,也不能杀掉一个 ...
- 【Android 逆向】Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )
文章目录 一.Android 逆向中使用的 android.permission 权限 二.Android 系统中的 Linux 用户权限 一.Android 逆向中使用的 android.permi ...
- Linux内核中的GPIO系统之(3):pin controller driver代码分析
一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...
- linux系统中变量,Linux系统中的环境变量知识详解
对于没有使用过linux系统的用户来说,有很多术语和功能都很陌生.本文就介绍了linux系统中的环境变量的相关知识,具体内容如下所述. linux是一个多用户的操作系统.每个用户登录系统后,都会有一个 ...
- window如何使用Linux命令,如何在windows系统中使用linux的命令
在windows上可以运行或使用linux下面的命令吗?可以,学习啦学习啦小编今天就来分享怎么样让Windows支持Linux命令,做这些安装和设置后,就可以非常方便的在windows系统中使用lin ...
- 在一个请求分页系统中,假定系统分配给一个作业的物理块数为 3,并且此作业的页面走向为 2、3、2、1、5、2、4、5、3、2、5、2。试用 FIFO和 LRU 两种算法分别计算出程序访问过程中所发生
页面置换算法 题目: 在一个请求分页系统中,假定系统分配给一个作业的物理块数为 3,并且此作业的页面走向为 2.3.2.1.5.2.4.5.3.2.5.2.试用 FIFO和 LRU 两种算法分别计算出 ...
- 苹果双系统怎么切换_Mac如何删除双系统中的windows系统
01.需求分析 客户在使用刚买的苹果电脑,由于使用苹果系统不习惯.不顺手.导致很多买了苹果电脑的朋友,都会在苹果电脑上安装一个windows系统,所以苹果的双系统就出现了. 有些客户在使用了一段苹果系 ...
- QT中QDatetime中文系统中获取英文系统的结果
QT中QDatetime中文系统中获取英文系统的结果 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 我们在中文系统下开发QT程序,如 ...
- 现代IM系统中的消息系统架构 - 架构篇
前言 IM全称是『Instant Messaging』,中文名是即时通讯.在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉.微信.QQ等以IM为核心功能的产品.当然目 ...
最新文章
- 白色flash模块代码_适用于MCU项目的代码框架BabyOS,工程师的好助手!
- 【STM32】ST-LINK固件升级
- python文档字符串格式_Python字符串及文本模式方法详解
- Spring Boot快速搭建Web开发框架(Hibernate+Thymeleaf)
- bzoj 4033: [HAOI2015]树上染色(树形DP)
- c语言通讯录感想,C语言通讯录实例分享
- ShuffleNet 系列(1): ShuffleNet v1 理论讲解
- 电商的运营模式流程(最全解析电商运营模式)
- Python压缩文件夹
- 【学习笔记】软件测试-版本迭代总结
- 微信网页投诉php,【分享】买的thinkphp微信无投诉按钮源码
- Android获取年月日时分秒
- Android Studio Shape属性(上)
- 【狄克特斯拉算法验证】
- 基于微信小程序的小程序记账本APP源码
- python实现输入一个正整数_Python中实现输入一个整数的案例
- Netty 通过 WebSocket 编程实现服务器和客户端全双工长连接<2021SC@SDUSC>
- Latex 中如何使插图的位置不跑到开头而紧跟插入的文字后
- 记录:捕鱼达人开发笔记
- Storyboard
热门文章
- 计算机项目教学法探讨,项目教学法在计算机教学中应用计算机教学论文计算机论文...
- 2013蓝桥杯java试题_2013年第四届蓝桥杯javaB组 试题 答案 解析
- mv命令移动文件到指定目录
- “焖鸡”游戏中的排序问题
- SSM框架笔记06:初探Spring——采用XML配置方式
- php 记录时间 分不对,如何解决php获取的时间不对的问题
- 2017.9.25 Xor 失败总结
- 程序员表白代码python_程序员python表白代码
- Keras-10 【Seq2Seq示例】数字转中文大写
- 基于Keras的卷积神经网络(CNN)可视化