OS上机实验报告

合集下载

操作系统上机实验报告

操作系统上机实验报告

操作系统上机实验报告实验一进程的建立1.实验目的学会通过基本的Windows进程控制函数,由父进程创建子进程,并实现父子进程协同工作。

2.实验软硬件环境Dev-C++3.实验内容创建两个进程,让子进程读取一个文件,父进程等待子进程读取完文件后继续执行,实现进程协同工作。

进程协同工作就是协调好两个进程,使之安排好先后次序并以此执行,可以用等待函数来实现这一点。

当需要等待子进程运行结束时,可在父进程中调用等待函数。

4.实验程序及分析实验程序源代码如下:父进程:#include<stdio.h>#include<windows.h>int main(){STARTUPINFO si;PROCESS_INFORMA TION pi; //当Windows创建新进程时,将使用这两个结构体的有关成员。

所以在创建子进程之前应该对结构体进行声明和初始化。

ZeroMemory(&pi,sizeof(pi));ZeroMemory(&si,sizeof(si));si.cb=sizeof(STARTUPINFO);if(CreateProcess("lab1.2.exe",NULL,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL ,NULL,&si,&pi))//创建一个新进程,若是成功,就返回1,进而实现if选择{printf("子进程已创建~\n");int i,sum=0;for(i=1;i<=100;++i){sum+=i;printf("sum=%d\n",sum);} //进行1+2+3+….+100计算WaitForSingleObject(pi.hProcess,INFINITE); FILE *fp;fp=fopen("date.txt","r");char ch=fgetc(fp); //创建文件并打开while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp); //关闭文件}elseprintf("子进程创建失败~\n");return 0;}子进程:#include<stdio.h>#include<stdlib.h>int main(){printf("子进程运行~\n");FILE *fp;if(fp=fopen("date.txt","w")){printf("已经创建文件!\n");int i;for(i=48;i<58;i++) fputc(i,fp);fputc('\n',fp);fclose(fp);printf("已经写入数据:"); //向文本中写入数据fp=fopen("date.txt","r");char ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp); //输出数据}fclose(fp);}else printf("创建文件失败!\n");system("pause");return 0;}5. 实验截图说明及分析6. 实验心得体会掌握了父进程创建子进程的方法,对操作系统多线程认识更深了。

操作系统上机实验报告

操作系统上机实验报告

操作系统上机实验报告篇一:操作系统上机实验报告(13版)编者说明《操作系统》是计算机科学与技术专业的一门核心专业基础课。

学习计算机软件技术,特别是计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。

这些原理与技巧可以说是计算机界的前辈们一代接一代不停歇的努力所留下的知识与智慧的结晶,学习和掌握它们对于激发自己的创造力和想象力是很有帮助的。

如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法就是在实践中练习,通过自己模拟设计操作系统的原理实验,可以培养程序设计的方法和技巧,提高编制和理解清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。

使自身更好的掌握操作系统的基本概念、基本原理及基本功能,从而具有分析实际操作系统的基本能力,深入直观的理解操作系统使用的各类算法。

《操作系统实验指导书》是针对这门课的实验编写的,书中设计了三个操作系统原理实验。

三个实验难易层次分明,重点突出,其中实验一(Windows操作系统)和实验二(进程管理)为验证性实验,重在验证教材中的理论原理,而实验三(虚拟存储管理)为设计性实验,重在培养理论原理应用于实践的设计能力。

所有实验共8学时,采用C语言作为编程语言模拟设计完成相关程序。

限于编者的水平,难免有疏(本文来自: 千叶帆文摘:操作系统上机实验报告)漏与错误,敬请读者批评指正。

编者:李可实验一Windows操作系统一、实验题目计算机管理、任务管理、察看了解注册表二、实验目的Windows是目前使用人数最多的操作系统,学习操作系统,对操作系统有更加深入的了解。

三、实验内容1. Windows提供了那些人机交互的界面?2. 观察Windows对应用程序运行的支持。

Windows提供了几种方式启动应用程序?Windows提供了几种方式让用户改变应用程序外观?Windows提供了几种方式结束程序的运行?3. 了解windows对应用程序的运行时对I/O支持。

操作系统上机实验报告

操作系统上机实验报告

操作系统课程设计实验报告册班级: 130812学号: ********姓名:**目录实验1 Linux系统调用 (2)实验2 实现spinlock以及共享内存调用 (5)实验3 内核模块 (14)实验4 设备驱动 (18)实验5 文件系统 (22)实验编号 1 题目Linux系统调用实验目的加深对系统函数库、操作系统提供的系统调用的共同点和差异的认识,通过认识、了解Linux系统调用的实现方式,强化操作系统为用户提供接口方式的理性认识。

实验内容为Linux内核增加一个系统调用,并编写用户进程的程序来测试。

要求该系统调用能够完成以下功能:1. 该系统调用有1个整型参数。

2. 若参数大于0,则返回自己学号的最后一位。

如学号为248,则返回8。

3. 若参数小于或等于0,则返回自己的学号。

如学号为248,则返回248。

报告内容要求(1) 程序实现方法和思路(2) 测试及结果报告正文一、实验准备联网下载版本为2.6.25.14的linux内核压缩包,使用U盘放入WMware 中安装的Fedora9操作系统中。

解压后文件夹:/usr/src/linux-2..6.25.14。

二、实验步骤(一)、修改内核文件(1)修改内核文件:/usr/src/linux-2..6.25.14/kernel/sys.c 在sys.C文件中添加新的系统调用实现,如下所示:asmlinkage int sys_mycall(int a){if(a>0)return 5;elsereturn 13081175;}截图:(2)在system call table中增加新的系统调用表项,寻找文件/usr/src/linux-2..6.25.14/arch/x86/kernel/syscall_table_32.h,在最后一行添加:.long sys_mycall /*327*/截图:(3)增加新的系统调用编号:修改文件/usr/src/linux-2..6.25.14/include/asm-x86/unistd_32.h 的最后一行,增加:#define __NR_mycall 327 /*my new syscall*/数字紧跟上一行最后一个系统调用的编号。

操作系统上机报告

操作系统上机报告

操作系统上机报告实验一、匿名管道通信一、实验目的学会创建匿名管道,并且能够利用管道进行进程间的通信。

二、实验内容分别建立名为Parent的单文档应用程序和Child的单文档应用程序作为父子进程,由父进程创建一个匿名管道,实现父子进程向匿名管道写入和读取数据。

三、设计与实现过程本实验在VC6.0上实现▪ A.父进程▪先建一个Parent的单文档应用程序,增加“创建管道”“读取数据”“写入数据”三个菜单,并添加消息响应函数OnPipeCreate(),OnPipeRead(),OnPipeWrite()。

在CParentView类中增加成员变量HANDLE类型的hRead,hWrite,初始化变量,并在析构函数中释放句柄:▪void CParentView::OnPipeWrite()▪{▪if(!CreatePipe(…)) /*创建匿名管道*/▪{▪ /*显示消息“创建管道失败!”*/▪ /*退出*/▪}▪if(!CreateProcess(…)) /*创建子进程*/▪{▪ /*关闭句柄hRead、hWrite*/▪ /*显示消息“创建子进程失败!”*/▪ /*退出*/▪}▪}▪void CParentView::OnPipeRead()▪{▪ /*定义一个字符数组,用于存放读取的数据*/▪if(!ReadFile(…)) /*读取数据*/▪{▪ /*显示消息“读取数据失败!”*/▪ /*退出*/▪}▪/*打印读取的数据*/▪/*退出*/▪void CParentView::OnPipeWrite()▪{▪/*定义一个字符数组,用于存放写入的数据*/▪if(!WriteFile(…)) /*写入数据*/▪ /*显示消息“写入数据失败!”*/▪ /*退出*/▪}▪}▪ B.子进程▪建一个Child的单文档,在CChildView中增加两个成员HANDLE 型的成员变量hRead,hWrite,并添加消息响应函数OnPipeRead(),OnPipeWrite(),再添加虚函数OnInitialUpdate(),并在析构函数中释放句柄。

OS实验报告格式

OS实验报告格式

OS实验报告格式实验目的:本次实验旨在了解操作系统的基本概念和原理,以及对操作系统的功能和特性进行深入了解。

实验原理:操作系统是计算机系统中的重要组成部分,它承担着管理硬件资源、提供用户接口、调度任务等关键任务。

操作系统的核心功能包括进程管理、内存管理、文件系统管理和设备管理等。

在本次实验中,我们将通过实践操作系统的基本命令和功能,来加深对操作系统的理解和掌握。

实验步骤:1.打开计算机,启动操作系统。

在实验开始之前,首先需要启动计算机并进入操作系统的界面。

2.运行命令行工具。

在操作系统中,通过命令行工具可以执行各种操作系统命令,如查看系统信息、管理文件、运行程序等。

3. 创建文件和目录。

在命令行工具中,可以使用相应的命令来创建文件和目录,如mkdir命令用于创建目录,touch命令用于创建文件。

4.编写简单程序并运行。

在操作系统中,可以使用编程语言编写程序,然后通过编译运行的方式来执行程序。

5.查看系统信息。

通过系统命令可以查看操作系统的信息,如操作系统版本、内核版本、CPU信息等。

6.进程管理。

在操作系统中,可以通过相应的命令来管理进程,如查看当前运行的进程、杀死指定进程等。

7.内存管理。

操作系统通过内存管理来管理系统的内存资源,如分配和释放内存空间等操作。

8.文件系统管理。

在操作系统中,可以通过文件系统管理命令对文件进行管理,如查看文件列表、复制文件、删除文件等。

9.设备管理。

操作系统通过设备管理来管理计算机的硬件设备,如打印机、网络设备等。

实验结果:通过本次实验,我对操作系统的基本概念和功能有了更深入的了解。

我学会了如何使用命令行工具来管理文件和目录,如何编写程序并运行,如何查看系统信息,如何管理进程和内存,如何管理文件系统和设备等。

这些都是操作系统中非常重要的功能,对于理解和掌握操作系统至关重要。

实验总结:通过本次实验,我认识到了操作系统是计算机系统中的核心组件,它负责管理系统的各种资源并提供用户接口。

上机操作实验报告

上机操作实验报告

实验名称:计算机操作系统上机操作实验实验日期:2023年X月X日实验地点:计算机实验室实验教师:XXX一、实验目的1. 熟悉计算机操作系统的基本概念和功能。

2. 掌握Windows操作系统的基本操作,包括文件管理、系统设置等。

3. 学会使用Windows操作系统的常用工具,如计算器、记事本等。

4. 提高实际操作能力,为以后的学习和工作打下基础。

二、实验内容1. Windows操作系统基本操作(1)启动和关闭计算机(2)桌面操作:添加、删除桌面图标,调整桌面布局(3)文件管理:创建、复制、移动、删除文件和文件夹(4)系统设置:调整屏幕分辨率、设置网络连接、管理用户账户等2. 常用工具使用(1)计算器:进行基本的数学运算(2)记事本:编写简单的文本文件(3)画图:绘制图形和编辑图片(4)写字板:编辑和排版文本3. 系统安全与维护(1)安装和卸载软件(2)磁盘清理和碎片整理(3)病毒查杀(4)备份和还原系统三、实验步骤1. 启动计算机,进入Windows操作系统。

2. 调整桌面布局,添加和删除桌面图标。

3. 创建一个文件夹,命名为“实验文件夹”,并将实验过程中生成的文件和文档保存到该文件夹中。

4. 使用文件管理功能,对实验文件夹中的文件进行复制、移动、删除等操作。

5. 调整屏幕分辨率,设置网络连接,管理用户账户等系统设置。

6. 使用计算器进行数学运算,如加、减、乘、除等。

7. 使用记事本编写一个简单的文本文件,并保存到实验文件夹中。

8. 使用画图工具绘制一个简单的图形,并保存为图片文件。

9. 使用写字板编辑一个文档,并保存为Word文档。

10. 安装一个软件,如QQ,并学习如何卸载软件。

11. 对磁盘进行清理和碎片整理,确保系统运行流畅。

12. 使用杀毒软件查杀病毒,确保系统安全。

13. 学习备份和还原系统的方法,以备不时之需。

四、实验结果与分析1. 通过本次实验,我掌握了Windows操作系统的基本操作,包括文件管理、系统设置等。

操作系统上机实验报告(13版)

编者说明《操作系统》是计算机科学与技术专业的一门核心专业基础课。

学习计算机软件技术,特别是计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。

这些原理与技巧可以说是计算机界的前辈们一代接一代不停歇的努力所留下的知识与智慧的结晶,学习和掌握它们对于激发自己的创造力和想象力是很有帮助的。

如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法就是在实践中练习,通过自己模拟设计操作系统的原理实验,可以培养程序设计的方法和技巧,提高编制和理解清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。

使自身更好的掌握操作系统的基本概念、基本原理及基本功能,从而具有分析实际操作系统的基本能力,深入直观的理解操作系统使用的各类算法。

《操作系统实验指导书》是针对这门课的实验编写的,书中设计了三个操作系统原理实验。

三个实验难易层次分明,重点突出,其中实验一(Windows操作系统)和实验二(进程管理)为验证性实验,重在验证教材中的理论原理,而实验三(虚拟存储管理)为设计性实验,重在培养理论原理应用于实践的设计能力。

所有实验共8学时,采用C语言作为编程语言模拟设计完成相关程序。

限于编者的水平,难免有疏漏与错误,敬请读者批评指正。

编者:李可实验一Windows操作系统一、实验题目计算机管理、任务管理、察看了解注册表二、实验目的Windows是目前使用人数最多的操作系统,学习操作系统,对操作系统有更加深入的了解。

三、实验内容1.Windows提供了那些人机交互的界面?2.观察Windows对应用程序运行的支持。

●Windows提供了几种方式启动应用程序?●Windows提供了几种方式让用户改变应用程序外观?●Windows提供了几种方式结束程序的运行?3.了解windows对应用程序的运行时对I/O支持。

系统中有多少个I/O设备?多少种I/O控制方式?能否确信应用程序I/O需要操作系统支持?能体会到“设备独立性”吗?4.观察资源管理器,记录你使用的机器的资源情况:CPU、内存、磁盘分区及容量、文件目录树及文件属性。

操作系统上机报告

操作系统上机报告操作系统上机报告章节一:引言本报告是关于操作系统上机实验的报告,旨在总结和分析实验过程中所遇到的问题和解决方案。

章节二:实验目的本次实验的目的是通过实践,加深对操作系统相关概念和原理的理解,同时熟悉操作系统的基本操作和管理。

章节三:实验环境3.1 硬件环境:电脑一台,配置如下:- CPU:Intel Core i5- 内存.8GB- 硬盘.256GB SSD3.2 软件环境:- 操作系统:Windows 10- 虚拟机软件:VMware Workstation- 实验用操作系统镜像:Ubuntu 20.04 LTS章节四:实验内容4.1 安装虚拟机软件- 步骤1:并安装VMware Workstation- 步骤2:创建虚拟机- 步骤3:配置虚拟机网络4.2 安装Ubuntu操作系统- 步骤1:Ubuntu 20.04 LTS镜像- 步骤2:创建虚拟机,并加载镜像- 步骤3:安装Ubuntu操作系统4.3 操作系统基本设置- 步骤1:更新系统软件包- 步骤2:添加用户- 步骤3:配置网络设置4.4 命令行操作- 步骤1:掌握常用命令(如ls、cd、mkdir等)- 步骤2:文件和目录操作(如复制、移动、删除等)- 步骤3:权限管理(如chmod命令)4.5 进程管理- 步骤1:查看系统进程- 步骤2:启动和停止进程- 步骤3:进程监控和调度4.6 文件系统管理- 步骤1:了解文件系统结构- 步骤2:文件和目录的创建和删除- 步骤3:文件系统的挂载和卸载章节五:实验总结通过本次实验,我们对操作系统的基本原理和操作有了更深入的理解,熟悉了常用的命令和管理技巧,提高了对操作系统的操作和管理能力。

附件:- 操作系统上机实验源代码- 实验报告中使用的截图法律名词及注释:1.版权:对作品(如文学、艺术、音乐、软件等)的作者享有的法律权益,保护作者对作品的知识产权。

2.隐私权:个人对其个人信息的保护权利,包括个人身份、健康状况、财务状况等敏感信息的保护。

操作系统上机实验报告(西电)

操作系统上机题目一、题目实验1:LINUX/UNIX Shell部分(一)系统基本命令1.登陆系统,输入whoami 和pwd ,确定自己的登录名和当前目录;登录名yuanye ,当前目录/home/yuanye2.显示自己的注册目录?命令在哪里?a.键入echo $HOME,确认自己的主目录;主目录为/home/yuanyeb.键入echo $PA TH,记下自己看到的目录表;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gamesc.键入which abcd,看看得到的错误信息;再键入which ls 和which vi,对比刚刚得到的结果的目录是否在a.、b.两题看到的目录表中;/bin/ls /usr/bin/vi3.ls 和cd 的使用:a.键入ls,ls -l ,ls -a ,ls -al 四条命令,观察输出,说明四种不同使用方式的区别。

1. examples.desktop 公共的模板视频图片文档音乐桌面; 总计322.-rw-r--r-- 1 yuanye yuanye 357 2011-03-22 22:15 examples.desktopdrwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 公共的drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 模板drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 视频drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 图片drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 文档drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 音乐drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 桌面3. . .fontconfig .local .Xauthority.. .gconf .mozilla .xsession-errors.bash_logout .gconfd .nautilus 公共的.bashrc .gksu.lock .profile 模板.cache .gnome2 .pulse 视频.chewing .gnome2_private .pulse-cookie 图片.config .gnupg .recently-used.xbel 文档.dbus .gstreamer-0.10 .scim 音乐.dmrc .gtk-bookmarks .sudo_as_admin_successful 桌面.esd_auth .gvfs .update-manager-coreexamples.desktop .ICEauthority .update-notifier4. 总计156drwxr-xr-x 28 yuanye yuanye 4096 2011-03-24 16:55 .drwxr-xr-x 3 root root 4096 2011-03-22 22:15 ..-rw-r--r-- 1 yuanye yuanye 220 2011-03-22 22:15 .bash_logout-rw-r--r-- 1 yuanye yuanye 3115 2011-03-22 22:15 .bashrcdrwxr-xr-x 3 yuanye yuanye 4096 2011-03-22 23:30 .cachedrwx------ 2 yuanye yuanye 4096 2011-03-22 23:24 .chewingdrwxr-xr-x 4 yuanye yuanye 4096 2011-03-22 23:30 .configdrwx------ 3 yuanye yuanye 4096 2011-03-22 22:31 .dbus-rw------- 1 yuanye yuanye 49 2011-03-24 16:54 .dmrc-rw------- 1 yuanye yuanye 16 2011-03-22 22:31 .esd_auth-rw-r--r-- 1 yuanye yuanye 357 2011-03-22 22:15 examples.desktopdrwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:15 .fontconfigdrwx------ 4 yuanye yuanye 4096 2011-03-24 16:54 .gconfdrwx------ 2 yuanye yuanye 4096 2011-03-24 16:56 .gconfd-rw-r----- 1 yuanye yuanye 0 2011-03-22 23:19 .gksu.lockdrwx------ 6 yuanye yuanye 4096 2011-03-22 23:20 .gnome2drwx------ 2 yuanye yuanye 4096 2011-03-22 22:32 .gnome2_privatedrwx------ 2 yuanye yuanye 4096 2011-03-22 22:31 .gnupgdrwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 22:32 .gstreamer-0.10-rw-r--r-- 1 yuanye yuanye 156 2011-03-24 16:55 .gtk-bookmarksdr-x------ 2 yuanye yuanye 0 2011-03-24 16:54 .gvfs-rw------- 1 yuanye yuanye 479 2011-03-24 16:54 .ICEauthoritydrwx------ 3 yuanye yuanye 4096 2011-03-22 23:30 .localdrwx------ 4 yuanye yuanye 4096 2011-03-22 23:29 .mozilladrwxr-xr-x 3 yuanye yuanye 4096 2011-03-22 22:32 .nautilus-rw-r--r-- 1 yuanye yuanye 675 2011-03-22 22:15 .profiledrwx------ 2 yuanye yuanye 4096 2011-03-24 16:54 .pulse-rw------- 1 yuanye yuanye 256 2011-03-22 22:31 .pulse-cookie-rw------- 1 yuanye yuanye 861 2011-03-22 23:30 .recently-used.xbeldrwx------ 3 yuanye yuanye 4096 2011-03-22 23:24 .scim-rw-r--r-- 1 yuanye yuanye 0 2011-03-22 22:35 .sudo_as_admin_successful drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 22:33 .update-manager-core drwx------ 2 yuanye yuanye 4096 2011-03-22 22:32 .update-notifier-rw------- 1 yuanye yuanye 117 2011-03-24 16:54 .Xauthority-rw-r--r-- 1 yuanye yuanye 3385 2011-03-24 16:56 .xsession-errorsdrwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 公共的drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 模板drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 视频drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 图片drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 文档drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 音乐drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 桌面b.利用cd 转到/bin,/sbin ,/etc ,/dev,再利用ls 列出各个目录的内容,如果"迷路",可以利用pwd 确定位置,或键入cd ,cd ~ 观察效果.cd ,cd ~的区别: 1. bash dnsdomainname mountpoint sleepbunzip2 dumpkeys mt sttybzcat echo mt-gnu subzcmp ed mv syncbzdiff egrep nano tailfbzegrep false nc tarbzexe fgconsole nc.traditional tempfilebzfgrep fgrep netcat touchbzgrep fuser netstat truebzip2 fusermount ntfs-3g ulockmgr_serverbzip2recover grep ntfs-3g.probe umountbzless gunzip open unamebzmore gzexe openvt uncompresscat gzip pidof unicode_startchgrp hostname ping vdirchmod ip ping6 whichchown kbd_mode ps zcatchvt kill pwd zcmpcp ld_static rbash zdiffcpio ln readlink zegrepdash loadkeys rm zfgrepdate login rmdir zforcedbus-cleanup-sockets ls rnano zgrepdbus-daemon lsmod run-parts zlessdbus-uuidgen mkdir sed zmoredd mknod setfont znewdf mktemp setupcondir more shdmesg mount sh.distrib2. acpi_available getty mii-tool resize_reiserfsalsa grub-install mkdosfs rmmodalsactl halt mke2fs routeapm_available hdparm mkfs rtacctapparmor_parser hwclock mkfs.bfs rtmonbadblocks ifconfig mkfs.cramfs runlevelblkid ifdown mkfs.ext2 sfdisk blockdev ifup mkfs.ext3 shadowconfig brltty init mkfs.ext4 shutdownbrltty-setup initctl mkfs.ext4dev slattachcfdisk insmod mkfs.minix sscrda installkernel mkfs.msdos startctrlaltdel ip mkfs.reiserfs start-stop-daemon debugfs ip6tables mkfs.vfat status debugreiserfs ip6tables-restore mkreiserfs stopdepmod ip6tables-save mkswap sulogin dhclient ipmaddr modinfo swapoff dhclient3 iptables modprobe swapon dhclient-script iptables-restore mount.fuse sysctldmsetup iptables-save mount.ntfs syslogddosfsck iptunnel mount.ntfs-3g tcdosfslabel isosize mount.vmhgfs telinitdumpe2fs iwconfig nameif tune2fse2fsck iwevent on_ac_power udevadme2image iwgetid pam_tally udevde2label iwlist parted umount.hale2undo iwpriv partprobe unix_chkpwd fdisk iwspy pccardctl unix_update findfs kbdrate pivot_root update-grubfsck killall5 plipconfig usplashfsck.cramfs klogd poweroff usplash_down fsck.ext2 ldconfig rarp usplash_write fsck.ext3 ldconfig.real raw vol_idfsck.ext4 logd readahead-list vstpfsck.ext4dev logsave readahead-watch wpa_action fsck.minix losetup reboot wpa_clifsck.msdos lrm-manager regdbdump wpa_supplicant fsck.nfs lsmod reiserfsckfsck.reiserfs lspcmcia reiserfstunefsck.vfat MAKEDEV resize2fs3. acpi login.defsadduser.conf logrotate.confadjtime logrotate.dalsa lsb-basealternatives lsb-base-logging.shanacrontab lsb-releaseapm ltrace.conf apparmor magicapparmor.d magic.mimeapport mailcapapt mailcap.orderat.deny manpath.configavahi mime.typesbash.bashrc mke2fs.confbash_completion modprobe.dbash_completion.d modules bindresvport.blacklist monoblkid.tab motdblkid.tab.old motd.tailbluetooth mtabbogofilter.cf mtools.confbonobo-activation nanorcbrlapi.key netscsid.confbrltty networkbrltty.conf NetworkManagerca-certificates networksca-certificates.conf nsswitch.confcalendar obex-data-server chatscripts openoffice checkbox.d optcompizconfig pam.conf ConsoleKit pam.dconsole-setup pangoconsole-tools papersizecron.d passwdcron.daily passwd-cron.hourly pcmciacron.monthly perlcrontab pmcron.weekly pnm2ppa.confcups PolicyKitdbus-1 popularity-contest.conf debconf.conf powerdebian_version pppdefault profiledefoma profile.ddeluser.conf protocolsdepmod.d pulse dhcp3 purple dictionaries-common pythondm python2.6 doc-base rc0.ddpkg rc1.de2fsck.conf rc2.d emacs rc3.d environment rc4.d esound rc5.d event.d rc6.d firefox-3.0 rc.localfonts rcS.d foomatic readahead fstab resolvconf fuse.conf resolv.conf gai.conf rmtgamin rpcgconf samba gdm sane.d gimp scim gnome screenrc gnome-app-install scsi_id.config gnome-system-tools securetty gnome-vfs-2.0 security gnome-vfs-mime-magic sensors.conf gre.d services groff sgmlgroup shadow group- shadow- grub.d shells gshadow skel gshadow- soundgtk-2.0 sshhal ssl hdparm.conf sudoers hesiod.conf sysctl.conf host.conf sysctl.d hostname syslog.conf hosts terminfo hosts.allow timezonehosts.deny tpvmlp.confhp ts.confifplugd ucf.confinit.d udevinitramfs-tools ufwinputrc updatedb.confiproute2 updatedb.conf.BeforeVMwareToolsInstallissue update-manager update-motd.dkbd update-notifierkernel usplash.confkernel-img.conf vimlaptop-mode vmware-toolsldap w3mld.so.cache wgetrcld.so.conf wodim.confld.so.conf.d wpa_supplicantlftp.conf X11libpaper.d xdglocale.alias xmllocaltime xulrunner-1.9logcheck zsh_command_not_foun4. adsp loop7 ram7 tty15 tty43 usbdev1.1_ep00agpgart lp0 ram8 tty16 tty44 usbdev1.1_ep81audio mapper ram9 tty17 tty45 usbdev2.1_ep00block mem random tty18 tty46 usbdev2.1_ep81bus midi rtc tty19 tty47 usbmon0cdrom1 mixer rtc0 tty2 tty48 usbmon1char net scd0 tty20 tty49 usbmon2console network_latency sda tty21 tty5 vcscore network_throughput sda1 tty22 tty50 vcs1cpu_dma_latency null sda2 tty23 tty51 vcs2disk oldmem sda5 tty24 tty52 vcs3dmmidi parport0 sequencer tty25 tty53 vcs4dsp pktcdvd sequencer2 tty26 tty54 vcs5ecryptfs port sg0 tty27 tty55 vcs6fd ppp sg1 tty28 tty56 vcs7fd0 psaux shm tty29 tty57 vcs8full ptmx snapshot tty3 tty58 vcsafuse pts snd tty30 tty59 vcsa1hpet ram0 sndstat tty31 tty6 vcsa2initctl ram1 sr0 tty32 tty60 vcsa3input ram10 stderr tty33 tty61 vcsa4kmem ram11 stdin tty34 tty62 vcsa5kmsg ram12 stdout tty35 tty63 vcsa6log ram13 tty tty36 tty7 vcsa7loop0 ram14 tty0 tty37 tty8 vcsa8loop1 ram15 tty1 tty38 tty9 vmciloop2 ram2 tty10 tty39 ttyS0 vsockloop3 ram3 tty11 tty4 ttyS1 xconsoleloop4 ram4 tty12 tty40 ttyS2 zeroloop5 ram5 tty13 tty41 ttyS3loop6 ram6 tty14 tty42 urandom区别:(二)基本操作1.用cp 将/usr/share 目录下的exercise 子目录连同目录下的文件拷贝到自己的主目录下,然后进入自己的exercise 目录:cp -r /usr/share ./.2.输入/输出重定向和cat,more 等显示命令的配合使用:a.输入cat 命令列出目录下longtext 文件中的内容;b.输入cat 命令列出目录下longtext 文件中的内容,是否发现一屏显示不完?c.使用more 命令列出longtext 的内容;d.输入cat hello.txt> hello2.txt,再输入cat hello.txt>>hello2.txt,再检查hello2.txt的内容有何变化;说明>与>>的区别。

操作系统安装与配置实验报告

操作系统安装与配置实验报告实验目的:
1. 了解操作系统的安装过程。

2. 熟悉操作系统的基本配置。

实验内容:
1. 安装操作系统。

2. 进行基本配置。

3. 测试系统运行情况。

实验步骤:
1. 准备安装光盘或USB启动盘。

2. 将光盘或USB启动盘插入计算机,并启动计算机。

3. 按照提示选择安装语言和时区等信息。

4. 选择安装类型(新安装或升级)。

5. 选择安装目标磁盘。

6. 进行分区和格式化。

7. 完成安装并进行基本配置(设置用户名、密码、网络等)。

实验结果:
1. 成功安装操作系统。

2. 完成基本配置。

3. 系统能够正常运行。

实验总结:
通过本次实验,我了解了操作系统的安装过程和基本配置方法。

在实际操作中,我遇到了一些问题,比如分区和格式化时出现了错误提示,但通过查阅资料和询问同学,最终成功解决了这些问题。

通过这次实验,我对操作系统的安装和配置有了更深入的了解,也提高了自己的解决问题的能力。

希望在以后的实验中能够继续学习和提高。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(上机实验)报告课程名称:操作系统上机实习学生姓名:学号:所在学院:专业:指导教师:20XX年月日课程设计(上机实验)报告填写说明1.本报告作为指导教师对学生课程设计(上机实验)评分的依据材料之一。

此报告应在指导教师指导下,由学生在课程设计(上机实验)结束时完成,以班为单位收齐后按时交给指导教师批阅;2.本报告内容必须用黑墨水笔工整书写或按信息学院统一设计的电子文档标准格式(可从信息学院网页上下载)打印(小4号宋体,1.5倍行距),禁止打印在其它纸上后剪贴;3.本报告中的“设计说明书”应按论文的格式成文,并直接书写(或打印)在本报告“设计说明书”栏目内。

其内容可以结合设计题目的内容和要求,根据自己在本课程设计(上机实验)阶段所完成的工作,阐明自己所采取的设计思想和方法(硬件的设计及其电原理图分析介绍,和/或软件的算法和数据结构及其主要模块介绍、程序在测试用例下的测试运行结果等)、完成本课程设计的心得体会、设计中的不足及改进设计的设想或建议等。

说明书的篇幅应不少于2000字。

4.对硬件类课程设计,应绘制或打印硬件设计图纸或实验原理图,作为设计报告的附件。

5.软件类课程设计(上机实验)的软件文档(含软件清单和程序运行的有关结果)可以单独打印成册或上传到指导教师指定计算机,作为课程设计报告的附件。

课程设计(上机实验)报告的附件是指导教师对学生课程设计(上机实验)评分的另一个依据。

课程设计(上机实习)报告课程设计(上机实验)题目:文件系统的模拟设计4.1 修改md命令(去掉属性前面的|)4.2 修改Help命令或命令行预处理程序(1. 修改help命令的显示方式和显示内容) 4.3 新增fc命令,实现两个文件的比较4.4 新增replace命令,实现文件取代4.6 新增batch命令,实现批处理4.7 修改close、type等命令,允许不带文件名参数4.8 完善copy命令(1. 改正某些缺陷)4.10 修改del、copy等命令,使其可以使用统配符*目的与任务:理解操作系统文件系统的某些工作原理,学习文件操作命令和目录操作命令的设计方法。

通过实验,使学生加深对操作系统文件系统某些问题的理解,归纳学习方法和思考方法,做到理论联系实际。

培养学生分析问题、解决问题的能力,提高学生软件设计能力和逻辑思维能力。

内容和要求:设计实现一个简单的文件系统,包括目录文件、普通文件,以及一些文件操作命令和目录操作命令(例如可以模仿DOS 的有关命令)。

具体要求如下列2.2和2.3。

2.2 初始目录结构程序初始化时构造如图1所示的目录结构。

图中auto 是(普通)文件(初始化时假设是空文件),其余都是子目录(目录文件)。

2.3 系统操作命令简介在本文件系统中,要求可以实现如下操作:⏹ 改变当前目录:cd [<目录名>]。

当前目录(工作目录)转移到指定目录下。

指定目录不存在时,给出错误信息。

若命令中无目录名,则显示当前目录路径。

⏹ 创建文件:create <文件名> [<属性>]。

创建一个指定名字的新文件,即在目录中增加一目录项,不考虑文件的内容。

对于重名文件给出错误信息。

⏹ 删除文件:del <文件名>。

删除指定的文件,即清除其目录项和回收其所占用磁盘空间。

对于只读文件,删除前应询问用户,得到同意后方能删除。

当指定文件正在使用时,显示“文件正在使用,不能删除”的信息,当指定文件不存在时给出错误信息。

⏹ 显示目录:dir[ <目录名>[ <属性>]]。

显示“目录名”指定的目录中文件名和第一级子目录名。

若指定目录不存在,则给出错误信息。

⏹ 创建目录:md <目录名>。

在指定路径下创建指定目录,若没有指定路径,则在当前目录下创建指定目录。

对于重名目录给出错误信息。

⏹ 删除目录:rd 目录名。

若指定目录为空,则删除之,否则,给出“非空目录不能删除”的提示。

不能删除当前目录。

⏹ 打开文件:open <文件名>。

若指定文件存在且尚未打开,则打开之,并在用户打开文件表(UOF )中登记该文件的有关信息。

若指定文件已经打开,则显示“文件已打开”的信息;若指定文件不存在,则给出错误信息。

只读文件打开后只能读不能写。

bin usrdevuser lib binlisunmaauto图1 初始目录树目录文件 普通文件【图例说明】根目录⏹关闭文件:close <文件名>。

若指定文件已打开,则关闭之,即从UOF中删除该文件对应的表项。

若文件未打开或文件不存在,分别给出有关信息。

⏹显示文件内容:type <文件名>。

显示指定文件的内容。

若指定文件不存在,则给出错误信息。

⏹复制文件:copy <源文件名> <目标文件名>。

命令功能:为目标文件建立目录项,分配新的盘块,并将源文件的内容复制到目标文件中。

⏹文件改名:ren <原文件名> <新文件名>。

将指定文件的名字改为“新文件名”。

若原文件不存在,给出错误信息。

若原文件存在,但正在使用,也不能改名,同样显示出错信息。

应检查新文件名是否符合命名规则以及是否存在重名问题。

⏹显示、修改文件或目录属性:attrib <文件名>[ <文件属性>]。

若命令中无“文件属性”参数,则显示指定文件的属性;若命令中有“文件属性”参数,则修改指定文件的属性。

此命令对目录名同样适用。

2.4 几点说明⏹命令中的目录名和文件名可以统称为路径名,支持绝对路径(又称全路径)和相对路径;⏹路径名是由目录结构中各级目录文件名和普通文件名(必定是最后一个名)用分隔符“/”连接而成的字符串组成。

其中以字符“/”开始的路径名是绝对路径,表示从根目录开始;不是以字符“/”开始的路径名是相对路径,表示从当前目录开始。

当前目录又称工作目录。

⏹本系统规定,名字(文件名或目录名)的命名规则如下:(1) 名字长度不能超过FILENAME_LEN-1个字节,即10个字符(符号常数FILENAME_LEN为11)。

允许输入的名字超过10个字符,但只有前10个字符有效;(2) 名字一般由字母(区分大小写)、数字、下划线等组成,名字允许是汉字;(3) 名字不能包含以下16个字符之一:" * + , / : ; < = > ? [ \ ] | space(空格)(4) 名字中允许包含字符“.”,但它不能是名字的第一个字符,故“.”、“.abc”、“..”和“..abc”等等都是不合法的名字。

“..”代表父目录是例外,但它并非由用户通过键盘输入的名字,故不需要符合名字的命名规则。

⏹本系统中,命令名(如dir)和命令参数中的有关关键字(如append或app、insert或ins等)不区分大小写。

文件名和目录名中的字母是区分大小写的。

⏹命令格式中,“<...>”代表某个字符串,“[ ]”中内容为可选项。

设计说明书(说明书的撰写要求请参看封里的“报告填写说明3”。

篇幅不够可附页)//函数原型说明(添加的函数名)int FcComd(int); //文件比较int ReplaceComd(int ); //文件替代int BatchComd(int); //文本文件的批处理int deletefile(char *,FCB *,short); //删除文件int FindFileFCB(int &,int,char,FCB * &); //查找文件的FCBint showattrib(FCB *); //属性int Copy(int ); //复制//执行命令中添加的内容void ExecComd(int k){int cid; //命令标识//操作命令表char CmdTab[][COMMAND_LEN]={"create","open","write","read","close", "del","dir","cd","md","rd","ren","copy","type","help","attrib","uof","closeall","block","rewind","fseek","fat","check","exit","undel","Prompt","udtab","fc","replace","batch"};…………………………………………………..case 26:FcComd(k); break; //fc命令,实现两个文件的比较case 27:ReplaceComd(k); break; //replace命令,实现文件的取代case 28:BatchComd(k); break; //batch命令,实现从文件读取并执行…………………………………………………..}流程图:4.1 修改md命令设计思想:程序的指令格式为 md user |rh ,需改为 md user rh ,因此可在md user |rh 程序中实现修改功能要实现此功能,只需要获取目录的属性时,删除判断“|”操作符的过程即可。

具体方法:在int MdComd(int k)函数中删除*if (k==2) {i=GetAttrib(comd[2],attrib); if (i<0)return i;} 即可实现所需功能。

修改后的操作方法:输入 md user rh 即可正确执行。

4.2修改help 命令的显示方式和显示内容设计思想:利用switch(n) case … 语句实现选择只查看需了解的操作命令。

具体方法:首先利用cout 语句输出改操作系统所拥有的命令,并用数字标明,供用户选择,再利用switch(n) case …语句实现具体内容的介绍。

程序的大体表达如下: int n;cout<<” ”<<endl; //输入所拥有的操作命令开始命令格式正确吗?在指定目录中查找空目录项(若已无空目录项,则为其分配新的盘块),找到后为新目录登记目录项。

相关文档
最新文档