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

酒泉百度做网站多少钱网店运营基础知识

酒泉百度做网站多少钱,网店运营基础知识,2022最新时事新闻及点评,国外做爰网站 xzl49.cn一、优先级和进程优先级 1.1什么是优先级 优先级就是获取某种资源的先后顺序,比如打饭时排队:排队就是在确认优先级 1.2为什么要有优先级 本质上其实是目标资源相对于需求者来说比较少,如CPU,磁盘,显示器&#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(例子中为80)+NI

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.dtcms.com/wzjs/185379.html

相关文章:

  • 个人免费发布信息平台北京网站优化托管
  • 通过付费网站做lead北京中文seo
  • 快件网站建设互联网广告投放
  • 做网站购买模板上海正规seo公司
  • 外贸网站制作广州每天三分钟新闻天下事
  • 学校的网站的代码模板下载西安seo顾问培训
  • 远丰做网站怎么样竞价系统
  • 做网站公司 陕西渭南舆情分析系统
  • 网站做附近地图导航seo搜索引擎优化怎么优化
  • 福永医院网站建设厦门人才网唯一官网招聘
  • 蚌埠网站设计重庆排名seo公司
  • 周口专业做网站公司安卓优化大师2021
  • 多种成都网站建设seo职位具体做什么
  • 网站搭建免费视频教程速推网
  • 周口做网站建设优秀企业网站欣赏
  • 郑州外贸网站建设公司排名上海seo网站优化
  • 云南建设注册考试中心网站appaso优化技巧
  • 网站建设五项基本原则网络营销推广机构
  • php网站建设外国参考文献武汉网站排名推广
  • 中国证券监督管理委员会的官网安卓优化大师旧版
  • 天津建设工程seo查询工具有哪些
  • 哪里可以接网站开发项目做seo资讯
  • 炉石吐司做的网站2024年重大新闻简短
  • 网站建设微信运营推广站长之家ppt模板
  • 万网 网站建设合同广告推广图片
  • 富阳做网站公司推广赚钱一个50元
  • 谷歌收录查询工具长沙快速排名优化
  • 建行网站企业网银sem专业培训公司
  • 做网站有软件吗教育培训机构排名前十
  • 品牌网站设计制作一般多少钱站长之家seo