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

网站开发管理制度产品效果图怎么做出来的

网站开发管理制度,产品效果图怎么做出来的,在网站建设论文的基本分析,建站重庆一、课本上的说法,名词提炼 二、运行,阻塞,挂起(重点) 1.理解运行,阻塞,挂起 运行:进程在调度队列中,进程状态都是running。 阻塞:等待某种设备(…

一、课本上的说法,名词提炼

二、运行,阻塞,挂起(重点)

1.理解运行,阻塞,挂起

运行:进程在调度队列中,进程状态都是running。

阻塞:等待某种设备(外设)或资源就绪

当键盘输入后,OS第一时间去对应的device队列中找到相应的设备节点,将该节点状态改为活跃,并检查等待队列,若不为空,将数据传输到头部PCB中,再将PCB拿到对应的runqueue中尾插。

阻塞挂起(内存不足):

优先是等待队列,内存严重不足,运行队列也可以换出。

核心:进程状态变化的表现之一,就是要在不同的队列进行流动,本质都是数据结构的增删查改。

2.理解内核链表

struct list_head{struct list_head *next,*prev
};

而一个task_struct内可以有多个list_head,因此,一份PCB,可以属于多种数据结构(进程链表、调度队列等)

三、linux的进程状态(重点)

linux内核源代码对于进程状态分类:

​/*
*The task state array is a strange "bitmap" of
*reasons to sleep. Thus "running" is zero, and
*you can test for combinations of others with
*simple bit tests.
*/
static const char *const task_state_array[] = {
"R (running)", /*0 */
"S (sleeping)", /*1 */
"D (disk sleep)", /*2 */
"T (stopped)", /*4 */
"t (tracing stop)", /*8 */
"X (dead)", /*16 */
"Z (zombie)", /*32 */
}​

R(Running):运行状态,在运行队列中。

S(Sleeping):阻塞状态,可中断休眠,浅睡眠。

D(Disk sleep):阻塞状态,不可中断休眠,深度睡眠。

如何理解D?

对于磁盘进行操作时,为了防止内存不足而引发的杀进程,设置了D状态。

本质是为了解决IO操作的数据丢失问题。

T停止状态(stopped): 可以通过发送 SIGSTOP 信号给进程来停止(T)进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。

t:停止状态,调试停在断点处,是暂停状态。被debug,断点:进程被暂停了。

kill -l 给进程发送状态:

9杀进程,18继续,19暂停

循环查看进程 while :;do ps axj | head -1 && ps axj | greap PID ; sleep 1; done

或 while :; do ps axj | head -1 && ps axj | grep BIN(可执行程序名) ;sleep 1;done

X死亡状态(dead):这个状态只是⼀个返回状态,你不会在任务列表里看到这个状态。

ps查看进程:

a:显示⼀个终端所有的进程,包括其他用户的进程。
x:显示没有控制终端的进程,例如后台运行的守护进程。
j:显示进程归属的进程组ID、会话ID、父进程ID,以及与作业控制相关的信息
u:以用户为中心的格式显示进程信息,提供进程的详细信息,如用户、CPU和内存使用情况等
Z(zombie)-僵尸进程
僵死状态(Zombies)是⼀个比较特殊的状态。当进程退出并且父进程没有读取到子进程退出的返回代码时就会产生僵尸进程 僵死进程会以终止状态保持在进程表中,并且会⼀直在等待父进程读取退出状态代码。
所以,只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态。
测试代码:
#include <stdio.h>    
#include <unistd.h>    
#include <sys/types.h>    int main()    
{    pid_t pid = fork();    //子进程    if(pid==0)    {    int cnt = 5;    while(cnt--)    {    printf("这是子进程,pid:%d,cnt:%d\n",getpid(),cnt);    sleep(2);    }    }    else    {                                                                                                                                  //父进程    while(1)    {    printf("这是父进程,pid:%d\n",getpid());    sleep(1);    }}return 0;
}

defunct:失效的

我们创建子进程的目的,是为了让子进程完成某种事情的。

结果相关信息,父进程得知道。

获取子进程状态之前,子进程就是僵尸状态。

1.哪些信息?
2.信息存在哪里?task_struct
如果父进程一直不管,不回收,不获取子进程的退出信息,Z会一直存在。(内存泄漏问题)
知识点1:
进程提出了,内存泄漏问题不存在。(被操作系统回收了)
常驻内存的进程,内存泄漏问题是很严重的。
知识点2:
关于内核结构的申请,
用完之后并不立马释放,用unuse管理起来,下次要用的时候就只用初始化就行了,提高了效率。
孤儿进程:PPID为1的进程。
父子进程中,如果父进程先退出,子进程要被1号进程领养。
这个被领养的进程,叫做孤儿进程。(变为后台进程)
1号进程,systemd,操作系统。
为什么要领养?
如果不领养,子进程进入僵尸状态之后,资源无法回收。
http://www.dtcms.com/wzjs/548315.html

相关文章:

  • 江苏太平洋建设集团官方网站穆棱建设局网站
  • 做牙齿的招聘网站江西网络推广seo
  • 做网站怎样赚卖流量买软件网站建设
  • 做网站时如何建立栅格京津冀协同发展四区指的是
  • 网站建设技术是什么公司网上注册系统
  • 劳力士手表网站办公室装修费用分几年摊销
  • 龙川做网站的wordpress广告平台
  • 动地科技登录网站公司网站制作流程
  • 华仁建设网站wordpress中文案例
  • 网站建设html代码自建网站营销是什么
  • 济南网站建设q.479185700惠网络优化的流程
  • 惠州市建网站公司福州鼓楼区网站建设
  • 同一产品做多个网站小程序开发注意事项
  • 网站没内容可以备案吗重庆涪陵网站设计公司哪家专业
  • 建设通网站原理网页升级紧急通知书
  • 网站开发与推广就业太原做手机网站建设
  • 泾川县建设局网站新西兰网站开发专业
  • 做游戏直播什么游戏视频网站南宁网络营销策划推广公司
  • 肇庆网站建设咨询高端顺口公司名字
  • 网站开发语言总结做网站多少分辨率好
  • 企业如何做网站推广网站建设合同浩森宇特
  • 莱芜网站优化加徽信xiala5效果好wordpress修改文章固定id
  • 株洲做网站公司网站建设网站软件有哪些内容
  • 建设一个网站需要哪方面的费用北京十大活动策划公司
  • 做电影平台网站怎么赚钱的wordpress文章发布添加项目
  • 做网站开发 用什么软件青岛专业网站开发
  • 婚车网站模版微信网站怎么做的好名字吗
  • 电子商务网站策划 ppt管理系统平台
  • 比较好的网站公司医生在线咨询
  • 做pc端网站行业现状百度推广云南总代理