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

网站建设财务怎么入账模板网官网

网站建设财务怎么入账,模板网官网,网站中的给我留言怎么做,提高自己网站#x1f493;博主CSDN主页:杭电码农-NEO#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   #x1f69a;代码仓库:NEO的学习日记#x1f69a;   #x1f339;关注我#x1faf5;带你学更多操作系统知识   #x1f51d;#x1f51d; Linux进程 1. 前言2. 操作系统… 博主CSDN主页:杭电码农-NEO   ⏩专栏分类:Linux从入门到精通⏪   代码仓库:NEO的学习日记   关注我带你学更多操作系统知识   Linux进程 1. 前言2. 操作系统中进程的运行状态3. 操作系统中进程的阻塞状态4. 操作系统中进程的挂起状态5. Linux下特定的进程状态6. 前台进程和后台进程的区别7. 休眠状态和磁盘休眠状态8. 总结以及拓展 1. 前言 很明显,进程状态的本质就是进程 PCB结构体中的一个变量,它可能 是用宏定义来实现的,也可能是其他方式 #define NEW 1 #define RUNNING 2 #define BLOCK 3 strcut PCB {...其他信息int state;//进程状态 } if(PCB-stateNEW) {将进程放入运行队列} else if(PCB-stateBLOCK) {将进程放入阻塞队列} ......本章重点: 本篇文章着重讲究操作系统中的 三种进程状态:运行状态,阻塞状态 和挂起状态.并且讲解Linux操作系统 中具体的进程状态,其中R状态(运行状态) 和S状态(睡眠状态)最常见! Linux中常见的六种状态: 还有一种状态就是z状态(僵尸状态) 2. 操作系统中进程的运行状态 现在我们使用的电脑,手机有四核的 有八核,十二核的,也就是有多个CPU 然而不管有多少个CPU,每一个CPU 都有一个对应的运行队列,CPU会去 此队列中寻找数据来做处理 只要一个进程在运行队列中,它就是运行状态 不管一个进程是否正在被处理,只要它在 运行队列中,那么它就是处于运行状态! 3. 操作系统中进程的阻塞状态 我先来描述一下进程会阻塞的情况: 当CPU处理一个PCB时,我们写的 代码中或多或少会去访问操作系统 里的某些资源,比如:磁盘,键盘,网卡 最简单的例子,当代码出现scanf 或者cin时,系统会等待用户输入,只要 不输入,要访问的资源就没有就绪 此时代码就无法运行! 此时进程就处于阻塞状态了吗? 对!但是不完全对! 我想给大家阐述的更细致一点 我们知道,系统中的硬件是通过 管理硬件数据来间接被操作系统 管理起来的,所以操作系统是很清楚 硬件现在是否具备访问条件,那么 操作系统是怎样知道的呢? 其实每一个设备的结构体中,都有 变量:PCB* wait_queue,也就是 等待队列,请看下图仔细分析: 将一个进程从运行队列移动至设备 的等待队列中,再将状态改为阻塞 此时这个进程就处于阻塞状态 每个CPU或是设备都有自己的队列 进程状态变化的本质就是: 更改PCB中status的整数变量将PCB链接到不同的队列中! 4. 操作系统中进程的挂起状态 想象一下以下情况 如果现在有很多进程被阻塞(不同设备) 注定了这些进程在它所等待的资源没有 就绪的时候,该进程是无法被调度的,如果 此时,恰好操作系统的内存资源已经严重不足 那么现在应该这样做才能拯救操作系统呢? 答案是,因为此时进程处于阻塞 状态,并且内存已严重不足,所以 OS会将PCB对应的数据和代码 弄到磁盘,为内存腾出一部分空间 此时,进程就被挂起了! 注意,将内存数据换到外设上 这一操作是针对所有阻塞进程的 不用担心与外设频繁交互会降低 操作系统的效率,因为此时要关心 的是操作系统还能不能存活下去!注意,swap分区是磁盘中真实存在的 它的大小往往是很小的,这个部分专门 用于内存严重不足时和内存进行交互 并且当内存情况缓解后,曾经被置换 出去的代码和数据又会重新加载进来!5. Linux下特定的进程状态 先来看看我在库中找的状态的定义: 今天的主角是R和S状态 先来写一段程序来看看效果: #include stdio.h #include unistd.h int main() { while(1) { sleep(1); printf(hello hdu\n); } return 0; } 运行此程序后查看进程状态: 按照常理来说,一个正在运行的程序 应该是处于R状态的,但是这个程序 为什么处于S状态呢(号先不管,后面会讲) 这是因为循环打印时,IO输出是很慢的 打印字符会和外设屏幕交互,所以大 部分时间进程都处于阻塞状态,可能 只有百分之1的时间在打印,所以查看 进程状态时,大部分都是S状态,只有很少 一部分是R状态但是如果while(1)中 什么代码都没有,则程序一直处于R状态 6. 前台进程和后台进程的区别 我先给出概念再来解释: 前台进程:运行时无法使用bash外壳的指令 并且可以被CTRL C强制终止掉 后台进程:运行时可输入指令,不能被CTRL C掉 只能使用kill指令来杀掉进程. 将程序变成后台程序: 运行进程时加上: 如: ./mybin 先来对比观察一下前后台进程: 前台进程和后台进程区别 7. 休眠状态和磁盘休眠状态 细心的同学可能已经发现了 这几种状态中有两个很相似的状态: S被称为浅度睡眠 D被称为深度睡眠 想象一下下面的这种情况: 我们从QQ,微信上下载一个文件 本质上就是将数据拷贝至磁盘,但是 目前这个文件很大,需要拷贝很久 但是此时操作系统的内存恰恰不足了 需要干掉一些进程来保证操作系统存活 此时若恰好将正在拷贝到磁盘的进程杀掉 了,那么也就是拷贝失败了,如果文件非常 的重要,那么操作系统就要背锅了,所以 OS创造了D状态:磁盘休眠状态! 所以我们得出一个重要的结论: S(sleeping):浅度休眠,浅度睡眠,可以被终止D(disk sleep):深度休眠,为了防止向磁盘写入 重要资源时被杀掉而专门创建的一个分类! 8. 总结以及拓展 了解Linux中进程的分类可以更进一步 的了解进程在操作系统中的运行关系 所以进程状态是学习进程中必不可少的 一课!我们和进程的故事还远远没有结束! 拓展阅读:什么是僵尸进程? 什么是僵尸进程
http://www.zqtcl.cn/news/515104/

相关文章:

  • 网站qq登录 开发一个小型网站开发成本
  • 湖北网络建设公司网站js跳转到别的网站
  • 郑州网站app开发的汽车网站 源码
  • 河南网站建设企业做网站多少钱西宁君博示范
  • 沈阳有做网站的吗青浦手机网站制作
  • 腾讯云免费建站建立一个网站英语
  • 沙漠风网站建设怎么样官方网站建设银行2010年存款利息
  • 360报危险网站微信代码小程序
  • 网站维护报价单国外 做励志视频的网站
  • 用源码做自己的网站公司网站建设哪家公司好
  • 网站运营做seohtml前端网站开发PPT
  • 上海网站定制设计图wordpress网站在线安装
  • 互动网站的核心技术wordpress不用插件
  • 厦门市建设工程交易中心网站怎么自己做游戏软件的app
  • 网站论文参考文献人力资源公司名称大全简单大气
  • 射阳做企业网站哪家好wordpress 进销存
  • 青海个人旅游网站建设wordpress用户名密码加密方式
  • 安徽平台网站建设找哪家wordpress首页加登录
  • 雅安市住房和城乡建设局网站湖南全程电子化服务平台官网
  • dw做的上传网站打不开网页制作培训价格
  • 工程网站怎么做广州做网站平台
  • 成都网站建设 全美深圳定制网站建设
  • 邢台网站建设与制作陕西高速公路建设集团网站
  • 太原 招聘 网站建设 技术经理关于 建设 二级网站
  • 如何做网站店铺的模板著名的响应式网站有哪些
  • 相城区建设网站做网站 设计师很
  • python网站开发好吗广州软件外包
  • 山东能源集团 网站建设对网站建设功能的情况说明
  • 网站设计个人各种类型网站建设口碑好
  • 西安巨久科技网站建设嘚嘚笔记 wordpress主推