本实验报告为北京邮电大学操作系统课程设计,涵盖了进程管理、内存分配与调度算法等核心内容,旨在加深学生对操作系统的理解和实践能力。
### 北邮操作系统实验报告
#### 实验1.2 虚拟机VM软件安装
**实验目的:**
- 在配备Windows操作系统的主机上安装虚拟机软件,并进行BIOS设定,对硬盘分区及格式化。
- 目标是在单一物理机上模拟出多种操作系统运行环境。
- 进一步理解和掌握虚拟机概念。
**实验内容:**
1. **准备阶段:**
- 获取所需的安装介质。
- 熟悉虚拟机软件的基本操作步骤。
2. **安装过程(以Vmware为例):**
- 安装Vmware并输入序列号。
- 创建新的虚拟机,选择自定义模式,并指定操作系统为Linux发行版。
- 设置虚拟机名称及配置文件位置。
- 配置虚拟机的内存大小。
- 网络连接使用默认设置。
- 设定磁盘时选择与主机共享物理硬盘或创建一个新硬盘映像。
- 指定ISO文件并完成安装过程,使系统从光驱启动。
3. **实验结果:**
- 成功在虚拟机环境中安装Linux操作系统。
- 实现了在同一台物理机上运行多个操作系统的环境。
---
#### 观察Linux行为
**实验目的:**
- 理解和学习Linux内核、进程及其资源管理的重要特性。
- 使用`proc`文件系统接口编写程序,检查反映机器负载、CPU利用率等关键指标的内核状态信息。
- 掌握使用`proc`文件系统作为监控机制的方法。
**实验内容:**
- 编写程序来获取以下Linux系统的各项数据:
- CPU类型和型号
- 使用的Linux版本及编译器版本
- 自上次启动以来的时间长度
- 用户态、内核态以及空闲状态下的CPU时间统计
- 总配置内存与当前可用内存数
- 磁盘读写请求数量
- 内核上下文切换次数
- 启动后创建的总进程数量
**设计思路:**
1. 获取命令行参数。
2. 解析命令行输入的信息。
3. 访问`proc`目录下的文件,提取所需信息。
4. 将结果输出到标准输出。
**涉及到的主要文件:**
- `etchostname`: 系统名
- `proccpuinfo`: CPU的类型和型号
- `procversion`: Linux内核版本及编译器版本
- `procmeminfo`: 配置内存数量与当前可用内存数
- `procstat`:磁盘读写请求次数、已创建进程总数
- `procloadavg`:系统负载状态
**实验结果:**
- 成功编写程序并输出Linux内核的各种信息。
- 程序能够准确地反映出系统的运行状况。
---
### 实验总结:
通过北邮操作系统课程中的虚拟机安装和使用`proc`文件系统进行的两个重要实验,学生不仅学会了如何在Windows主机上配置虚拟机软件来模拟多种操作系统环境,还掌握了利用Linux内核提供的接口监控其状态的方法。这些实践加深了对操作系统的理解,并提升了实际动手能力。