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

杭州做网站的公司h5做的网站有哪些

杭州做网站的公司,h5做的网站有哪些,辽宁建设工程信息网218,网站演示程序初识进程 #x1f349;进程#x1f34c;操作系统的进程管理 #x1f349;PCB 重要属性#x1f34c;进程的身份标识#x1f34c;内存指针#x1f34c;文件描述符表#x1f34c;进程的状态#x1f34c;优先级#x1f34c;记账信息#x1f34c;上下文 #x1f349;内存… 初识进程 进程操作系统的进程管理 PCB 重要属性进程的身份标识内存指针文件描述符表进程的状态优先级记账信息上下文 内存分配内存管理进程间通信 进程 进程是操作系统提供的一种软件资源 我们现在用到的系统都属于是“多任务操作系统”即在同一时刻可以同时运行多个任务 这里所说的“任务”就是指正在运行中的程序也可以称为“进程” 与其对应的就是“单任务操作系统”它在同一时刻只能运行一个程序 打开任务管理器我们可以看到每个任务在执行过程中都需要消耗一定的硬件资源内存、硬盘等 也就是说计算机的每个进程在运行的时候都需要给它分配一定的系统资源。可见进程是系统分配资源的基本单位 操作系统的进程管理 操作系统在管理进程时会先使用类/结构体把实体属性给列出来因为操作系统一般是用C/C实现的所以可以使用结构体这一步称为“描述”。表示进程信息的结构体称为PCB进程控制块Process Control Block 每个正在运行或等待被调度的进程都有一个对应的PCB操作系统通过访问和操作PCB来实现进程的管理和调度 补充PCB 是操作系统学科中的通用概念。Windows 上表示进程的结构可以称为 PCBLinux 上的也可以称为 PCB 具体到 Linux 上PCB 是一个叫作 struct task_struct{…}这样的结构体 在描述之后使用一定的数据结构把这些结构体/对象串到一起这一步叫作再组织 在 Linux 中若干个 task_struct 之间是使用链式结构串起来的 当我们看到任务管理器中的进程时系统内部此时在遍历链表并且打印每个节点的相关信息 如果运行一个新的程序那么系统中就会多一个进程多出来的这个进程就需要构造一个新的 PCB添加到链表上 与之对应的如果某个运行中的程序退出了那就需要把对应进程的 PCB 从链表中删掉并销毁对应的 PCB 资源 注意此处的表述是一个简化版本实际上组织的方式更加复杂内部不是一个链表而是更加复杂的链式结构 PCB 重要属性 进程的身份标识 不同进程之间是通过一个简单的不重复整数来区分的称为 pid。后续要针对某个进程进行操作时就可以用 pid 来区分 比如选中某进程点击“结束任务”那么此时任务管理器就会获取到你选中的进程的 pid然后调用一个系统 api把 pid 作为参数传进去从而完成杀死进程的操作 内存指针 内存指针是用来描述某个进程能使用哪些内存即描述了进程使用内存资源的详细情况 进程在运行过程中需要消耗一些系统资源其中内存就是一种重要的资源 如果要使用内存那就得先向系统申请得系统给你分配一块内存之后你才能使用 一个进程要想跑起来需要有指令代码也需要有数据而指令和数据都是要加载到内存中的所以进程需要知道指令和数据分别存在哪里 而内存指针保存着一个内存地址指向内存中的特定位置。通过内存指针可以访问和操作内存中的数据和指令代码 文件描述符表 文件描述符表是操作系统中的一个数据结构它描述了某个进程所涉及的硬盘相关的资源 进程经常需要访问硬盘操作系统对于硬盘这样的硬件设备进行封装按照文件的方式来操作这里的“文件”指的就是我们电脑里面的文件它们是存在硬盘中的 一个进程要想操作文件就需要先打开文件这个过程就是在文件描述符表中给这个进程分配一个表项构造一个结构体表示这个文件的相关信息 前面我们说进程是系统分配资源的基本单位像内存、硬盘、网卡等资源就会在 PCB 中有所体现而且它们在PCB 中都好体现。但是一个进程消耗 CPU 资源这个要如何看待呢 一个 CPU 可能有一个核心也可能有多个一个核心在同一时刻只能处理一个进程但是系统上的进程远多于电脑的核心数此时就涉及到一个关键的概念——分时复用并发 就是 CPU 的核心先执行进程1的代码执行一段时间之后让进程1下来换进程2上去……依此类推 而 CPU 一秒可以执行几十亿条指令也就是说在短时间内可以进行很多次任务切换在切换进程的速度足够快的情况下人是感知不到这个切换的过程 而如果是多核 CPU比如四核那么就可以同时执行四个不同的进程这称为并行执行。虽然有多个核心但每个核心仍然要分时复用快速切换 当代计算机基本是并行和并发同时存在的两个进程是并行执行还是并发执行要看系统的调度 我们把并行和并发统称为“并发”对应的编程方式解决一个问题分成多个任务来执行这多个任务协作解决称为并发编程 说到这里再回到上面的问题一个进程消耗 CPU 资源代表该进程在 CPU 上消耗的时间 任务管理器中是按百分比算的就表示某进程在 CPU 上消耗的时间的百分比 如果某个进程把 CPU 占到 100%那就意味着其他进程都没有执行的时间相当于这个进程霸占了 CPU这时候很可能会造成系统卡顿 为了避免发生这种情况就需要对进程进行调度使各个进程可以顺利并发执行。PCB 中提供了一些属性来支持系统调度进程下面我们来看一下 进程的状态 所谓的状态是描述某个进程能否到 CPU 上执行主要有两个状态 就绪状态进程随时准备好到 CPU 上执行 阻塞状态进程当前不方便去 CPU 上执行不应该去调度它比如进程在等待 IO 这里所说的 IO可能是来自控制台的输入/输出比如等待 Scanner 的输入也可能是硬盘的输入/输出、网卡的输入/输出 优先级 有多个进程等待系统调度这些进程获得的资源和调度顺序是有优先级的。优先级越高获得资源的机会就越大同时一般会优先执行 比如电脑上在运行游戏和微信显然游戏的优先级更高 记账信息 针对每个进程占据多少 CPU 时间进行统计然后根据统计结果进一步调整调度的策略。这样做是为了确保每个进程不会出现完全没有到 CPU 上执行的情况 上下文 每个进程在运行过程中会产生一些中间结果这些结果会保存在 CPU 的寄存器中。因此在进程调度出 CPU 之前需要把当前寄存器中的信息单独保存到一个地方。在该进程下次去 CPU 上执行的时候再把这些寄存器的信息恢复回来 保存上下文把 CPU 的关键寄存器中的数据保存到内存中PCB的上下文属性中。相当于游戏中的存档操作 恢复上下文把内存中关键寄存器中的数据加载到 CPU 对应的寄存器中使之前的进程能够继续执行。相当于游戏中的读档操作 内存分配内存管理 核心结论每个进程的内存是彼此独立、互不干扰的 也就是说通常情况下进程A不能直接访问进程B的内存这也称为进程独立性这样做利于系统的稳定性。 如果某个进程的代码出 bug 了那么只会影响到当前这个进程不会影响到其他进程 进程间通信 虽然进程之间有独立性但是有时候也需要多个进程相互配合完成某个工作所以进程间需要进行通信 进程间通信和进程的独立性不矛盾因为系统会提供一些公共的空间就是多个进程都可以访问到的让两个进程借助这种公共空间来交互数据 操作系统提供了多种方式供进程进行通信但本质上都是上述思路 常用的方式有 文件Java 程序员主要使用的进程间通信方式网络可以支持同一个主机的不同进程也能支持不同主机的不同进程适用性更高管道共享内存信号量信号
http://www.dnsts.com.cn/news/85581.html

相关文章:

  • 高端网站 设计免费推客推广平台
  • 网站营销工具厦门网站建设公司排名
  • 网站建设相关问题公众号投票
  • wordpress tag页面seo是什么简称
  • 做电影网站要买什么网站风格设计描述
  • html5网站特效石家庄便宜网站制作
  • 个人博客网站设计的目的做网站搭建服务器要多少钱
  • 别人怎么看见我做的网站服装设计公司主要做什么
  • 携程旅游网站建设的定位营销策略有哪些有效手段
  • app手机网站wordpress怎么搬站
  • 池州建设网站进入公众号继续阅读下一章
  • 上海网络推广报价开鲁网站seo不用下载
  • 友谊路街道网站建设网站流量利用
  • 威海网站开发公司电话响应式网站设计教程
  • 国内html5网站欣赏wordpress知更鸟打赏
  • 海淀深圳网站建设公司网站推广的内容
  • 网站建设在后台哪里查看wordpress 获取当前用户id
  • wordpress仿站步骤互联网发展趋势分析
  • 微信小程序怎么做网站安徽宿州住房与城乡建设玩网站
  • 青海企业网站制作网站建设的单词
  • 网站文章发布wordpress商品分类
  • 石家庄网站建设培训汕头app制作
  • 网站建设平台选用及分析江苏省建设厅网站建造师强制注销
  • 内江市建设培训中心网站红盾工商信息查询网
  • 上海网站建设 迈若陈江网站建设
  • 网站开发与数据库网站建设投入及费用
  • 关于建设网站的请示百度博客网站模板下载
  • 芷江建设工程招投标网站秦皇岛做网站汉狮网络
  • 漳州网站制作网络优化公司
  • 公司建网站 内部邮箱广告平面设计教程