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

中山网站建设工作室产品网站开发流程

中山网站建设工作室,产品网站开发流程,seo网络优化是什么意思,成都网络推广培训哪家好task_struct-PCB的一种 在Linux中描述进程的结构体叫做task_struct。进程也叫任务 task_struct是Linux内核的一种数据结构#xff0c;它会被装载到RAM(内存)里并且包含着进程的信息。 task_ struct内容分类 标示符: 描述本进程的唯一标示符#xff0c;用来区别其他进程。 …task_struct-PCB的一种 在Linux中描述进程的结构体叫做task_struct。进程也叫任务 task_struct是Linux内核的一种数据结构它会被装载到RAM(内存)里并且包含着进程的信息。 task_ struct内容分类 标示符: 描述本进程的唯一标示符用来区别其他进程。 状态: 任务状态退出代码退出信号等。 优先级: 相对于其他进程的优先级。 程序计数器: 程序中即将被执行的下一条指令的地址。 内存指针: 包括程序代码和进程相关数据的指针还有和其他进程共享的内存块的指针 上下文数据: 进程执行时处理器的寄存器中的数据[休学例子要加图CPU寄存器]。 IO状态信息: 包括显示的I/O请求,分配给进程的IO设备和被进程使用的文件列表。 记账信息: 可能包括处理器时间总和使用的时钟数总和时间限制记账号等。 其他信息 一、PID 1、ps/top/proc查看进程 2、kill-9 PID 杀死进程 3、getpid/getppid ps等指令是外部程序而PID是每个PCB中的属性即ps会遍历PCB结构体所在的数据结构 又因为PCB为OS创建的内核不能让用户之间访问就需要提供getpid接口使得用户能够方便的获取进程的pid。 写一个观察PID的程序 再写一个观测其属性的脚本程序 运行后如下 PID为20626两边一致。 4、为什么pid变化ppid不变 每次结束进程重启时PID会更新为什么PPID不会更新呢 每次要创建进程时bash不自己去做而是创建一个子进程让子进程去完成。 二、利用fork创建进程 fork分叉、分流创建子进程变为两个执行流。 使用fork函数可以创建一个子进程 return value 成功时有2个返回值怎么解释 几个问题 1、为什么fork给子进程返回0给父进程返回子进程的PID 1、为什么分别给父子进程返回2个值 2、为什么父进程是PID子进程是0 为了便于后续父进程通过子进程PID来控制子进程 2、一个函数怎样做到返回2次 3、一个变量为什么会有不同的内容 父子进程共享代码但数据是独立的。 即各自有一个相应的变量数据存储返回值。return为写入 父进程return直接写入子进程return则会写时拷贝 为了节省资源父子进程之间采用 数据层面上的写时拷贝。 4、fork函数内部做了什么 5、父子进程谁先运行 由调度器决定用户无法影响。 调度器保证   各个进程之间被公平调度。 应用bash中调用fork创建子进程用子进程完成相关工作 三、进程状态 (一)、操作系统学科中 1、运行态 task_struct结构体对象放在运行队列中对象内部有一个时间片使得各个进程之间的运行可以及时切换例如10ms一次从而实现在某一时间段内的并发运行。 大量将进程拿上、拿下CPU的操作叫做进程切换。 2、阻塞态 每个设备都有自己的结构体对象自己的等待队列 进程在等待队列中等待硬件就绪就绪后移入运行队列中唤醒进程 3、(阻塞)挂起状态 内存代码和数据的换入、换出内存--磁盘 一个进程只有在被CPU调度时是需要其代码和数据的在运行、等待队列中的进程的代码和数据会占用大量内存空间而起到排队作用的仅仅是其task_struct结构体对象因此可以暂时将代码和数据换出内存仅保留task_struct结构体对象此时称为挂起状态。       (二)、Linux系统中  R (running), /* 0 */ S (sleeping), /* 1 */ D (disk sleep), /* 2 */ T (stopped), /* 4 */ t (tracing stop), /* 8 */ X (dead), /* 16 */ Z (zombie), /* 32 1、S状态 死循环时为S状态一直进行while判断时为R状态。 原因有printf时或scanf存在IO会等待“屏幕”云服务器不在本地printf是将数据放在网络中传输所以需要时间即为等待        这个外设就绪S状态相当于之前的阻塞态 无printf时没有IO一直进行判断R为运行态 带的为前台进程ctrlc即可杀掉普通的R为后台进程通过kill -9PID杀掉 2、D状态(高IO状态) disk sleep 深度睡眠  sleeping 浅度睡眠可以被唤醒  OS、用户都不能杀死该D进程 不响应任何请求 D状态比较少见一般出现时被用户察觉  ms或s状态此时OS已经快没有空间了 3、T/t状态stop 进程暂停和继续 kill -18   kill -19 问题stop和sleep状态的区别 S-sleep一定是在等待某种资源就绪 t-stop可能在等待资源也可能正在被其它进程控制。 例如gdb调试时可以控制进程使其被暂停在t状态 4、Z(zombie)状态 一个进程退出后不会立马回收先保持一段时间Z状态维护一段时间的进程信息(需要父进程来查看) 然后才进入X状态然后OS进行资源回收 僵尸进程的PCB不被释放就会一直占用内存空间导致内存泄漏。 解决方法父进程waitpid,后面细说。 进程的退出状态必须被维持下去因为他要告诉关心它的进程父进程你交给我的任务我办的怎 么样了。可父进程如果一直不读取那子进程就一直处于Z状态是的 维护退出状态本身就是要用数据维护也属于进程基本信息所以保存在task_struct(PCB)中换句话 说Z状态一直不退出PCB一直都要维护是的 那一个父进程创建了很多子进程就是不回收是不是就会造成内存资源的浪费是的因为数据结构 对象本身就要占用内存想想C中定义一个结构体变量对象是要在内存的某个位置进行开辟空 间 内存泄漏?是的 5、孤儿进程: 1号init进程 特别的如果存在僵尸进程其父进程在回收之前退出会自动被OS领养OS判断其为僵尸进程直接回收。 注意是OS领养根据内核信息领养不是bash等领养它们不知道“孙子进程的相关信息” 父进程如果提前退出那么子进程后退出进入Z之后那该如何处理呢 父进程先退出子进程就称之为“孤儿进程” 孤儿进程被1号init进程领养当然要有init进程回收
http://www.pierceye.com/news/200180/

相关文章:

  • 大连网站建设流程图龙信建设集团网站
  • 徐州好点的做网站的公司深圳做商城网站建设
  • 上海龙象建设集团公司网站网站浮动咨询代码
  • 网站制作培训学校手机网站可以做动态吗
  • 企业推广网站网站开发页面怎么进
  • 嘉兴平湖网站建设网站的底部导航栏怎么做
  • 景安 怎么把网站做别名山东新华电脑学院学网站开发
  • 网站开发好还是app好wordpress 禁用修订
  • win7云主机怎么做网站贵州建设监理网站培训通知栏
  • 制作网站免费建站成都设计公司deanzhang
  • 10个网站用户体验优化的研究结果免费图片设计
  • 做明星网站打广告新闻20条摘抄大全
  • 佛山提供网站设计方案公司wordpress 2.0漏洞
  • wordpress建站教程视频教程百度推广登录首页
  • dede织梦php文章图片网站源码 完整后台 带在线音乐做企业网站进行推广要多少钱
  • 网站正在建设中手机版基于wordpress论文
  • 建设培训网站查询战网
  • 正能量网站下载做网站沧州
  • 网站维护需要什么技能wordpress博客评论删除
  • 行业网站设计师招聘广州番禺网站建设公司推荐
  • 正规网站模板设计软件工程学科评估
  • 网站集约化建设 要求惠州做棋牌网站建设哪家技术好
  • c#如何做公司网站做网站背景图怎么插
  • 国外做耳机贸易的平台网站定制网站
  • seo做的最好的十个网站加工订单网
  • 网站项目建设主要内容网站导航优化的描述
  • 网站后台修改图片网站制作多少钱公司
  • 做网站后台需要写代码吗益阳seo网站建设
  • 小程序网站做多大尺寸辽阳住房和城乡建设网站
  • 昆山app网站制作网站的管理权限有什么用