科软 | Linux课程总结报告

一、操作系统概念

1、操作系统内核(kernel):操作系统本质是一组程序,用于管理计算机所有的活动以及驱动系统中的所有硬件。

2、操作系统的内核直接参考硬件规格写成,因此同一个操作系统不能再不一样的硬件架构下运行。

3、应用程序的开发都是参考操作系统提供的开发接口,所以应用程序只能在该操作系统上运行。

内核功能至少应该具备的功能:

(1)系统调用接口:进一步利用硬件资源,便于同内核通信,有利于开发人员。

(2)程序管理:合理的利用cpu资源,即cpu调度机制。

(3)内存管理:控制系统的内存,提供虚拟内存功能,当内存不足时可以提供内存交换功能。

(4)文件系统管理:数据的输入和输出等,文件格式支持等。

(5)设备驱动:硬件厂商参考系统的提供的开发接口开发驱动程序。

二、Linux概念

1、Linux是一个内核,Linux+softwares+tools才是可安装的系统,称之为Linux distribution(Linux发行版),Linux主要应用环境包括网络服务器、工作站计算机、嵌入式系统和桌面计算机等。

2、虚拟化技术介绍:

虚拟化是云计算的基础。虚拟化使得在一台物理服务器上可以运行多台虚拟机,虚拟机共享物理机的CPU、内存、I/O硬件资源,但逻辑上虚拟机之间是相互隔离的。OpenStack作为IaaS云操作系统,最主要的服务就是为用户提供虚拟机。在目前 OpenStack 的实际应用中,主要使用 KVM 和Xen这两种Linux虚拟化技术。

3 Linux系统的一般执行过程分析

最一般的情况:正在运行的用户态进程X切换到运行用户态进程Y的过程

(1)正在运行的用户态进程X

(2)发生中断——save cs:eip/esp/eflags(current) to kernel stack,then load cs:eip(entry of a specific ISR) and ss:esp(point to kernel stack).

(3)SAVE_ALL //保存现场

(4)中断处理过程中或中断返回前调用了schedule(),其中的switch_to做了关键的进程上下文切换

(5)标号1之后开始运行用户态进程Y(这里Y曾经通过以上步骤被切换出去过因此可以从标号1继续执行)

(6)restore_all //恢复现场

(7)iret - pop cs:eip/ss:esp/eflags from kernel stack

(8)继续运行用户态进程Y

结合课程学习情况谈谈您在 Linux 操作系统分析课程中的收获

对于学生来说,Linux 操作系统分析课程的收获非常多。在 Linux 操作系统分析课程中,我加深了对 Linux 操作系统的理解,这对于未来从事计算机相关工作的人来说非常重要。

在Linux课程中,我主要学习到了以下内容:

  1. 基于 VSCode 的 Linux 内核调试环境搭建
  2. 了解了linux的操作和内核模式
  3. time/gettimeofday 系统调用为例分析ARM64 Linux 5.4.34
  4. 了解 Linux 操作系统中进程切换的过程。
  5. 了解了虚拟化技术下 Linux 系统的一般执行过程。

你可能感兴趣的:(——,计算机考研,——,linux,运维,服务器)