首页 > 其他 > 详细

课程学习总结报告

时间:2020-07-09 18:55:31      阅读:65      评论:0      收藏:0      [点我收藏+]

1.Linux系统模型

一个典型的Linux系统由内核,系统调用,api,shell和应用程序构成,如下图所示。

技术分享图片

 

 

各部分的主要功能分别为,

内核:内核为linux最关键的部分,提供了系统运行的核心功能,包括中断异常处理,进程管理,文件系统管理以及内存管理等。

系统调用:系统调用是内核将部分内核功能暴露给用户的一个方法调用,用户可以通过系统调用,从用户态陷入内核态,从而可以控制和操作一些特权资源。

shell:shell是一种终端,可以通过输入命令来与系统进行交互。

2.内核功能

中断和异常

中断提供了一种特殊的方式,使得CPU转 去运行正常程序之外的代码.当一个中断信号到达时,CPU必须停止它当前 正在做的事,并且切换到一个新的活动. 此时,当CPU与IO外设进行数据交互时,CPU无需等待慢速的IO设备数据准备完毕,而是当IO数据准备完毕后,通过中断来通知CPU,此时CPU才来处理IO数据。

1)中断信号类型

中断:由外部硬件异步产生,且在程序执行的任何时候都有可能发生。可以分为可屏蔽中断和非屏蔽中断。

异常:由CPU执行指令时控制单元产生同步的,可以分为处理器探测异常和编程异常。

其中处理器探测异常,对方可以根据eip的值再划分故障fault,陷阱trap,异常终止abort

2)中断处理

中断控制器:

1,监视IRQ线,对引发信号检查

2,如果一个引发信号出现在IRQ线上 a,把此信号转换成对应的中断向量 b,把这个向量存放在中断控制器的一个I/O端口,从而 允许CPU通过数据总线读这个向量 c,把引发信号发送到处理器的INTR引脚,即产生一个中 断 d,等待,直到CPU应答这个信号;收到应答后,清INTR 引脚

3,返回到第一步

中断处理:

1,在内核态堆栈保存IRQ的值和寄存器的内 容

2,为正在给IRQ线服务的PIC发送一个应答, 这将允许PIC进一步发出中断

3,执行共享这个IRQ的所有设备的中断服务 例程

4,跳到ret_from_intr()的地址后中断跳出

进程管理

进程定义

进程是进程实体 的运行过程,是系统进行资源分配和调度的一 个独立单位

进程状态

进程可以处于多种状态并且状态之间可以相互转移,

运行态:进程正在使用CPU运行的状态。处于运行态的进程又称 为当前进程(current process)。

可运行态:进程已分配到除CPU外所需要的其它资源,等待系统 把CPU分配给它之后即可投入运行。

等待态:又称睡眠态,它是进程正在等待某个事件或某个资源时 所处的状态。 等待态进一步分为可中断的等待态和不可中断的等 待态。处于可中断等待态的进程可以由信号(signal)解除其等待态。 处于不可中断等待态的进程,一般是直接或间接等待硬件条件。 它只能用特定的方式来解除,例如使用唤醒函数wake_up()等。

暂停态:进程需要接受某种特殊处理而暂时停止运行所处的状态。 通常进程在接受到外部进程的某个信号进入暂停态,例如,正在 接受调试的进程就处于这种状态。

僵死态:进程的运行已经结束,但它的任务结构体仍在系统中

转移图如下:

技术分享图片

进程调度

Linux进程调度算法:

Linux的进程调度是基于优先级的调度。其中Linux的进程分为普通进程和实时进程,在基于优先级的算法下实时进程的优先级高于普通进程。Linux中进程的优先级是动态的,调度程序周期性的调整他们的优先级,避免进程饥饿。且Linux对实时进程和普通进程采用不同的调度策略。

文件系统

要实现操作系统对其它各种不同文件系统的支持,就要将对各种不同文件系统的操作和管理纳入到一个统一的框架中。对用户程序隐去各种不同文件系统的实现细节,为用户程序提供一个统一的、抽象的、虚拟的文件系统界面,这就是所谓的虚拟文件系统(Virtual File System Switch,VFS)。

技术分享图片

 

 

第一层为文件系统接口层,如open、write、close等系统调用接口。

第二层为VFS (Virtual File System)接口层。该层有两个接口:一个是与用户的接口;一个是与特定文件系统的接口。VFS与用户的接口将所有对文件的操作定向到相应的特定文件系统函数上。VFS与特定文件系统的接口主要是通过vfs-operations来实现的。

第三层是具体文件系统层,提供具体文件系统的结构和实现,包括网络文件系统,如NFS (network file system)。

 

3.心得体会

 在学习Linux课程之前,对Linux只停留在使用的层面上,没有对其原理进行深入学习。通过本课程补齐了对Linux系统原理的认识,并且对之前操作系统课程学的理论又来更深刻的认识,更加感受到Linux是一个多么伟大的系统。

 

 

课程学习总结报告

原文:https://www.cnblogs.com/fiveFish/p/13274986.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!