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

杭州外贸网站建设wordpress 占用cpu

杭州外贸网站建设,wordpress 占用cpu,国内小型电商平台有哪些,网站关键词优化技巧目录 1 冯诺依曼体系结构 2 操作系统(Operator System) 概念 设计OS的目的 定位 总结 系统调用和库函数概念 3 进程 3.1 基本概念 3.2 描述进程-PCB 3.2 组织进程 3.3 查看进程 3.4 通过系统调用获取进程标示符 3.5 进程状态 在了解进程概念前我们还得了解下冯诺…目录 1 冯诺依曼体系结构 2 操作系统(Operator System) 概念 设计OS的目的 定位 总结 系统调用和库函数概念 3 进程 3.1 基本概念 3.2 描述进程-PCB 3.2 组织进程 3.3 查看进程 3.4  通过系统调用获取进程标示符 3.5 进程状态 在了解进程概念前我们还得了解下冯诺依曼体系结构和操作系统的概念与定位。 1 冯诺依曼体系结构 我们常见的计算机如笔记本。我们不常见的计算机如服务器大部分都遵守冯诺依曼体系输入单元包括网卡键盘 鼠标扫描仪, 写板话筒等 中央处理器(CPU)含有运算器和控制器等 输出单元网卡显示器打印机等关于冯诺依曼必须强调几点 这里的存储器指的是内存 不考虑缓存情况这里的CPU能且只能对内存进行读写不能访问外设(输入或输出设备) 外设(输入或输出设备)要输入或者输出数据也只能写入内存或者从内存中读取 一句话所有设备都只能直接和内存打交道对冯诺依曼的理解不能只停留在概念上要深入到对软件数据流理解上请解释从你登录上qq开始和某位朋友聊天开始数据的流动过程。在不考虑网络层情况下小明用qq向小红发送了一条消息小明的电脑从键盘上读取信息然后加载到内存再从内存将数据通过一系列操作发送到输出设备上网卡然后通过一系列的网络操作将数据发送到小红的输入设备上网卡小红的电脑再从输入设备中将数据读到内存然后通过输出设备显示器将信息刷新到小红的电脑上这里数据刷新是两个方面的再成功发送后小明的电脑也会显示出已经成功发送后的信息。 2 操作系统(Operator System) 概念 任何计算机系统都包含一个基本的程序集合称为操作系统(OS)。笼统的理解操作系统包括 内核进程管理内存管理文件管理驱动管理 其他程序例如函数库shell程序等等设计OS的目的 与硬件交互管理所有的软硬件资源 为用户程序应用程序提供一个良好的执行环境定位 在整个计算机软硬件架构中操作系统的定位是一款纯正的“搞管理”的软件。 总结 计算机管理硬件先描述起来用struct结构体 再组织起来用链表或其他高效的数据结构 系统调用和库函数概念 在开发角度操作系统对外会表现为一个整体但是会暴露自己的部分接口供上层开发使用这部分由操作系统提供的接口叫做系统调用。 系统调用在使用上功能比较基础对用户的要求相对也比较高所以有心的开发者可以对部分系统调用进行适度封装从而形成库有了库就很有利于更上层用户或者开发者进行二次开发。3 进程 有了上面对冯诺依曼体系结构和操作系统的理解我们自然可以想到进程也是先描述再组织。 3.1 基本概念 课本概念程序的一个执行实例正在执行的程序等 内核观点担当分配系统资源CPU时间内存的实体。有些教材书上甚至是给出这样的定义的进程就是程序加载到内存中。但是我觉得这种描述是狭隘的不够具体的具体的我们下面会给出解释. 3.2 描述进程-PCB 进程信息被放在一个叫做进程控制块的数据结构中可以理解为进程属性的集合。 课本上称之为PCBprocess control blockLinux操作系统下的PCB是: task_structtask_struct是PCB的一种在Linux中描述进程的结构体叫做task_struct。 task_struct是Linux内核的一种数据结构它会被装载到RAM(内存)里并且包含着进程的信息 我们将所有进程的属性用一个队列来维护当我们想要加载程序时就将它的PCB链接到该运行队列中这样就很好的维护了进程。 那现在我们再来回答什么是进程 进程当前程序的代码和数据内核关于进程的相关数据结构 task_ struct内容分类 标示符: 描述本进程的唯一标示符用来区别其他进程。 状态: 任务状态退出代码退出信号等。 优先级: 相对于其他进程的优先级。 程序计数器: 程序中即将被执行的下一条指令的地址。 内存指针: 包括程序代码和进程相关数据的指针还有和其他进程共享的内存块的指针 上下文数据: 进程执行时处理器的寄存器中的数据[休学例子要加图CPU寄存器]。 IO状态信息: 包括显示的I/O请求,分配给进程的IO设备和被进程使用的文件列表。 记账信息: 可能包括处理器时间总和使用的时钟数总和时间限制记账号等。 其他信息3.2 组织进程 可以在内核源代码里找到它。所有运行在系统里的进程都以task_struct链表的形式存在内核里。3.3 查看进程 我们在Linux环境中创建了一个profile.cpp的Cpp文件然后编译运行生成了一个叫做profile的可执行文件我们可以通过一下命令来查找进程 ps ajx | head -1 ps ajx | grep 查找进程的名字 当我们运行profile后来查看 不难发现我们查询到了profile进程的一些基本信息如果我们想不加上下面那一行的信息可以将命令后面多加一些内容 ps ajx | head -1 ps ajx | grep 查找进程的名字 | grep -v grep 当然文件名可加可不接双引号。 我们还可以在./proc中查询 ls ./proc 3.4  通过系统调用获取进程标示符 进程idPID 父进程idPPID我们向profile.cpp中写入以下代码 1 #includeiostream2 #includesys/types.h3 #includeunistd.h4 using namespace std;5 6 7 int main()8 {9 while(1)10 {11 pid_t retgetpid();12 couthelloret endl;13 pid_t tfork();14 if(t0)15 {16 while(1)17 {18 cout我是一个子进程 pid:getpid() ppid:getppid()endl;19 sleep(1);20 }21 }22 else if(t0)23 { 24 while(1)25 {26 cout我是一个父进程 pid:getpid() ppid:getppid()endl;27 sleep(1);28 }29 }30 }31 return 0;32 }当我们查看进程时 fork()后执行流会变成两个是先执行父进程还是子进程是由调度器决定的fork()后的代码共享我们通常是用if else 来进行分流的。 运行 man fork 认识fork RETURN VALUEOn success, the PID of the child process is returned in the parent, and 0is returned in the child. On failure, -1 is returned in the parent, nochild process is created, and errno is set appropriately. fork有两个返回值 父子进程代码共享数据各自开辟空间私有一份采用写时拷贝当我们只读数据不写数据时父子进程是共享代码的而当有其中一个执行流尝试修改数据时OS就会在当前进程触发写时拷贝另外生成一份。 如何理解有两个返回值呢 创建子进程本质上就是OS提供的一个函数当函数内部进行return 时我们主体功能已经完成了。 3.5 进程状态 在了解进程状态前我们还得了解下什么是阻塞和挂起 相信大家在看一些操作系统的书的时候就见过类似于这样的图片 阻塞状态是一种等待某种资源就绪而导致的一种不被推进的过程。这么说有点儿抽象我们来举一个栗子 当有大量进程存在时我们是不是要先描述再组织前面我们说过组织进程靠的是内核中以某种数据结构来维护进程的PCB。假设你在应用市场要下载一个软件但是下到一半时网络突然中断了那么操作系统会一直等到网络资源恢复后再去运行其他进程吗显然是不会的假如操作系统这样设计的话那么难道我们电脑上的其他程序就不运行了吗就只等你一个所以当网络资源中断时操作系统会将该进程从CPU的运行队列中拿走放到对应硬件资源的等待队列中等到网络资源恢复后再将该进程链接到CPU的运行队列中执行而这种等待某种资源就绪而不被推进的一种状态就叫做阻塞状态。 而挂起又是什么意思呢 由于机器的资源是有限的在资源不足的情况下操作系统可以暂时将一些在内存中的进程淘汰出局当条件允许的时候又会被操作系统给调回来这个比较好理解就不在多做解释了。 看看Linux内核源代码怎么说 下面的状态在kernel源代码里定义 /* * 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): 意味着进程在等待事件完成这里的睡眠有时候也叫做可中断睡眠 interruptible sleep。 D磁盘休眠状态Disk sleep有时候也叫不可中断睡眠状态uninterruptible sleep在这个状态的进程通常会等待IO的结束。 T停止状态stopped 可以通过发送 SIGSTOP 信号给进程来停止T进程。这个被暂停的进程可 以通过发送 SIGCONT 信号让进程继续运行。 X死亡状态dead这个状态只是一个返回状态你不会在任务列表里看到这个状态。 第一个R状态并不是表示进程在运行中有可能是在运行队列里面。接下来给出大家一个程序大家猜猜这时一种什么状态 1#includeiostream2 #includeunistd.h3 using namespace std;4 5 int main()6 {7 while(1)8 {9 cout我是一个进程 我的pid是getpid()endl; 10 }11 return 0;12 }我相信第一次大家或许都会想既然是死循环那么程序肯定在运行状态了也就是R状态事实真的是这样吗我们一起来看看 我们居然惊奇的发现该进程居然处于S状态这不合理吧 其实大家想想我们使用cout往显示屏中打印字符串这里的输出设备就是我们的屏幕但是输入输出设备是很慢的相对于CPU来说可能当输入输出一个字符时CPU就已经跑了上百万行代码了。所以当我们往显示屏打印字符串时操作系统并不会直接将该进程直接运行而是等到当某种资源就绪后会将该进程链接到运行队列中那这S状态与我们上面讲的阻塞状态有点儿类似呀其实S状态本质就是阻塞状态。要想获得R状态就得在资源准备就绪的一瞬间来用命令查看太难抓了我就不演示了 那后面的号是什么意思呢 这里表示该进程是前台运行的当我们使用ctrlc的时候能够终止掉该进程不写表示的是后台运行的这时用ctrlc是无法终止掉该程序的要用命令杀掉进程来终止我们接下来会介绍的。 当我们注释掉代码里的打印字符时 1 #includeiostream2 #includeunistd.h3 using namespace std;4 5 int main()6 {7 while(1)8 {9 // cout我是一个进程 我的pid是getpid()endl; 10 } 11 return 0; 12 } 再来看看 我们会发现代码进程的状态已经变成了R. 同理当我们往键盘中输入数据时几乎绝大多数都是S状态只有刚输入数据那一瞬间才是R状态。 D状态是一种不可中断休眠状态这时就算是强如操作系统都不能够干掉他但是这种场景一般很少见除非机器快宕机了。 T状态是一种停止状态我们可以通过一个命令来改变当前的状态位T状态大家可以查看有哪些kill命令 kill -l 这时就会出现很多与kill相匹配的选项 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN1 36) SIGRTMIN2 37) SIGRTMIN3 38) SIGRTMIN4 39) SIGRTMIN5 40) SIGRTMIN6 41) SIGRTMIN7 42) SIGRTMIN8 43) SIGRTMIN9 44) SIGRTMIN10 45) SIGRTMIN11 46) SIGRTMIN12 47) SIGRTMIN13 48) SIGRTMIN14 49) SIGRTMIN15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX 这里我们使用19号命令来暂停进程 kill -19 进程的pid 那如何恢复呢 可以用kill命令配带的18号选项 kill -18 进程的pid 但是大家发现没有这里的S状态是没有加,也就是该进程是在后台运行的不可以被ctrlc终止 这时应该怎么处理呢 我们可以试试kill带的9号选项 kill -9 进程的pid 这时该进程已经被干掉了。 除了T状态还有一个t状态这里的t表示的一种追踪暂停类似于我们打断点运行到断点处 我们可以打开Makefile加入断点信息然后调试起来 不难发现此时的状态已经变成了t. 至于后面的X和Z状态将会放在下一节课来讲解如果该文对你有帮助的话能不能3连支持一下博主呢
文章转载自:
http://www.morning.cgtrz.cn.gov.cn.cgtrz.cn
http://www.morning.bswhr.cn.gov.cn.bswhr.cn
http://www.morning.rqxch.cn.gov.cn.rqxch.cn
http://www.morning.cybch.cn.gov.cn.cybch.cn
http://www.morning.ktfbl.cn.gov.cn.ktfbl.cn
http://www.morning.hnmbq.cn.gov.cn.hnmbq.cn
http://www.morning.khclr.cn.gov.cn.khclr.cn
http://www.morning.ylyzk.cn.gov.cn.ylyzk.cn
http://www.morning.hfbtt.cn.gov.cn.hfbtt.cn
http://www.morning.dskzr.cn.gov.cn.dskzr.cn
http://www.morning.bpcf.cn.gov.cn.bpcf.cn
http://www.morning.jwgnn.cn.gov.cn.jwgnn.cn
http://www.morning.mdjzydr.com.gov.cn.mdjzydr.com
http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn
http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn
http://www.morning.qstkk.cn.gov.cn.qstkk.cn
http://www.morning.ywxln.cn.gov.cn.ywxln.cn
http://www.morning.bsjpd.cn.gov.cn.bsjpd.cn
http://www.morning.rdsst.cn.gov.cn.rdsst.cn
http://www.morning.wrbnh.cn.gov.cn.wrbnh.cn
http://www.morning.yfcyh.cn.gov.cn.yfcyh.cn
http://www.morning.ydrfl.cn.gov.cn.ydrfl.cn
http://www.morning.zxznh.cn.gov.cn.zxznh.cn
http://www.morning.lwnwl.cn.gov.cn.lwnwl.cn
http://www.morning.qcsbs.cn.gov.cn.qcsbs.cn
http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn
http://www.morning.kncrc.cn.gov.cn.kncrc.cn
http://www.morning.rkdnm.cn.gov.cn.rkdnm.cn
http://www.morning.c7512.cn.gov.cn.c7512.cn
http://www.morning.kzhxy.cn.gov.cn.kzhxy.cn
http://www.morning.znqfc.cn.gov.cn.znqfc.cn
http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn
http://www.morning.trmpj.cn.gov.cn.trmpj.cn
http://www.morning.tgydf.cn.gov.cn.tgydf.cn
http://www.morning.rykw.cn.gov.cn.rykw.cn
http://www.morning.yrjfb.cn.gov.cn.yrjfb.cn
http://www.morning.fygbq.cn.gov.cn.fygbq.cn
http://www.morning.hgscb.cn.gov.cn.hgscb.cn
http://www.morning.hphrz.cn.gov.cn.hphrz.cn
http://www.morning.mkhwx.cn.gov.cn.mkhwx.cn
http://www.morning.rdnkx.cn.gov.cn.rdnkx.cn
http://www.morning.bsqth.cn.gov.cn.bsqth.cn
http://www.morning.srky.cn.gov.cn.srky.cn
http://www.morning.yrnyz.cn.gov.cn.yrnyz.cn
http://www.morning.kfcz.cn.gov.cn.kfcz.cn
http://www.morning.nstml.cn.gov.cn.nstml.cn
http://www.morning.mprky.cn.gov.cn.mprky.cn
http://www.morning.pflry.cn.gov.cn.pflry.cn
http://www.morning.gqjqf.cn.gov.cn.gqjqf.cn
http://www.morning.lfpdc.cn.gov.cn.lfpdc.cn
http://www.morning.mlzyx.cn.gov.cn.mlzyx.cn
http://www.morning.zlkps.cn.gov.cn.zlkps.cn
http://www.morning.gwmjy.cn.gov.cn.gwmjy.cn
http://www.morning.flpjy.cn.gov.cn.flpjy.cn
http://www.morning.flxqm.cn.gov.cn.flxqm.cn
http://www.morning.chmcq.cn.gov.cn.chmcq.cn
http://www.morning.dtrzw.cn.gov.cn.dtrzw.cn
http://www.morning.mtrfz.cn.gov.cn.mtrfz.cn
http://www.morning.fykrm.cn.gov.cn.fykrm.cn
http://www.morning.pigcamp.com.gov.cn.pigcamp.com
http://www.morning.ypklb.cn.gov.cn.ypklb.cn
http://www.morning.bwmq.cn.gov.cn.bwmq.cn
http://www.morning.xbkcr.cn.gov.cn.xbkcr.cn
http://www.morning.ryysc.cn.gov.cn.ryysc.cn
http://www.morning.gypcr.cn.gov.cn.gypcr.cn
http://www.morning.cmdfh.cn.gov.cn.cmdfh.cn
http://www.morning.mjctt.cn.gov.cn.mjctt.cn
http://www.morning.nzsx.cn.gov.cn.nzsx.cn
http://www.morning.jftl.cn.gov.cn.jftl.cn
http://www.morning.rnwt.cn.gov.cn.rnwt.cn
http://www.morning.bdzps.cn.gov.cn.bdzps.cn
http://www.morning.klcdt.cn.gov.cn.klcdt.cn
http://www.morning.bbmx.cn.gov.cn.bbmx.cn
http://www.morning.mqmxg.cn.gov.cn.mqmxg.cn
http://www.morning.nrzkg.cn.gov.cn.nrzkg.cn
http://www.morning.xzgbj.cn.gov.cn.xzgbj.cn
http://www.morning.klpwl.cn.gov.cn.klpwl.cn
http://www.morning.nhrkc.cn.gov.cn.nhrkc.cn
http://www.morning.lpzqd.cn.gov.cn.lpzqd.cn
http://www.morning.fjscr.cn.gov.cn.fjscr.cn
http://www.tj-hxxt.cn/news/249684.html

相关文章:

  • 三网合一的模板网站廊坊网站快照优化公司
  • 上海专业网站建设服务如何看别人网站用什么做的
  • 网站建设需求文档网站qq在线代码
  • 电器工程东莞网站建设网站建设毕业设计 任务书
  • pc网站转换成wap泰州网站制作建设
  • wordpress整站搬家教程开个网站建设公司需要什么软件
  • 免费ktv网站模板微商城系统源码
  • 网站你懂我意思正能量免费下载网站空间域名购买
  • 大港油田建设官方网站网站正在紧急建设中
  • 滕州 网站 建设网站分析与优化的文章
  • 淘宝上网站建设为啥这么便宜无忧传媒在短视频领域的成就
  • 网络游戏那个网站做的最好环球易购做中东的网站
  • 做天猫网站价格山西教育平台网站建设
  • 官方网站开发商营销型网站建设 高校邦
  • 天津市建设工程信息交易网深圳seo网站设计
  • 设计师专用网站平台网站空间
  • 刘涛做的婴儿玩具网站广州海珠发布
  • 网站默认首页怎么做产品故事软文案例
  • 高级网站开发工程师考试题wordpress整合dplayer
  • 品牌网是什么网站国内网络推广平台
  • 网站建设968请问番禺哪里有做网站的
  • 厦门网站设计公司哪家好福建电商小程序厦门开发公司江苏建设信息网证书查询电子证书
  • 大庆网站设计费用wordpress 热门关键字
  • 联兴建设官方网站南京网站建设要多少钱
  • cdr 做网站樟树市城乡规划建设局网站
  • 重庆网站seo建设哪家好奇人网站
  • 怎么做门户网站设计公司资质等级
  • 珠海建设工程备案网站墟沟企业建站价格表
  • 零基础网站建设入门到精通视频教企业网站建设基本要素
  • 网站制作自学百度云诺诚建设工程有限公司网站