操作系统实验心得(共3页).doc
精选优质文档-倾情为你奉上1-1:通过这次小实验,是我更加了解Linux一些常用指令的操作以及其作用,对于一个刚开始接触lniux操作系统的初学者来说非常有用,助于以后能够更进一步学习Linux操作系统。1-2:在实验过程中,使用VI编辑器虽然不能像window操作系统那样对文本进行熟练度编辑,但是,VI编辑器使用命令来操作,将可以锻炼我的记忆力、对键盘的熟练读,还能帮助我们尽快适应linux操作系统的操作。1-3:原本对liunx下的编译和调试环境不是很熟悉,但通过这次的实验,让我熟悉了linux下的编译器和调试器的使用。 实验中使用了gcc命令,gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(#include)、预编译语句(如宏定义#define等)进行分析。 当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是链接。在链接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的库中链接到合适的地方。1-4:API 接口属于一种操作系统或。通过实验,我了解了Windows的这种机制,加深了对API函数的理解。2-1:通过本次实验了解了一些常用进程管理命令的使用,例如ps、kill命令,了解到换个kill与killall的不同,对于linux操作系统下的进程的学习打下基础,更好的学习进程。2-2:本次实验是熟悉掌握Linux 系统常用进程创建与管理的系统调用,linux下使用fork()创建子进程,与windows下CreateProcess()创建子进程完全不同,通过比较小组更好的理解和掌握了进程的创建,对于进程的管理的理解也有了清晰地认识。实验中遇到fork函数返回2次结果,经过分析结果如下:由于在复制时复制了父进程的堆栈段,所以两个进程都停留在fork函数中,等待返回。因为fork函数会返回两次,一次是在父进程中返回,另一次是在子进程中返回,这两次的返回值是不一样的。 调用fork之后,数据、堆栈有两份,代码仍然为一份但是这个代码段成为两个进程的共享代码段都从fork函数中返回,箭头表示各自的执行处。当父子进程有一个想要修改数据或者堆栈时,两个进程真正分裂。2-3:通过这次实验对熟悉掌握和了解windows平台常用进线程控制API,有了更深刻的认识,认识到API函数对windows编程的重要性,了解进程线程在内存中的执行,特别认识互斥体Mutex对象,API函数一定要多用,才能记得。3-1:该程序的输入变量具有限制,若输入除0和1的数据,则将视为0处理.改进的方法为修改if语句中的条件为:1,即只要输入为非零,则有效。即逻辑表达式的值为真。(在逻辑数学里非零则表示为真!)为了能较好的实现进程的同步,可以另外设一个标志量,标志临界资源是否正被访问,当a,b,c中的其一访问临界资源时,其余2个将进行自我阻塞,当该进程执行完毕后,须将被阻塞的进程唤醒。3-2:通过这次实验,让我学习到了简单进程间的通信。通过自己动手做实验,然后再电脑上运行得出结果,我发现比课堂上更容易掌握进程通信的实现机制,以及系统调用的命令4-1:通过此次实验我进一步的了解了程序的局部性原理,在这个实验中我们利用老师提供的代码(关于矩阵清零)来更深入的认识到数组在存储器中是按行存储的,如果对数组按行进行清零处理的比按列清零的缺页中断次数少很多,故按列清零的运行时间更长。通过实现数组“清零”这个模拟程序的编写和实现,体会到了访问数据的局部性,并且运用局部性原理这个特点,并且和虚拟存储技术联系到一起,虚拟存储技术就用到局部性原理,因为CPU访问局部程序数据,所以只需要将程序部分存入内存。这次实验使我对虚拟存储技术有了进一步了解和学习。4-2:通过此次实验,我进一步理解了三种页面置换算法。最佳置换算法是一种理想化的算法,它具有最好的性能,但实际上却很难与实现。先进先出的算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰,该算法实现简单。最近最久未使用(LRU)的页面置换算法,是根据页面调入内存后的使用情况进行决策的,LRU置换算法虽然是一种比较好的算法,但要求系统有较多的支持硬件,如:寄存器或栈。4-3:通过此次实验我进一步的了解了实际系统内存分配原则,当系统为进程分配的物理块数少于此值时,进程将无法运行。通过本次实验,我认识到了Windows操作系统下的内存结构和虚拟内存管理方式,以及各种系统API函数的功能;同时我也认识到了虚拟内存在整个操作系统中的重要地位,通过虚拟存储解决了计算机存储量的问题。5-1:通过对载入和卸载文件系统的操作,可以使我对文件的操作更方便。加深了对Linux下的文件系统的了解及相应的操作的命令,可以直接用口令来控制文件和目录,对于管理员来讲,也有利于对文件系统和分区的管理。从实验中我了解了Linux系统分区工具fdisk的使用,对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区(Primary Partion)和扩充分区(Extension Partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。5-2:这次试验是创建进程及进程通信,利用MFC编写程序。通过这次试验,我了解了进程的创建、销毁、子进程创建以及获取进程信息和进程间通信,熟悉并巩固了课堂上所学的进程相关的知识。这次试验中遇到过很多的问题,主要是Windows API函数运用不熟练,太多太杂,我想最主要的原因还是自己平时训练少了,好久没有看MFC了,今后我会在这方面多花点时间,好好学习一下利用MFC体会进程,来更好的学习操作系统。5-3:1、掌握了windows下磁盘分区的基本方法,加深了对于磁盘管理的原理的认识。2、学习使用五种管理工具,了解了各种工具的目的和基本操作。5-4:从实验中我了解了Linux系统分区工具fdisk的使用,对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区(Primary Partion)和扩充分区(Extension Partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。5-5:通过本次实验,掌握了怎么在一台PC上安装不同的多个系统。专心-专注-专业