Linux 操作系统内核

上传人:飞*** 文档编号:28278597 上传时间:2018-01-16 格式:DOC 页数:43 大小:169KB
返回 下载 相关 举报
Linux 操作系统内核_第1页
第1页 / 共43页
Linux 操作系统内核_第2页
第2页 / 共43页
Linux 操作系统内核_第3页
第3页 / 共43页
Linux 操作系统内核_第4页
第4页 / 共43页
Linux 操作系统内核_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Linux 操作系统内核》由会员分享,可在线阅读,更多相关《Linux 操作系统内核(43页珍藏版)》请在金锄头文库上搜索。

1、Linux 操作系统内核基本实验指导Contentsz 实验大纲z 系统安装实验z Linux 内核实验z 进程管理实验z 存储管理实验z 进程通信实验z I/O 设备管理实验z 文件系统管理实验1实验大纲1.1 实验目的在学习操作系统课程内容同时,以开放式源代码操作系统 Linux 为实验平台,同步完成 Linux 操作系统内核的代码分析和修改等 7 组基本课程实验。通过实验,熟悉 Linux 系统使用方法,掌握 Linux 内核系统结构,了解 Linux 进程管理、存储管理、设备管理、文件系统等资源管理功能的实现机理和典型算法。初步掌握运用内核开发环境对内核进行修改完善的能力。通过本课程实

2、验,使得学生熟悉 Linux 操作系统相关技术,并进一步巩固课堂所学有关操作系统人机界面和资源管理得相关知识;并通过 Linux 源代码分析和简单编程,培养学生对实际操作系统的基本系统分析能力。1.2 实验内容Linux 基本实验由以下 7 组实验组成。1.2.1 第 1 组 系统安装实验实验 1.1 Linux 系统安装从 CD-ROM 安装 Red Hat Linux 操作系统,如 Red Hat Linux7.2,建立后续各个实验的运行环境。实验 1.2 虚拟机安装在配备 Windows 操作系统 Host 机上,安装虚拟机软件 Virtual PC forWindows 或 VMwar

3、e For Windows,进行 BIOS 设定, 对硬盘进行分区和格式化,安装 Linux 操作系统,以便在一台机器上模拟出多种操作系统运行环境。实验 1.3 Shell 编程编制简单的 Shell 程序,该程序在用户登录时自动执行,显示某些提示信息 ,如“ Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。1.2.2 第 2 组 Linux 内核实验实验 2.1 观察 Linux 行为学习 linux 内核、进程、存储和其他资源的一些重要特性。通过使用 /proc文件系统接口, 编写一个程序检查反映机器平衡负载、进程资源利用率方面的各种内核

4、值, 学会使用/proc 文件系统这种内核状态检查机制。实验 2.2 内核定时器学习掌握内核定时器的实现原理和方法,建立一种用户空间机制来测量多线程程序的执行时间。实验 2.3 内核模块模块是 Linux 系统的的一种特有机制,可用于动态扩展操作系统内核功能。编写实现某些特定功能的模块,将其作为内核的一部分在管态下运行。例如, 通过内核模块编程在/porc 文件系统中实现系统时钟的读操作接口。实验 2.4 系统调用向现有 Linux 内核加入一个新的系统调用从而在内核空间中实现对用户空间的读写。例如,设计并实现一个新的内核函数 mycall( ),此函数通过一个引用参数的调用返回当前系统时间,

5、功能上基本与 gettimeofday( )相同。1.2.3 第 3 组 进程管理实验 3.1 进程行为观察1. 在 Linux 下,分别用 snice、 skill、 top 等命令和/proc 中的有关目录、文件观察系统中进程运行情况和 CPU 工作情况。2. 在 Linux 下,用 ptrace()、gdb 跟踪一个进程的运行情况,用 strace 工具跟踪 fork()过程,用 ltrace 工具跟踪 execl() 过程。观察并分析跟踪信息。实验 3.2 代码分析阅读分析 Linux 中的进程建立模块、进程撤销模块、进程调度模块、系统调用总入口模块,了解进程的创建、执行、等待、退出等

6、过程。实验 3.3 Shell 编程1. 以超级用户身份编程,计算某一时段中所有程序平均运行时间。2. 通过编写 shell 程序,了解子进程的创建和父进程与子进程间的协同,获得多进程程序的编程经验。1.2.4 第 4 组 存储管理实验 4.1 观察实验1. 在 Linux 下,使用 gdb 程序观察一个程序文件的内容和结构。启动该程序执行,再用 GDB 观察其内存映象的内容和结构。2. 在 Linux 下,用 free 和 vmstat 命令观察内存使用情况。3. 在 Linux 下,查看/proc 与内存管理相关的文件,并解释显示结果。4. 在 Linux 下,用 malloc()函数实现

7、 cat 或 copy 命令。实验 4.2 代码分析阅读 Linux/Minix 中以下模块的调用主线,并写出分析报告z exec 系统调用的内部实现模块调用主线z malloc 函数的内部实现模块调用主线z 缺页中断处理程序实验 4.3 虚拟存储器管理学习 Linux 虚拟存储实现机制;编写代码,测试虚拟存储系统的缺页错误(缺页中断)发生频率。1.2.5 第 5 组 进程通信实验 5.1 观察实验在 Linux 下,用 ipcs()命令观察进程通信情况。实验 5.2 代码分析阅读 Linux/Minix 中以下模块的调用主线,并写出分析报告。 ( 1) kill 系统调用内部实现模块调用主线

8、。 ( 2) pipe 系统调用内部实现模块调用主线。实验 5.3 进程同步实验在学习 linux 内核的同步机制基础上,深入分析各种同步机制的实现方案,设计和编写一套同步原语。1.2.6 第 6 组 I/O 设备管理实验 6.1. 观察实验1 stat 命令查看机器上硬盘特别文件的 I 节点内容。2在 Linux 下,查看/proc 与内存管理相关的文件,解释显示结果。实验 6.2 代码分析阅读 Linux/Minix 中以下模块的调用主线( 1) print 函数内部实现模块调用主线。 ( 2) scan 函数内部实现模块调用主线。写出分析报告。实验 6.3 编程实验编写一个 daemon

9、 进程,该进程定时执行 ps 命令,然后将该命令的输出写至文件 F1 尾部。实验 6.4 设备驱动程序了解 Linux 的设备驱动程序的组织结构和设备管理机制,编写简单的字符设备和块设备驱动程序。 1.2.7 第 7 组 文件系统管理实验 7.1 代码分析阅读 Linux/Minix 中有关文件模块的调用主线,并写出分析报告,包括z 文件建立模块,即系统调用 create()z 文件删除模块,即系统调用 rm()z 读/写模块,即 read/write实验 7.2 编程实验 1在 Linux 环境下,编写 Shell 程序,计算磁盘上所有目录下平均文件个数、所有目录平均深度、所有文件名平均长度

10、实验 7.3 编程实验 2在 Linux 环境下,编写一个利用 Linux 系统调用删除文件的程序,加深对文件系统和文件操作的理解。1.3 实验要求z 学生以小组为单位,每组人数不超过 4 人。z 以上 7 组实验中,每组至少完成 1 个实验,完成的实验总数不少于 8 个,其中编程实验不少于 5。z 实验完成后提交课程实验报告文档,并验收程序代码和上机演示。z 实验报告中应附有实验程序运行截图z 课程实验报告要求对于编程实验,报告应包括:题目,实验目的、实验内容、实验设计原理、实验步骤、实验结果及分析和人员任务分配等。2. 系统安装实验2.1 实验 1.1 Linux 系统安装1、实验目的从

11、CD-ROM 安装 Red Hat Linux 操作系统,如 Red Hat Linux7.2,建立后续各个实验的运行环境。2、实验内容(以 Red Hat Linux7.2 为例)Red Hat Linux7.2 安装光盘共有两张,第一张可直接从光盘启动,包含大部分的软件包和一些安装工具。第二张光盘包含许多附加软件包。以下为安装过程和注意事项。( 1)启动安装程序。用 Linux 的第一张光盘,从光驱引导启动程序,进入启动界面,显示提示符 ”boot: ”,选择图形模式进行安装。( 2)选择安装界面的使用语言( 3)选择默认的键盘设置( 4)选择默认的鼠标设置( 5)选择安装类型。 Red

12、Hat Linux 提供了个人桌面、工作站、服务器和定制等多种安装类型。本实验选择个人桌面或定制方式。( 6)进行硬盘分区。 Red Hat Linux 采用了“装载”的处理方式,将 1 个分区和 1 个目录联系起来,每个分区都是整个文件系统的一部分。Linux 最少需要 2 个分区: Linux native(文件) 分区、 Linux Swap(交换)分区。前者用于存放 Linux 系统文件,只能用 EXT2 分区类型,在分区时应将载入点设置为“ /”目录; 后者用作交换空间,将主存内暂时不用的数据缓存起来。建议采用如下分区方案z SWAP 分区SWAP 分区大小至少等于实际系统内存容量,

13、一般可取为内存的 2 倍。z /boot 分区包含操作系统内核和启动时所用文件。建立单独的/boot 分区后,即使主要根分区出了问题,系统仍然能够启动。此分区大小约在 50MB-100MB 之间z /分区根目录挂载位置。系统运行所需要的其它文件都在该分区,大小约在 1.7GB 到5GB 之间初次安装系统时,最好选择自动安装方式。如果安装者对系统比较熟悉,可以用系统配置的营盘管理工具 Disk Druid 来订制所需分区。( 7)将文件系统设置为 EXT2( 8)配置引导装载程序。选择 LILO 作为引导安装程序。 LILO 可以安装在第一硬盘的主引导区( MBR)或 Linux 分区的引导扇区

14、。如果使用 LILO 来做双启动,须选择前者;如果用 Linux 启动软盘或其它系统引导器引导 Linux,选择后者,即将 LILO 安装在 Linux 分区的引导扇区。( 9)网络和防火墙配置( 10)选择默认的语言及其他语言支持( 11)时区配置( 12)设置 root 配置( 13)选择软件包组(14) 筹建引导盘(15) 配置显卡(16) 进行安装2.2 实验 1.2 虚拟机 VM 软件安装1、实验目的在配备 Windows 操作系统 Host 机上,安装虚拟机软件 Virtual PC for Windows 或 VMwareFor Windows, 进行 BIOS 设定, 对硬盘进

15、行分区和格式化,安装 Linux 操作系统,以便在一台机器上模拟出多种操作系统运行环境。通过本实验,进一步掌握课堂上所讲的虚拟机的概念。2、实验内容:实验前的准备:1、 获取安装介质2、 熟悉虚拟机的操作安装步骤(以 Vmware 为例):1、 虚拟机软件的安装及设置( 1) 、安装 VMware,输入虚拟机序列号( 2) 、创建一个新的虚拟机。第一步:“File”-“New Virtual Machine”-“Custom”-“Next”-操作系统那栏选 Linux-“Next” 。 第二步:设置虚拟机名以及配置文件 -“Next” 。第三步:设置虚拟机的内存大小。第四步:网络连接,使用默认

16、设置-“Next” 。 第五步:磁盘设定,如果你不是想让红旗 Linux 桌面 4.0 终生运行在虚拟机里,请选“Use a physical disk” ,让虚拟机与当前系统共用同一硬盘,而不是虚拟出一个硬盘。有一定风险,但是只要不胡乱操作,风险不大-“Next” 。 第六步:指定要使用的硬盘-“Next” ,设置配置文件的位置-“Finish” ,忽略那个风险提示。( 3) 、光驱软驱默认情况下也是和当前系统共用的,使用 iso 文件引导虚拟机,则“Edit virtualmachine settings”,在左侧列表中选“DVD/CD-ROM ”那项,再在右侧选 “Use ISO image:”,指定安装红旗 Linux 桌面 4.1 的 iso 文件。( 4) 、虚拟机默认不是从光盘引导的,要在它的 BIOS 里改,得先“Start this virtual machine”。如果出现“Do not forget to .”的提示框,直接点“OK” 。待 VMware 窗口中一大块变黑

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号