|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令。
Linux道理的进修,我盘算由浅进深,从上之下,也就是先懂得个也许再逐一深切。先懂得一下Linux的历程先。
1、Linux历程高低文
Linux历程高低文,我了解就是历程构成元素的汇合。包含历程形貌符tast_struct,注释段,数据段,栈,存放器内容,页表等。
1)tast_struct
它是一种数据布局,存储着历程的形貌信息,比方pid,uid,形态,旌旗灯号项,翻开文件表等。是历程办理和调剂的主要根据。
2)用户栈和中心栈
望文生义,用户栈是历程运转在用户态利用的栈,含有效户态实行时分函数挪用的参数,部分变量等;中心栈是该历程运转在中心态下用的栈,保留挪用体系函数所用的参数和挪用序列。这两个栈的指针都保留在tast_struct布局中。
3)存放器
保留程序计数器,形态字,通用存放器,栈指针。
4)页表
线性地点到物理地点的映照
5)注释段,数据段。
2、Linux历程的形态
Linux中历程共有5个形态:停当,可中止就寝,不成中止就寝,停息,僵逝世。也就是说,linux不辨别停当和运转,它们一致叫做停当态。历程所处的形态纪录在tast_struct中。
3、历程的把持
1)历程树的构成
盘算机启动后,BIOS从磁盘引诱扇区加载体系引诱程序,它将Linux体系装进内存,并跳到内核处实行,Linux内核就实行初始化事情:初始化硬件、初始化外部数据布局、创建历程0。历程0创立历程1,历程1是今后一切创立的历程的先人,它卖力初始化一切的用户历程。历程1创立shell历程,shell历程显现提醒符,守候命令的输出。
2)历程的创立
任何一个用户历程的创立都是由现有的一个历程完成的,历程的创立要经由fork和exec两个历程。Fork是为新历程分派响应的数据布局,并将父历程的响应高低文信息复制过去。Exec是将可实行文件的注释和数据转进内存掩盖它本来的(从父历程复制过去的),并入手下手实行注释段。
3)历程的停止
体系挪用exit()便可自我闭幕,exit开释除tast_struct之外的一切高低文,父历程收到子历程闭幕的动静后,开释子历程的tast_struct。
4)历程的调剂
历程的调剂是由schedule()完成的,一种情形是,当处置机从中心态向用户态转换之前,它会反省调剂标记是不是为1,假如是1,则运转schedule(),实行历程的调剂。另外一种情形是历程主动保持处置机,时分举行历程调剂。
历程的调剂历程分为两步,起首使用相干战略选择要实行的历程,然落后行高低文的切换。
4、历程的通讯
历程的通讯战略次要有,动静,管道,动静行列,共享存储区和旌旗灯号量。
1)信息
动静机制次要是用来传送历程间的软中止旌旗灯号,关照对方产生了异步事务。发送历程将旌旗灯号(商定好的标记)发送到方针历程的tast_struct中的旌旗灯号项,吸收历程看到有动静后就挪用响应的处置程序,注重,处置程序必需到历程实行时分才干实行,不克不及当即呼应。
2)管道
我了解就是两个历程利用告知缓冲区中的一个行列(每两个历程一个),发送历程将数据发送到管道出口,吸收历程从管道出口读数据。
3)动静行列
动静行列是操纵体系保护的一个个动静链表,发送历程依据动静标识符将动静增加到制订行列中,吸收历程从中读作废息。
4)共享存储区
在内存中启示一个地区,是个历程共享的,也就是说历程能够把它附加到本人的地点空间中,对此地区中的数据举行操纵。
5)旌旗灯号量
把持历程的同步。
</p>
开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。 |
|