当前位置: 首页 > news >正文

刷网站百度关键词软件网站基本建设

刷网站百度关键词软件,网站基本建设,大连企业网站开发,网站建设商务通什么意思文章目录 1. 进程的概念2. 进程描述—PCB3. task_struct—PCB的一种4. task_ struct内容分类5. 查看进程 这篇文章我们来学习下一个概念——进程 1. 进程的概念 那什么是进程呢#xff0c;我们该如何理解它呢#xff1f; 如果我们打开电脑的任务管理#xff1a; 我们看到这… 文章目录 1. 进程的概念2. 进程描述—PCB3. task_struct—PCB的一种4. task_ struct内容分类5. 查看进程 这篇文章我们来学习下一个概念——进程 1. 进程的概念 那什么是进程呢我们该如何理解它呢 如果我们打开电脑的任务管理 我们看到这里面就展示了当前正在运行的进程那大家看这其实就是我们当前打开的程序嘛 所以我们给出一个结论 我们以前任何启动并运行程序的行为都是由操作系统帮助我们将程序转化为进程来完成特定的任务。 那说到底进程到底是什么呢我们继续来探讨探讨 大家看这张图 那我们平时自己写好的可执行程序我们知道它本质其实就是一个二进制文件嘛 那我们运行这个可执行程序首先它被载入内存其实就是把可执行程序里面的指令和数据加载到内存。 那此时它就变成一个进程了吗 大家想一个问题一个社会人进入到你的学校他就是你们学校的一名学生了吗 不是的。 那同样的一个可执行程序或应用程序被加载到内存里面他就变成了被操作系统管理的进程了吗 好像也有点不合理。 那一个人如何才算你们学校的学生呢 是不是它的学籍要在你们学校里它的信息要在你们学校的教务管理系统上这才是最关键的。 然后第二个问题我们可能同时运行多个程序那他们都要加载到内存里就好比学校里面有好多学生那学校肯定要对这么多学生进行一个良好的管理。 那同样的操作系统也要对加载到内存的多个进程进行管理。 那如何进行管理呢 很简单还是我们之前说的——先描述再组织 2. 进程描述—PCB 那如何描述进程呢 进程信息被放在一个叫做进程控制块PCB的数据结构中可以理解为进程属性的集合。 PCB是进程存在的唯一标识。 课本上称之为PCBprocess control blockLinux操作系统下的PCB是: task_struct 所以 我们每运行一个程序除了要把它对应的指令和数据加载到内存操作系统还会为它创建一个PCB来记录和管理进程信息 那操作系统要管理这么多的进程就可以把所有进程的PCB用一个数据结构比如链表管理起来再组织 那此后操作系统对于进程的管理就变成了对组织PCB的数据结构的管理 所以回到我们上面说的 一个程序被加载到内存他就是进程了吗 不是的 进程包括了程序加载到内存中的指令和数据以及内核中与之关联的进程控制块PCB 所以我们这里给出一个进程的概念 进程程序加载到内存中的指令和数据内核中与之关联的进程控制块PCB 此外 课本概念程序的一个执行实例正在执行的程序等 内核观点担当分配系统资源CPU时间内存的实体。 3. task_struct—PCB的一种 在Linux中描述进程的结构体叫做task_struct task_struct是Linux内核的一种数据结构它会被装载到RAM(内存)里并且包含着进程的信息 4. task_ struct内容分类 task_ struct里面包含了以下内容 标示符: 描述本进程的唯一标示符用来区别其他进程。 状态: 任务状态退出代码退出信号等。 优先级: 相对于其他进程的优先级。 程序计数器: 程序中即将被执行的下一条指令的地址。 内存指针: 包括程序代码和进程相关数据的指针还有和其他进程共享的内存块的指针 上下文数据: 进程执行时处理器的寄存器中的数据 IO状态信息: 包括显示的I/O请求,分配给进程的IO设备和被进程使用的文件列表。 记账信息: 可能包括处理器时间总和使用的时钟数总和时间限制记账号等。 其他信息 可以在内核源代码里找到它所有运行在系统里的进程都以task_struct链表的形式存在内核里。 然后呢我们上面提到 可执行程序其实就是一个文件嘛而文件的话我们说过文件内容属性 那程序运行载入到内存里面的指令和数据这毫无疑问肯定是文件的内容。 然后呢我们有提到每个进程操作系统都会创建一个PCB来描述进程可以理解为PCB就是进程的属性集合。 那请问这里的PCB即进程属性的结合跟可执行文件的属性有没有关系呢 其实呢有关系但是关系不大。 磁盘上文件的属性一般就是文件名、文件类型位置占用空间这些东西。 而PCB呢它是由操作系统动态创建和维护的一种内核数据结构它里面包含的进程的属性都是操作系统自己获取和记录的跟文件的属性不是一回事没什么关系。 其实也稍微有点关系后面会带大家看。 5. 查看进程 那如何查看进程呢 首先我们先来写一个代码和makefile 编辑一下myprocess.c 保存退出 然后我们把makefile写一下 然后 我们make一下 就生成了一个可执行程序myprocess 那我们./执行这个可执行程序操作系统就会把它加载到内存同时为他建立PCB在Linux上是task_struct,然后它就变成了进程 那我们如何查看这个进程呢 让这个进程继续跑着我们再打开一个渠道 然后我们输入一条命令 就可以看到我们刚才运行起来的进程 简单解释一下这条命令这里的命令我们后面会讲 ps axj | head -1 ps axj | grep myprocess 这是是逻辑与连接了两条命令首先ps axj可以显示当前系统中所有进程的详细信息但是我们不想看所有的所以管道连接head -1就是去只显示ps axj展示出来的所有信息的第一行即那个表头信息然后后面又连接一条指令其实就是过滤取出关键字myprocess对应的进程信息 然后下面那个大家可以不用管它是因为grep这个也是一个进程也被过滤出来了 当然可以把它屏蔽掉 就只剩我们的这一个了 那然后我们再打开一个渠道 也把这个程序运行起来 然后 我们就可以观察到两个了 然后我们来观察一下显示的信息 我们看到有个PID就是我们上面提到的进程的唯一标识符。 它们两个是不一样的所以它们两个是不同的两个进程虽然是同一个可执行程序运行生成的。 那除了上面查看进程的方式还有其它方法 我们还可以通过 /proc 系统文件夹查看进程信息 proc其实就是process的缩写嘛 /proc 目录是 Linux 系统中的一个特殊目录提供了有关当前运行进程和内核状态的信息。 需要注意的是它跟普通的文件不一样它不是一个真正的文件系统而是通过内核在内存中维护的一个虚拟文件系统。只有当操作系统启动的时候它才会存在并不存在于磁盘上。 但是这里我们好像没有看到process。 这里有很多数字代表什么呢 这些数字其实是特定进程的PID我们是能找到上面我们两个process进程的PID的 这些数字是蓝色的我们知道蓝色表示它是一个目录/文件夹。 所以 一个进程被创建好操作系统会自动在proc目录下创建一个以新增进程的PID命名的文件夹 我们可以进去看看 这里面有很多内容这些内容其实就是当前进程的相关属性信息 这些东西大多我们还看不懂但是 大家看这两个不就是对应程序的路径吗。 那着就是我们前面说的进程的属性跟文件的属性也稍微有一点关系 那然后 我们当前是在proc里面这个进程PID对应的这个目录里面的上面说了PID对应的目录是进程创建的时候才会在proc目录下新增的。 那如果我们把对应的进程终止CTRLc掉 在想查看这个目录的内容就不行了 上一级我们也回不去了。 因为进程终止操作系统就会在proc目录下把这个进程PID对应的目录及其里面的内容删除掉。所以proc目录里面的内容是动态变化的。 这篇文章就先到这里下一篇文章我们继续讲解进程相关的内容…
http://www.w-s-a.com/news/215900/

相关文章:

  • 网站建设与分工的论文足球世界排名
  • 网站首页添加标签如何用模板建站
  • 官方网站包括哪几个网站泰安的网站建设公司哪家好
  • 域名虚拟服务器做网站如何搭建企业网站
  • 用手机做网站服务器口碑好的常州网站建设
  • 摄影网站的设计与实现开题报告太原企业自助建站
  • 做如美团式网站要多少钱做网站怎么去文化局备案
  • 桂平市住房和城乡建设局网站网站建设与管理自考题
  • 怎么做公司网站制作凡科官方网
  • 达人设计网官方网站建筑效果图网站有哪些
  • 网站定制哪家快建筑室内设计网
  • 网站创建方案论文旅游网站的设计与制作html
  • 网站建设的数据导入导出开发小程序需要多少钱费用
  • 局网站建设进入前十名wordpress user role editor
  • 网站托管如何收费搜一下百度
  • 中国建设劳动协会网站wordpress 区块链媒体
  • 网站开源是什么意思西安做网站科技有限公司
  • 自己怎么用h5做网站肇庆seo
  • 长沙网站seo优化公司东莞企业官方网站建设
  • 网站个人备案材料北京网站推广价格
  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计
  • 免费网站免费无遮挡手机页面设计软件
  • 网站建设需求规格说明书中山模板建站公司
  • wordpress get值网站建设 seo sem
  • 网站建设微信开发工厂代加工平台
  • 厦门 网站建设 公司哪家好asp.net 创建网站
  • 专业北京网站建设凡科网做网站怎么样
  • 金富通青岛建设工程有限公司网站浙江省住建厅四库一平台
  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6