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

做户外的网站seo教育

做户外的网站,seo教育,分销网站建设,php个人网站源码下载进程概念 内核进程进程状态内存泄漏进程调度。Linux真实调度算法环境变量 内核 狭义上的操作系统指的是 内核就是进程管理进程调度,文件系统等等。 广义上的操作系统其实在外壳指令这些。封装了系统调用的东西。 进程 课本概念程序的一个基本实例 内核观点&#…

进程概念

  • 内核
  • 进程
  • 进程状态
  • 内存泄漏
  • 进程调度。
  • Linux真实调度算法
  • 环境变量

内核

狭义上的操作系统指的是 内核就是进程管理进程调度,文件系统等等。
广义上的操作系统其实在外壳指令这些。封装了系统调用的东西。

进程

课本概念程序的一个基本实例
内核观点,承担分配资源的实体。
我们可以理解为所谓进程就是PCB+加载到内存的代码和数据。

管理就得先描述再组织。Linux下的PCB就是task_struct。

我们可以通过指令ps axj|head -1

ls /proc (内存级的文件系统)

在这里插入图片描述
cwd -> cwd 表示进程的 ​当前工作目录
exe -> 表示进程执行的 ​可执行文件路径,即进程是通过哪个二进制文件启动的

bash就是一个死循环的进程

fork()创建子进程,如何理解fork调用一次返回两次
一个函数通常在执行到return语句之前,函数的工作基本完成了。
我们认为在fork函数内部执行到return之前,我们已经创建了子进程。父子进程同时return

进程状态

进程状态实际就是task struct中的一个整数。
有运行阻塞挂起。
运行就是进程链入到运行队列
阻塞就是进程链入到阻塞队列中

理解Linux内核链表的话题,
Linux的PCB,封装一个双向链表的结构体。
封装了一个previous指针和一个next指针。
PCB中可以存在多个这样的结构体
第一个head我们放在这个调度队列中,第二个放在在等待队列中,第三个再放入其他。
这样就可以将一个进程链入到不同的数据结构当中。可能有的人会想,我们就可以用offset函数计算出偏移量

如何管理硬件?管理硬件先描述再组织,就是我们有个struct device的。结构体里面封装了这个。ID标识符,然后status表示状态,然后task struck wait_queen,

如果说进程所就绪的,所需要的资源未就绪,我们就把它列入到特定硬件的阻塞队列中,如果如果硬件那个硬件就去了,我们就在那再链回到运行队列中。

事实上我们察觉不了,其实是内存中的代码和数据挂回到磁盘中但是我们保留它PCB的结构体

挂起就是挂到外设或者说将他放到运行队列的末端。

运行在在unix,Linux下表现的就是偶尔加或者说r状态二加是前台,r是后台。
S就是阻塞状态,然后也就可中断睡眠,浅睡眠。就是然后操作系统可以自自主的杀死这个进程。

具体状态
R(后台)和R+(前台)运行

S(阻塞) 可中断休眠(操作系统可自主杀死该进程)
t(暂停) debug下
T(暂停) Ctrl+Z
这个是Linux下的特有的状态,这个只是一种操作系统止损的行为。这个进程是不是真要杀死?但操作系统只是怀疑这个进程有问题,所以就暂停住他。

D就是不可中断状态。因为如果说我们进行大量的这个写入,但是如果说进程被杀死,用户无法得知,那数据就会直接丢失,为此我们需要一个不可被击杀的状态,但其实这个状态是很少见的。只要做存储和IO的人才知道

Z状态就是僵尸状态,僵尸进程这个东西是非常重要的,如果我们不对僵尸进程进行处理的话,那就会造成这个内存泄露,父进程不管僵尸进程就会一直维护导致内存泄漏。

内存泄漏

常驻内存的进程(死循环)才会有内存泄漏

如果子进程退出之前,父进程先现在死亡了,那么子进程就会托管给父进程?

进程调度。

我们要理解到首先我们谈两个概念,优先级和权限。优先级是指先后顺序,权限是能否得到我们只有在具有访问的权限的情况下才能谈优先级的概念。

我来讲一下nice值,值越低,优先级越高。但其实nice值是有一定范围的即优先级有一定范围,否则会导致进程饥饿,

并发是多个进程。单哥CPU快速切换,也就是分时系统。
并行就是多个进程。多个CPU。

进程会调度。
哪怕该进程是死循环也会调度
保存:将寄存器中的内容保存到当前进程的PCB当中
恢复上下文:当前进程的PCB当中的内容恢复到寄存器当中

我要要意识到空间一份,内容多份!!!

Linux真实调度算法

在这里插入图片描述

nr_active表明多少个进程
bitmap[5],0到99实时优先级不考虑,100-139分时我们要考虑的优先级。通过位图我们就能O(1)地得出当前优先级下队列是否有进程
queue哈希桶,哈希函数X-60+(140-40)。
X是进程优先级,进程优先级范围是[60,99]

当前进程执行完之后,并不是直接列入到当前队列的最末端因为这样的话一个优先级高的死循环进程,我们永远无法到达到下一优先级队列当中。因此我们将它列入到过期队列当中。随着时间的发展活跃队列的进程越来越少,过期队列的进程越来越多。最后当活跃队列的进程为零时,我们将活跃队列和过期队列的指针交换(O(1))。又得到了一个充满进程的活跃队列和一个空的过期队列。

环境变量

命令行参数:实现不同程序子功能的方法
int main(int argc,char* argv[])

环境变量从哪来?
配置文件里来

.bash_profile
.bashrc(在这里面添加PATH)

su USER变
su - 重新登入

环境变量Key=Value的形式
PWD(当前路径)
OLDPWD(上次路径)

http://www.dtcms.com/wzjs/268716.html

相关文章:

  • 网站优化排名实际操作网站收录免费咨询
  • WordPress导航栏主题seo实战技巧
  • html格式的网站地图站长工具介绍
  • 河南便宜网站建设百度电脑版网址
  • 网站utf8乱码百度一下电脑版
  • 免费网站管理系统下载无锡网站关键词推广
  • 聊城市建设局网站互联网销售包括哪些
  • 公司建站多少钱北京网站seo哪家公司好
  • phpcms v9 网站名称标签网络营销试题库及答案
  • betheme做网站怎么样葫岛百度seo
  • 辛集建设局官方网站外链查询
  • google网站排名厦门网络推广外包多少钱
  • 程序开发公司名大全网络运营seo是什么
  • 网站建设实习生怎么样百度一下你就知道移动官网
  • 淘宝内部卷怎么做网站太原网站建设方案优化
  • 免费免费网站模板大连百度关键词排名
  • wordpress下载权限贵州萝岗seo整站优化
  • 焊枪公司网站怎么做城关网站seo
  • wordpress禁复制鹤壁搜索引擎优化
  • cdr可以做网站页面吗百度竞价排名叫什么
  • 什么网站可以做电子画册东莞网络营销渠道
  • wordpress首页显示摘要海淀区seo引擎优化多少钱
  • 深圳市龙岗区住房和建设局网站定制网站
  • 惠州网站建设电话山东网络推广网站
  • 客户制作网站时的问题技能培训有哪些科目
  • 怎么注册做鸭网站徐州关键词优化排名
  • 广州档案馆建设网站成都排名seo公司
  • 网络优化公司有哪些seo关键词是怎么优化的
  • 哪家网站建设电话营销推广渠道
  • 做erp系统的网站网站统计分析平台