北京交通大学高级操作系统实验总结

合集下载

《操作系统》实验报告

《操作系统》实验报告

《操作系统》实验报告一、实验目的操作系统是计算机系统中最为关键的组成部分之一,本次实验的主要目的是深入理解操作系统的基本原理和功能,通过实际操作和观察,熟悉操作系统的核心概念,包括进程管理、内存管理、文件系统和设备管理等,提高对操作系统的实际应用能力和问题解决能力。

二、实验环境本次实验在以下环境中进行:操作系统:Windows 10开发工具:Visual Studio 2019编程语言:C++三、实验内容1、进程管理实验进程是操作系统中最基本的执行单元。

在这个实验中,我们使用C++编写程序来创建和管理进程。

通过观察进程的创建、执行和结束过程,理解进程的状态转换和资源分配。

首先,我们编写了一个简单的程序,创建了多个子进程,并通过进程标识符(PID)来跟踪它们的运行状态。

然后,使用等待函数来等待子进程的结束,并获取其返回值。

在实验过程中,我们发现进程的创建和销毁需要消耗一定的系统资源,而且进程之间的同步和通信需要谨慎处理,以避免出现死锁和竞争条件等问题。

2、内存管理实验内存管理是操作系统的核心功能之一,它直接影响系统的性能和稳定性。

在这个实验中,我们研究了动态内存分配和释放的机制。

使用 C++中的 new 和 delete 操作符来分配和释放内存。

通过观察内存使用情况和内存泄漏检测工具,了解了内存分配的效率和可能出现的内存泄漏问题。

同时,我们还探讨了内存分页和分段的概念,以及虚拟内存的工作原理。

通过模拟内存访问过程,理解了页表的作用和地址转换的过程。

3、文件系统实验文件系统是操作系统用于管理文件和目录的机制。

在这个实验中,我们对文件的创建、读写和删除进行了操作。

使用 C++的文件流操作来实现对文件的读写。

通过创建不同类型的文件(文本文件和二进制文件),并对其进行读写操作,熟悉了文件的打开模式和读写方式。

此外,还研究了文件的权限设置和目录的管理,了解了如何保护文件的安全性和组织文件的结构。

4、设备管理实验设备管理是操作系统与外部设备进行交互的桥梁。

高级操作系统实验报告

高级操作系统实验报告

一、实验背景与目的随着计算机技术的飞速发展,操作系统作为计算机系统的核心,其重要性日益凸显。

为了更好地理解操作系统的工作原理和设计思想,我们选择了高级操作系统课程,并完成了以下实验:1. 实验背景本次实验基于Linux操作系统,通过对Linux系统内部结构和操作过程的研究,掌握Linux系统的基本操作、文件系统管理、进程管理、内存管理、设备管理等方面的知识。

2. 实验目的(1)熟悉Linux操作系统的基本操作,包括登录、退出、文件与目录操作等。

(2)掌握Linux系统下的进程管理,包括进程的创建、调度、同步、通信等。

(3)了解Linux系统下的内存管理,包括虚拟内存、页面置换算法等。

(4)学习Linux系统下的设备管理,包括设备驱动程序、I/O调度等。

二、实验内容与步骤1. 实验一:Linux基本操作(1)实验目的:熟悉Linux系统的基本操作。

(2)实验步骤:① 登录Linux系统。

② 使用命令行查看系统信息,如CPU型号、内存大小等。

③ 创建和删除文件与目录。

④ 查看文件内容。

2. 实验二:文件系统管理(1)实验目的:掌握Linux系统下的文件系统管理。

(2)实验步骤:① 使用命令行查看文件系统类型。

② 查看文件系统分区。

③ 使用命令行创建和删除文件系统。

④ 使用命令行挂载和卸载文件系统。

3. 实验三:进程管理(1)实验目的:掌握Linux系统下的进程管理。

(2)实验步骤:① 使用命令行查看系统进程。

② 创建和终止进程。

③ 调整进程优先级。

④ 实现进程同步与互斥。

4. 实验四:内存管理(1)实验目的:了解Linux系统下的内存管理。

(2)实验步骤:① 使用命令行查看内存信息。

② 查看内存分配情况。

③ 实现页面置换算法。

5. 实验五:设备管理(1)实验目的:学习Linux系统下的设备管理。

(2)实验步骤:① 使用命令行查看设备信息。

② 编写简单的设备驱动程序。

③ 实现I/O调度。

三、实验结果与分析1. 实验结果通过本次实验,我们成功完成了以下任务:(1)熟悉了Linux操作系统的基本操作。

操作系统实验总结

操作系统实验总结

操作系统实验总结嘿,朋友们!今天咱来唠唠操作系统实验总结这档子事儿。

你说这操作系统啊,就好比是一个大管家,啥都得管,啥都得安排得妥妥当当。

咱在做操作系统实验的时候,那可真是像在探索一个神秘的世界。

就拿进程调度来说吧,那一个个进程就像是一群着急赶路的人,都想早点到达目的地。

咱得想办法给他们安排好顺序,让他们有序地前进,可不能乱了套。

这时候就像是在指挥一场交通,你得眼观六路、耳听八方,稍有不慎可能就会出乱子。

还有内存管理,这就像是给房子分房间一样。

你得合理地分配空间,让每个程序都有自己的“小窝”,不能挤在一起,也不能浪费空间。

不然,有的程序没地方住,那不就“哭鼻子”啦;要是浪费了太多空间,那不就太可惜了嘛。

文件系统呢,就像是一个大仓库,各种数据都放在里面。

你得清楚地知道每个东西放在哪儿,找的时候能一下子就找到,可不能像无头苍蝇一样乱撞。

在做实验的过程中,我可是遇到了不少问题呢。

有时候就像走进了一个迷宫,绕来绕去就是找不到出口。

但咱可不能轻易放弃呀,得静下心来慢慢琢磨。

你想想,要是遇到点困难就退缩,那还能做成啥事儿呢?我记得有一次,怎么都搞不定一个实验步骤,急得我呀,满头大汗。

但我告诉自己,别慌,一定能找到办法的。

果不其然,经过一番苦思冥想,终于找到了问题所在,那感觉,就像是攻克了一座堡垒,别提多有成就感了!做操作系统实验可不能马虎,每一个细节都可能影响到整个结果。

这就好比是盖房子,一砖一瓦都得放对地方,不然房子可就不结实啦。

而且,咱还得有耐心,不能急于求成。

就像做饭一样,火太大了容易糊,得小火慢炖,才能出美味。

通过这些实验,我真的学到了好多东西。

我知道了操作系统是怎么工作的,也知道了自己还有很多不足的地方。

这就像是给自己照了一面镜子,让我看到了自己的缺点和不足,也让我有了努力的方向。

所以啊,朋友们,千万不要小看这操作系统实验。

它可不只是几个实验步骤那么简单,它里面蕴含着大学问呢!咱得认真对待,用心去体会,去感受。

北交大操作系统作业内存管理器实验

北交大操作系统作业内存管理器实验

实验三内存管理 (1)一.实验目的 (1)二.实验内容 (1)三.实验设计 (1)四.模拟实验 (2)First.cpp (2)First.h (4)Next.cpp (6)Next.h (8)五.实验结果 (11)六.实验总结 (13)实验三内存管理一.实验目的构造一个没有虚存功能的内存管理系统,并进行测试和对不同分配策略的性能展开比较评估。

本次实验,选择的分配策略:First-fit 和next-fit二.实验内容1、设计一个内存管理器,支持至少两种分配策略(本实验使用firstfit策略和nextfit策略);2、分别对不同的策略进行性能评估三.实验设计1.内存unsigned char mm[65536];2.用户接口用户接口函数:int mm_init() //初始化int mm_request(int n) //申请空间void mm_release(int p) //释放空间3.计算请求尺寸srand((unsigned char)time(NULL));tmp = (rand() % 1024) + 1; //最大申请10244.选择待释放的块tmp = (rand() % j);while(p[tmp] == -1){tmp = rand() % j;}requestsize = requestsize - BinToInt(&mm[p[tmp] + 4]);mm_release(p[tmp]);cout << "释放指针" << p[tmp] << endl;p[tmp] = -1;四.模拟实验实现两个版本的内存管理器,分配策略分别为:first-fit和next-fit First.cpp#include <iostream>#include <stdio.h>#include <windows.h>#include <time.h>#include "first.h"using namespace std;int main(){int i;int j = 0; //分配指针数int p[1000]; //用于存放分配出的指针int tmp;int requestsize = 0; //统计申请空间int k = 0; //统计搜索步数srand((unsigned char)time(NULL));step = 0;mm_init();for(i = 0; i < 30; i++) //模拟30步{cout << "第" << i + 1 << " 步" << endl;do{tmp = (rand() % 1024) + 1; //最大申请1024cout << "申请空间" << tmp << " 字节" << endl;p[j] = mm_request(tmp);if(p[j] != -1){requestsize = requestsize+tmp;k = k + step;cout << "分配指针" << p[j] << endl;cout << endl;j++;}else{cout << "剩余空间不足,分配失败" << endl;}}while(p[j] != -1);tmp = (rand() % j);while(p[tmp] == -1){tmp = rand() % j;}requestsize = requestsize - BinToInt(&mm[p[tmp] + 4]);mm_release(p[tmp]);cout << "释放指针" << p[tmp] << endl;p[tmp] = -1;//以下为性能统计指标cout << endl;cout << "平均申请空间:" << (double)requestsize / (double)j << " 字节" << endl;cout << "平均空间利用率:" << (double)requestsize/(double)65536 << endl;cout << "平均搜索步数:" << (double)k/(double)j << endl;cout << endl;if((i + 1) % 5 == 0){system("pause");}}}First.hunsigned char mm[65536];int step; //记录搜索步数int BinToInt(unsigned char *s) //把char类型变成int{int i;char tmp[4];int t;for(i = 0; i < 4; i++){ tmp[3 - i] = s[i]; }memcpy(&t,tmp,4);return t;}void IntToBin(int s, unsigned char *t) //把int类型变成char{int i;char tmp[4];memcpy(tmp,&s,4);for(i = 0; i < 4; i++){t[i] = tmp[3 - i]; }}int mm_init(){memset(mm, 0, 65536);IntToBin(-1, mm); //前向指针置-1 放在数组的第一个位置IntToBin(65536, &mm[4]); //整个块大小,放在第四个位置IntToBin(-1, &mm[65536-4]); //后向指针置-1 放在数组的倒数第四个位置return 0;}int mm_request(int n){ //四字节前向指针、四字节块大小、一字节状态、N字节可用内存、四字节后向指针int pointer = 0;step = 0;while((mm[pointer+8]==1)||((n+26)>=BinToInt(&mm[pointer+4]))) //pointer+4 表示块大小{//mm[pointer+8]==1 状态位是一,说明这一块已经被分配//n+26 申请的空间+管理开销pointer=BinToInt(&mm[pointer+BinToInt(&mm[pointer+4])-4]); //找到后向指针if(mm[pointer+8] != 1){step++;//非空闲块不在链内,不计步数}if(pointer == -1){return -1;}}mm[pointer + 8] = 1; //修改本块标志位IntToBin(pointer + 4 + 4 + 1 + n + 4, &mm[pointer + 9 + n]); //修改本块后向指针IntToBin(pointer, &mm[pointer + 4 + 4 + 1 + n + 4]); //修改后块前向指针IntToBin(BinToInt(&mm[pointer + 4]) - n - 13, &mm[pointer + 4 + 4 + 1 + n + 4 + 4]); //修改后块大小IntToBin(n + 13,&mm[pointer + 4]); //修改本块大小return pointer;}void mm_release(int p){int pre;int bac;pre = BinToInt(&mm[p]);bac = BinToInt(&mm[p + BinToInt(&mm[p + 4]) - 4]);mm[p + 8] = 0; //修改本块标志位if(BinToInt(&mm[bac+8]) == 0) //如果后块未使用{IntToBin(0,&mm[p+BinToInt(&mm[p + 4]) - 4]); //清空本块后向指针IntToBin(0,&mm[bac]); //清空后块前向指针IntToBin(BinToInt(&mm[p + 4]) + BinToInt(&mm[bac + 4]), &mm[p + 4]); //修改本块大小if(BinToInt(&mm[bac + BinToInt(&mm[bac + 4]) - 4]) != -1) //如果后块不是最后一块{IntToBin(p, &mm[BinToInt(&mm[bac + BinToInt(&mm[bac + 4]) - 4])]); //修改后块的后块前向指针}IntToBin(0, &mm[bac + 4]); //清空后块大小}if(pre == -1){return;}if(BinToInt(&mm[pre + 8]) == 0) //如果前块未使用{IntToBin(0, &mm[pre + BinToInt(&mm[pre + 4]) - 4]); //清空前块后向指针IntToBin(BinToInt(&mm[pre + 4]) + BinToInt(&mm[p + 4]), &mm[pre + 4]); //修改前块大小IntToBin(pre, &mm[BinToInt(&mm[p + BinToInt(&mm[p + 4]) - 4])]); //修改后块前向指针IntToBin(0, &mm[p + 4]); //清空本块大小IntToBin(0, &mm[p]); //清空本块前向指针}}Next.cpp#include <iostream>#include <stdio.h>#include <windows.h>#include <time.h>#include "next.h"using namespace std;int main(){int i;int j = 0; //分配指针数int p[1000]; //用于存放分配出的指针int tmp;int requestsize = 0; //统计申请空间int k = 0; //统计搜索步数srand((unsigned char)time(NULL));step = 0;next = 0;end = -1;mm_init();for(i = 0; i < 30; i++)//模拟30步{cout << "这是第" << i + 1 << " 步" << endl;do{tmp = (rand() % 1024) + 1; //最大申请1024cout << "申请空间" << tmp << " 字节" << endl;p[j] = mm_request(tmp);if(p[j] != -1){requestsize = requestsize + tmp;k = k + step;cout << "分配指针:" << p[j] << endl;cout << endl;j++;}else{cout << "剩余空间不足,分配失败。

操作系统实验报告心得体会范文大全(8篇)

操作系统实验报告心得体会范文大全(8篇)

操作系统实验报告心得体会范文大全(8篇)操作系统实验报告心得体会范文大全篇一:通过这一学期学习,才慢慢接触专业课。

刚开始觉得挺难得我都有点不想学这个专业了,慢慢的我觉得有趣多了。

虽然我学的不是很好,最起码我能给自己装系统了。

我给自己的电脑装过window7、xp系统。

从一开始连个cmos设置都不会进去,到现在能装各种机型的系统。

让我最高兴的事是我会建立网站了,以及能制作出复杂点的,漂亮的网页了。

从刚开始学装windowserver20xx时,我真的懵懵懂懂的,那开始是真的不想学这个专业了,那段时间还学java编程,我真的快崩溃了,后悔自己干嘛学这个专业,我根本就是没有天赋,感觉大学这四年完蛋了,大一大二还没有感觉,现在真实的感受到了,但后来发现,我是越来越感觉有兴趣了,只要肯付出课后肯钻研,就一定会有一点收获的。

通过这次网页课程设计激发学习兴趣,调动学习的自觉性,自己动脑、动手,动口,运用网络资源,结合教材及老师的指导,通过自身的实践,创作出积聚个人风格、个性的个人网页。

总体来说,整个学期的学习过程,我学会了很多知识,在此次网页设计中,我充分利用了这次设计的机会,全心全意投入到网页世界,去不断的学习,去不断的探索;同时去不断的充实,去不断的完善自我,在网络的天空下逐渐的美化自己的人生!做好页面,并不是一件容易的事,它包括个人主页的选题、内容采集整理、图片的处理、页面的排版设置、背景及其整套网页的色调等很多东西。

本次课程设计不是很好,页面过于简单,创新意识反面薄弱,这是我需要提高的地方。

需要学的地方还有很多,需要有耐心、坚持,不断的学习,综合运用多种知识,才能设计出好的web页面。

总体来说,通过这次的对网页和网站课程设计,有收获也有遗憾、不足的地方,但我想,我已经迈入了网页设计的大门,只要我再认真努力的去学习,去提高,凭借我对网页设计的热情和执着,我将来设计出的网页会更加专业,更完善。

操作系统实验报告心得体会范文大全篇二:转眼间,学习了一个学期的计算机操作系统课程即将结束。

操作系统实验心得(精选多篇)

操作系统实验心得(精选多篇)

操作系统实验心得(精选多篇)第一篇:操作系统实验心得每一次课程设计度让我学到了在平时课堂不可能学到的东西。

所以我对每一次课程设计的机会都非常珍惜。

不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。

所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。

但是每完成一个任务我都兴奋不已。

一开始任务是任务,到后面任务就成了自己的作品了。

总体而言我的课设算是达到了老师的基本要求。

总结一下有以下体会。

1、网络真的很强大,用在学习上将是一个非常高效的助手。

几乎所有的资料都能够在网上找到。

从linu某虚拟机的安装,到linu某的各种基本命令操作,再到gtk的图形函数,最后到文件系统的详细解析。

这些都能在网上找到。

也因为这样,整个课程设计下来,我浏览的相关网页已经超过了100个(不完全统计)。

当然网上的东西很乱很杂,自己要能够学会筛选。

不能决定对或错的,有个很简单的方法就是去尝试。

就拿第二个实验来说,编译内核有很多项小操作,这些小操作错了一项就可能会导致编译的失败,而这又是非常要花时间的,我用的虚拟机,编译一次接近3小时。

所以要非常的谨慎,尽量少出差错,节省时间。

多找个几个参照资料,相互比较,慢慢研究,最后才能事半功倍。

2、同学间的讨论,这是很重要的。

老师毕竟比较忙。

对于课程设计最大的讨论伴侣应该是同学了。

能和学长学姐讨论当然再好不过了,没有这个机会的话,和自己班上同学讨论也是能够受益匪浅的。

大家都在研究同样的问题,讨论起来,更能够把思路理清楚,相互帮助,可以大大提高效率。

3、敢于攻坚,越是难的问题,越是要有挑战的心理。

这样就能够达到废寝忘食的境界。

当然这也是不提倡熬夜的,毕竟有了精力才能够打持久战。

但是做课设一定要有状态,能够在吃饭,睡觉,上厕所都想着要解决的问题,这样你不成功都难。

4、最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。

比如当时我遇到我以前从未遇到的段错误的问题,让我都不知道从何下手。

操作系统实验实验总结实验报告

操作系统实验实验总结实验报告

8.1 实验的基本内容(1) 本学期完成的操作系统实验主要有(根据实际完成的实验情况填写):1) 实验1.1 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________2) 实验1.2 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________3) 实验2.1 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________4) 实验2.2 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________5) 实验2.3 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________6) 实验3.1 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________7) 实验3.2 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________8) 实验4.1 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________9) 实验4.2 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________10) 实验4.3 主要内容:_______________________________________________ ________________________________________________________________________ ________________________________________________________________________11) 实验5.1 主要内容:_______________________________________________ ________________________________________________________________________ ________________________________________________________________________12) 实验5.2 主要内容:_______________________________________________ ________________________________________________________________________ ________________________________________________________________________13) 实验6.1 主要内容:_______________________________________________ ________________________________________________________________________ ________________________________________________________________________ 实验8 实验总结14) 实验7.1 主要内容:_______________________________________________ ________________________________________________________________________ ________________________________________________________________________15) 实验7.2 主要内容:_______________________________________________ ________________________________________________________________________ ________________________________________________________________________(2) 通过实验,你认为自己初步了解和掌握的主要内容有:1) 名称:____________________________________________________________主要功能:_______________________________________________________ ________________________________________________________________________ ________________________________________________________________________2) 名称:____________________________________________________________主要功能:_______________________________________________________ ________________________________________________________________________ ________________________________________________________________________3) 名称:____________________________________________________________主要功能:_______________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 8.2 实验的基本评价(1) 在全部实验中,你印象最深或者相对而言你认为最有价值的实验是:1) __________________________________________________________________你的理由是:________________________________________________________ ________________________________________________________________________ ________________________________________________________________________2) __________________________________________________________________你的理由是:________________________________________________________ ________________________________________________________________________ ________________________________________________________________________(2) 在所有实验中,你认为应该得到加强的实验是:1) __________________________________________________________________你的理由是:________________________________________________________ ________________________________________________________________________ ________________________________________________________________________2) __________________________________________________________________你的理由是:________________________________________________________ ________________________________________________________________________ ________________________________________________________________________(3) 对于实验课程和实验内容,你认为应该改进的其他意见和建议:____________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________。

《操作系统》课内实验报告

《操作系统》课内实验报告

《操作系统》课内实验报告一、实验目的操作系统是计算机系统的核心组成部分,本次《操作系统》课内实验旨在通过实际操作和观察,深入理解操作系统的基本原理、功能和运行机制。

具体目的包括:1、熟悉操作系统的常用命令和操作,如文件管理、进程管理、内存管理等。

2、掌握操作系统的资源分配和调度策略,观察其对系统性能的影响。

3、培养解决操作系统相关问题的能力,提高动手实践和分析问题的能力。

二、实验环境本次实验在以下环境中进行:1、操作系统:Windows 10 专业版2、开发工具:Visual Studio Code三、实验内容及步骤(一)文件管理实验1、创建、删除和重命名文件及文件夹打开文件资源管理器,在指定目录下创建新的文件夹和文本文件。

对创建的文件和文件夹进行重命名操作,观察文件名的变化。

选择部分文件和文件夹进行删除操作,验证是否成功删除。

2、文件复制、移动和属性设置选取一些文件,将其复制到其他目录,并观察复制过程和结果。

把特定文件移动到不同的位置,检查文件是否正确迁移。

设置文件的属性,如只读、隐藏等,查看属性设置后的效果。

(二)进程管理实验1、查看系统进程打开任务管理器,观察当前正在运行的进程列表。

了解进程的名称、PID(进程标识符)、CPU 使用率、内存占用等信息。

2、进程的终止和优先级设置选择一个非关键进程,尝试终止其运行,观察系统的反应。

调整某些进程的优先级,观察其对系统资源分配和运行效率的影响。

(三)内存管理实验1、查看内存使用情况通过系统性能监视器,查看物理内存和虚拟内存的使用情况。

观察内存使用量随时间的变化趋势。

2、内存优化操作关闭一些不必要的后台程序,释放占用的内存资源。

调整虚拟内存的大小,观察对系统性能的改善效果。

四、实验结果与分析(一)文件管理实验结果1、成功创建、删除和重命名文件及文件夹,系统能够准确响应操作,文件名和文件夹名的修改即时生效。

2、文件的复制和移动操作顺利完成,数据无丢失和损坏。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《高级操作系统》实验总结
姓名 学号 专业年级 联系电话 电子邮件
文件系统设计与实现 吴军旗
计算机科学与技术 18813089778
14120436@
第一章 :实验目的和任务................................................................................................................................... 4 1.1 实验一 认识和使用 Linux 操作系统......................................................................................................... 4 1.2 实验二 进程调度和管理............................................................................................................................4 1.3 实验三 文件系统的设计与实现................................................................................................................5
实验一的具体任务如下: 1、了解市场流行的 linux、linux 系统架构类型以及 Linux 与其它操作系统的主 要区别,并且熟悉 Linux 主要应用领域 2、安装 linux,制作 u 盘启动选择一个 linux 版本进统启动过程和退出过程所涉及的系统文件、函数等。 5.编写程序获取 CPU 分别花费在用户态、系统态和空闲态的时间、系统最后启动 的时间、系统启动后创建的进程数。 6、编写程序获取以下信息:计算机配置的内存数量、当前可用的内存数量。最 近一分钟内的平均负载列表。 7、绘出所安装系统的文件结构,以及每个文件夹的主要功能。 8、使用 man 命令学习下面的 shell 命令、系统调用和库函数功能描述及每个命 令使用例子: 9、查找并显示文件/etc/passwd 文件;查找并显示文件/etc/shadow 文件;查找 并显示文件 unistd.h 的内容,理解其含义;浏览系统调用表 sys_call_table;
第三章 :遇到的问题和解决的方法...................................................................................................................8 3.1 实验一 认识和使用 Linux 操作系统......................................................................................................... 8 3.2 实验二 进程调度和管理............................................................................................................................9 3.3 实验三 文件系统的设计与实现..............................................................................................................11 3.3.1 原理算法.............................................................................................................................................. 11 3.3.2 设计思路.............................................................................................................................................. 11
不知不觉一个学期马上就要过去了,依旧记得第一次来北京时的激动,以及 妈妈火车站的目送,我想最需要奋斗的就是这几年吧。高级操作系统有 16 周课, 是我们最长的课程,每次要做实验时,可谓是“折磨”时间跨度最长的,依旧记 得我做实验二时的手足无措,足足零零散散花了我们一个半月,最好还是延期完 成了,但它也让我们收获良多。我一共负责了两次实验,负责的两次实验的体验 也完全不同,第一次实验是我斗志最高的一次,什么都想学,什么都想了解。
2、双系统启动问题:安装完毕后发现电脑直接进入 win8 系统,ubuntu 的影子都找不到! 解决方法:后来知道,启动项的问题,使用 EasyBCD 引导 Ubuntu,在“添加新条目”选择 添加 Linux/BSD 即可。
1、成功安装 ubuntu 2、学会使用了 ubuntu 3、了解 linux 系统文件结构的组织过程和在根目录下各个文件的大致作用 4、了解了 linux 系统启动过程和退出过程所涉及到的重要文件和一些函数 5、学会使用了 linux 的一些基本的 shell 命令 6、获取了一些 cpu、内核以及内存的一些信息 7、 学会了使用 vim 编辑器。 8. 根据 linux 操作系统的特点如何进行分区,并且选择适当的挂载点。
1.2 实验二 进程调度和管理
实验二的具体任务如下: 1. 理解进程的概念,明确进程和程序的区别。 2. 认识并发的实质 4. 了解操作系统中进程通信的基本原理。 5. 了解进程调度策略。 6、软中断通信问题。
使用系统调用 fork() 创建两个子进程,再用系统调用 signal() 让父进程捕 捉键盘上发出的中断信号,当父进程接收到这两个软中断的某一个后,父进程用 系统调用 kill() 向两个子进程分别发送软中断信号,子进程获得对应中断信 号,然后分别输出各自信息后终止。 7、管道通信问题。 8、内核编译,模块挂载,系统调用问题,内核编译的步骤和方法。简单模块的
第二章 :实验完成结果....................................................................................................................................... 6 2.1 实验一 认识和使用 Linux 操作系统.......................................................................................................... 6 2.2 实验二 进程调度和管理............................................................................................................................6 2.3 实验三 文件系统的设计与实现................................................................................................................7
挂载和卸载。
1.3 实验三 文件系统的设计与实现
实验三的具体任务如下: 1.学习 Linux 操作系统文件系统原理,了解文件系统的工作机理。 2.学习理解 Linux 下的 ext2 文件系统的实现技术,理解文件系统的主要数据结 构。 3.模拟 ext2 系统,设计实现一个简单的文件系统。
第二章:实验完成结果
进入研究生阶段了,就如老师第一节课所讲的内容:研究生不仅仅是学习, 学习阶段应该在本科阶段完成。研究生人如其名应该是以研究为主,应该有自己 的想法大胆去实现,应该把所学的知识应用在实际使用中,在使用中不断学习。
正如所言,高级操作系统的理论知识不仅仅是肤浅的算法,更重要的要了解 操作系统是如何实现的。就如我们学习的 Linux 一样,文件管理是通过 ext2 文 件系统方式实现的,ext2 文件系统用到了我们经常说的索引,打开文件表,系 统打开文件表等。
编写一个简单的内核模块,研究旨在熟悉 Linux 的模块机制,并掌握模块的加 载和卸载; 6、进程调度编写测试软件:
编写测试软件,并将其附加到内核中,用以获得有关调度程序行为的详细性能 数据。增加一个可以启用或者禁用这种测试软件的新系统调用,该系统调用需包 含一个用来初始化这种测试软件或将内部统计信息输出到文件的选项。研究公平 共享调度程序的行为,分析所得性能数据(至少 10 项),报告其性能
2.1 实验一 认识和使用 Linux 操作系统
通过这次实验,我学习 ubuntu 操作系统的安装和使用。通过制作 u 盘启 动盘,能够对 linux 系统引导,与系统文件结构和分区设置有所了解,并掌握使 用方法。熟悉了系统加载和推出的步骤。熟练应用 shell 编程实现了查看系统 cpu 和内存信息的编程。主要的收获如下:
2.3 实验三 文件系统的设计与实现
1. 了解了 Linux 操作系统文件系统原理,了解文件系统的工作机理。 2. 理解 Linux 下的 ext2 文件系统的实现技术,理解文件系统的主要数据结构。 3. 模拟 ext2 系统,设计实现一个简单的文件系统,能够实现一般文件系统的 各种操作创建、删除、读、写、列目录.......。
2.2 实验二 进程调度和管理
通过本实验,我们熟悉并了解了有关进程及相关的软中断通信机制,初步学会 了如何如何使用模块法挂载和卸载一个模块到内核。对内核的编译有了一定的了 解。通过对调度算法的学习,加深了对进程调度的理解。主要的收获如下: 1、软中断通信:
相关文档
最新文档