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

网站网站集约化建设手机百度官网首页

网站网站集约化建设,手机百度官网首页,wordpress无法连接数据库,网页设计与制作设计网页源文件一、优先级和进程优先级 1.1什么是优先级 优先级就是获取某种资源的先后顺序#xff0c;比如打饭时排队#xff1a;排队就是在确认优先级 1.2为什么要有优先级 本质上其实是目标资源相对于需求者来说比较少#xff0c;如CPU#xff0c;磁盘#xff0c;显示器#xff…一、优先级和进程优先级 1.1什么是优先级 优先级就是获取某种资源的先后顺序比如打饭时排队排队就是在确认优先级 1.2为什么要有优先级 本质上其实是目标资源相对于需求者来说比较少如CPU磁盘显示器键盘等相对于进程来说并不充足 1.3优先级与权限有类似的地方他们的区别是什么 优先级能使用资源决定谁先谁后问题 权限决定能不能使用资源的问题 1.4进程优先级与竞争性的体现 1.4.1进程优先级竞争的资源 优先级的存在是因为资源较少需要排顺序来竞争资源分配那么对于进程优先级来说竞争的资源是什么呢 竞争的是CPU资源 1.4.2竞争性的体现 竞争性的原因资源稀缺 系统中进程数目很多但是CPU很少进程之间就有了竞争属性 为了更高效地完成任务更合理地竞争资源便有了进程优先级 二、进程优先级是怎么实现的 2.1用户名和与之强相关的UID 2.1.1UID是什么 在Linux下会为每个用户维护一个对应的UID整形值来代表用户名所对应地字符串 可以使用ls -n来查看 可以发现在-n选项下用户名 my_normal对应的字符串被替换成了整数1000  2.1.2为什么要有UID UID标识了用户ID代表进程是哪一个用户启动的 ①Linux下一切皆文件每个文件都会记录自己的拥有者所属组以及对应的权限 ②Linux下所有操作都是进程来完成进程也属于文件自然要记录“拥有者”即“谁哪个用户启动的我” 总而言之进程通过记录“谁启动的我”来判断自身是否属于文件的拥有者/所属组以此确定是否有权限进行一些操作这就是权限控制实现的底层原理也是UID的意义 2.2task_struct中优先级属性的实现原理 task_struct中的优先级属性是通过特定的几个int类型的变量来表示优先级的优先级数字越小代表优先级越高 查看优先级 可以通过ps -la指令查看所有自己创建的进程的详细信息包括其优先级 其中PRI和NI对应的就是优先级属性 PRI最终优先级 NI是nice细微的简写代表优先级的修正数据 最终优先级默认PRI例子中为80NI 2.3如何修改进程优先级注此功能不是高频使用的且不建议修改 修改进程优先级使用的是top指令的一个功能 进入top指令-输入r-输入PID-输入nice值 注OS禁止频繁修改优先级同时UID对应用户没有权限的话也不允许修改 原进程 top的r功能 输入一个大于等于19的数修改后 再输入一个小于等于-20的数触发OS保护机制不允许连续修改进程优先级 切换为root账户再修改 综上NI值有范围限制在[-20,19]之间 共40个数字 2.3补为什么要把nice值设置在一个可控范围内为什么是[-20,19]? 分时OS的进程调度需要遵循尽量公平的原则如果有一个进程优先级特别高会破坏这一公平性 2.4进程切换 2.4.1时间片的概念与时间片对于进程有什么影响 ①时间片 Linux基于时间片进行轮转调度一个进程的时间到了它的时间片进程切换 ②时间片对于进程的影响 时间片到了这一进程并不一定跑完因此进程需要保存自己的运行状态在任何地方都可以被重新调度 2.4.2结合实际生活中的例子理解轮转调度 就像在学校转而去当兵入伍确定入伍名额需要向学校申请保留学籍 退伍后需要向学校申请恢复学籍 其中保留学籍的目的是留存历史的学习痕迹保留不是目的而是手段未来的恢复才是目的 类比起来 ①学生就像进程CPU就像学校部队就像OS中在学校学习的时间就是时间片 ②保留学籍就像保存上下文数据 ③恢复学籍就像回复上下文数据 2.4.3切换过程和理解 ①进程在运行的过程中会有许多临时数据在CPU的寄存器中保存CPU内部有多个寄存器我们称之为“一套寄存器” CPU如何得知当前运行到代码中哪一行了呢 是依靠pc指针与ir指针 磁盘中的代码和数据加载到内存中在这段内存空间中每一句代码都有自己的地址 此时的eip寄存器又名pc指针i是instruction的简写意思为指令p是point的简写意思是指针存储当前正在执行指令的下一条指令的地址 ir寄存器指令寄存器保存的是当前从内存加载到CPU中正在执行的指令 ②CPU内部寄存器中的一系列数据是进程执行时的瞬时状态信息数据又名上下文数据 2.4.3补寄存器寄存器里的上下文数据还有其他内容 2.4.4进程切换的核心上下文数据的保存和恢复 进程切换的核心就是进程上下文数据的保存和恢复一个可执行程序开始运行的过程 ①pc中存main函数的地址 ②之后把执行加载到ir中更新pc值 ③ir将指令交给CPU中一个控制器来执行执行结束进行下一行代码的读取 之后运行进程一的时间片到时间后换到进程二以此类推 假如这个过程不保护不保存上下文数据 进程一运行结束回到调度队列CPU中pc指针读取了进程二的首语句会把原来进程一的痕迹覆盖下一次轮到进程一执行找不到上次的痕迹无法继续运行 则无法完成调度与切换 做保护 会在CPU外的某个位置将进程一的上下文数据保存起来再进行pc指针读取进程二首语句 进程切走将相关寄存器数据保存起来 进程切回:将历史保存的寄存器数据恢复到寄存器中 2.4.5进程切换过程中CPU寄存器被共享使用 每个进程都有自己的上下文数据这些上下文数据需要加载到CPU寄存器内部来使用而CPU寄存器只有一套所以CPU被多个进程共享使用 2.4.6每个进程的上下文数据究竟存储在哪里 现在电脑对于进程上下文数据的保护体系已经十分完善了涉及到多个位置 但我们可以理解为上下文数据保存在内存的PCB中 从源码中可以看出端倪 在task_struct中有一个tss的定义,而它是这个 所以进程的上下文数据保存在任务状态段TSS) 的结构体中
http://www.zqtcl.cn/news/285328/

相关文章:

  • 电脑版 做网站尺寸怎么查找网站后台
  • 南京网站建设公司国际新闻头条最新消息
  • 类似于wordpress的网站吗做网站前端难吗
  • 做外贸网站维护费是多少小程序源码提取
  • 设计网站作品欣赏有那些网站注册商标官网入口
  • 装修网站怎么做的外贸谷歌推广怎么样
  • 建设部网站监理资质换证it外包 北京
  • flash网站制作公司杭州便宜的手机网站建设
  • 有ip地址如何做网站苏州门户网站建设
  • 菏泽北京网站建设邯郸做移动网站费用
  • 国外的平面设计网站施工企业介绍
  • 做网站市场价织梦模板自适应
  • xx单位网站建设方案设计精美的网站
  • 唐山市政建设总公司网站工商营业执照查询官网
  • 深圳建站模板建站网站介绍怎么写
  • 网站建设管理教程视频教程如何建一个电商平台
  • 深圳网络公司做网站wordpress怎么编辑网站
  • 淄博建站网络公司wordpress ldap外部登录认证
  • 南宁网站开发浏览器有哪几种
  • 石家庄哪里能制作网站网站301跳转
  • 网站建设报价浩森宇特wordpress怎样修改字体
  • 网站建设预估费用做品牌推广用什么网站
  • 网站建设风险评估西部数码 空间做2个网站
  • 专业购物网站建设wordpress the7不显示分类页
  • 移动应用开发网站建设网站时的故障分类
  • 网站动态静态软件项目管理案例教程第四版
  • 贵州萝岗seo整站优化鲜花店网站建设的总结
  • 下载做网站的软件建网站做站在
  • 无锡高端网站建设公司WordPress臃肿主题
  • 网站建设与运营财务预算seo下拉优化