Linux课程总结分析报告
一 Linux概述
Linux操作系统是一种自由和开放源码的类UNIX操作系统。它主要包括4个部分:内核、系统调用、文件系统、应用程序。Linux系统的核心是内核。它主要有以下几个功能:进程管理、内存管理、文件管理、I/O设备管理。
二 进程管理
操作系统内核中最核心的功能是进程管理。进程是程序在处理机上的一次执行过程,它是一个动态的概念。而程序是指令的有序集合,是一个静态的概念。进程的上下文包括进程的状态、有关变量和数据结构的值、机器寄存器的值和PCB以及有关程序、数据等。进程管理的核心功能大致分为四类:控制,同步,通信,调度。内核通过 SCI 提供了一个应用程序编程接口来创建一个新进程,结束进程,并在它们之间进行通信和同步。
Linux进程调度过程:调度器根据一定的调度算法,从就绪队列中拿出一个节点作为下一个要运行的新线程,将该线程的状态设置成TASK_RUNNING,之后通过函数switch_to将新线程的寄存器环境恢复,这样新线程便开始执行。
三 系统调用
系统调用的意义在于为用户态进程与硬件设备进行交互提供了一组接口。进程是不能访问内核的。它不能访问内核所占内存空间也不能调用内核函数,但是系统调用可以。进程可以跳转到的内核位置叫做sysem_call。这个过程检查系统调用号,这个号码告诉内核进程请求哪种服务。然后,它查看系统调用表找到所调用的内核函数入口地址。接着调用系统函数,调用完成后,做一些系统检查,最后返回到进程。
四 中断管理
中断分外部中断和内部中断。内部中断⼜称为异常,异常⼜分为故障和陷阱。中断会改变处理器执行指令的顺序,通常与CPU芯片内部或外部硬件电路产生的电信号相对应。中断是异步的:由硬件随机产生,在程序执行的任何时候可能出现;异常是同步的:在指令执行时由CPU控制单元产生。系统调用作为一种特殊的中断,就是利⽤陷阱这种软件中断⽅式主动从⽤户态进⼊内核态的。
中断处理的具体过程为:外部设备产生中断后,由外部设备的中断控制器代为接收,处理后将该中断的中断向量号发送到cpu,cpu收到一个外部中断向量号之后,用这个中断向量号在中断描述符表中查询对应的中断描述符,然后再去执行中断描述符中的中断处理程序。中断返回指令是iret,从栈中弹出数据到各个寄存器,根据权级是否发生变化来判断是否恢复旧栈。
五 内存管理
Linux内存分为物理内存、虚拟内存。物理内存就是系统硬件提供的内存大小,是真正的内存,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间。作为物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。
六 文件系统
文件系统就是操作系统中实现文件统一管理的一组软件、被管理的文件以及为实施文件管理所需要的一些数据结构的总称。虚拟文件系统是 Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口;同时,它也提供了内核中的一个抽象功能,允许不同的文件系统共存。系统中所有的文件系统不但依赖 VFS 共存,而且也依靠 VFS 协同工作。为了能够支持各种实际文件系统,VFS 定义了所有文件系统都支持的基本的、概念上的接口和数据结构;同时实际文件系统也提供 VFS 所期望的抽象接口和数据结构,将自身的诸如文件、目录等概念在形式上与VFS的定义保持一致。
七 分析影响程序执行性能的因素
操作系统的主要功能便是把所有的硬件组织起来的同时和用户进行交互,于此同时进行资源的合理分配,其中资源的分配往往成为限制程序执行性能的因素。影响性能的可能有以下几点:
- cpu资源。依赖于进程的调度策略,以及对CPU是否是可抢占的。计算机资源有限,要提高资源利用率,就要使CPU尽可能的处于被占用状态。
- 磁盘资源。磁盘读写的速度远慢于内存的读写速度,系统运行如果需要等待磁盘I/O的完成,将会耗费大量的时间。
- 内存资源。内存的命中与否会导致是否发生缺页中断,从而导致大量的时间被用于处理缺页中断。
- 应用程序本身的执行过程也会影响程序的执行性能,比如遵循时间局部性和空间局部性的程序往往能过得更高的执行性能。

浙公网安备 33010602011771号