操作系统实验一2014
- 格式:doc
- 大小:19.00 KB
- 文档页数:1
北京邮电大学操作系统实验实验报告班号:姓名:学号:实验日期: 2014.11.16 实验名称:操作系统实验一、实验目的1、熟悉LINUX的基本环境,了解LINUX下进程和线程的实现二、实验内容1、熟悉UNIX/LINUX的常用基本命令2、利用fork()生成子进程和clone()生成线程。
3、通过mutex来实现生产者和消费者问题。
三、项目要求及分析(1)下载并安装LINUX,可以使用FEDORA或Ubuntu.(2)熟悉UNIX/LINUX的常用基本命令如ls、who、wc、pwd、ps、pstree、top,cat,cd,chgrp,chmod,chown,comm,cmp,cp,rm,diff,mv,rmdir等,了解环境。
(3)比较fork()和clone()的功能,利用fork()生成子进程和clone()生成线程。
(4)利用pthread库,通过其中的mutex来实现生产者和消费者问题。
(5) 使用System V的信号灯,实现第二类读者-写者问题(写者优先,新来的读者不允许进行写操作)。
四、具体实现(1):熟悉UNIX/LINUX的常用基本命令名称: ls使用权限: 所有使用者使用方式: ls [-alrtAFR] [name...]说明: 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数:-a 显示所有档案及目录(ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出-r 将档案以相反次序显示(原定依英文字母次序)-t 将档案依建立时间之先后次序列出-A 同-a ,但不列出"." (目前目录) 及".." (父目录)-F 在列出的档案名称后加一符号;例如可执行档则加"*", 目录则加"/"-R 若目录下有档案,则以下之档案亦皆依序列出名称: who使用权限: 所有使用者都可使用使用方式: who - [husfV] [user]说明: 显示系统中有那些使用者正在上面,显示的资料包含了使用者ID,使用的终端机,从哪边连上来的,上限时间,呆滞时间,CPU 使用量,动作等等。
操作系统安全实验1实验报告一、实验目的本次操作系统安全实验的主要目的是让我们深入了解操作系统的安全机制,通过实际操作和观察,掌握一些常见的操作系统安全配置和防护方法,提高对操作系统安全的认识和应对能力。
二、实验环境本次实验使用的操作系统为Windows 10 和Linux(Ubuntu 2004),实验设备为个人计算机。
三、实验内容与步骤(一)Windows 10 操作系统安全配置1、账户管理创建新用户账户,并设置不同的权限级别,如管理员、标准用户等。
更改账户密码策略,包括密码长度、复杂性要求、密码有效期等。
启用账户锁定策略,设置锁定阈值和锁定时间,以防止暴力破解密码。
2、防火墙配置打开 Windows 防火墙,并设置入站和出站规则。
允许或阻止特定的应用程序通过防火墙进行网络通信。
3、系统更新与补丁管理检查系统更新,安装最新的 Windows 安全补丁和功能更新。
配置自动更新选项,确保系统能够及时获取并安装更新。
4、恶意软件防护安装并启用 Windows Defender 防病毒软件。
进行全盘扫描,检测和清除可能存在的恶意软件。
(二)Linux(Ubuntu 2004)操作系统安全配置1、用户和组管理创建新用户和组,并设置相应的权限和归属。
修改用户密码策略,如密码强度要求等。
2、文件系统权限管理了解文件和目录的权限设置,如读、写、执行权限。
设置特定文件和目录的权限,限制普通用户的访问。
3、 SSH 服务安全配置安装和配置 SSH 服务。
更改 SSH 服务的默认端口号,增强安全性。
禁止 root 用户通过 SSH 登录。
4、防火墙配置(UFW)启用 UFW 防火墙。
添加允许或拒绝的规则,控制网络访问。
四、实验结果与分析(一)Windows 10 操作系统1、账户管理成功创建了具有不同权限的用户账户,并能够根据需求灵活调整权限设置。
严格的密码策略有效地增加了密码的安全性,减少了被破解的风险。
账户锁定策略在一定程度上能够阻止暴力破解攻击。
五邑大学实验报告操作系统课程实验报告2013~2014年度第1学期院系:计算机学院学号: 11080101姓名:宋蓓蕾任课教师:白明成绩评定:实验一:银行家算法完成日期:2013年12月20日1、实验目的银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。
加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。
2、实验内容(1) 设计进程对各类资源最大申请表示及初值确定。
(2) 设定系统提供资源初始状况。
(3) 设定每次某个进程对各类资源的申请表示。
(4) 编制程序,依据银行家算法,决定其申请是否得到满足。
3、算法设计(全部代码)#include <STRING.H>#include <stdio.h>#include <stdlib.h>#include <CONIO.H> /*用到了getch()*/#define M 5 /*进程数*/#define N 3 /*资源数*/#define FALSE 0#define TRUE 1/*M个进程对N类资源最大资源需求量*/int MAX[M][N]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}};/*系统可用资源数*/int AVAILABLE[N]={10,5,7};/*M个进程对N类资源最大资源需求量*/int ALLOCATION[M][N]={{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}; /*M个进程已经得到N类资源的资源量*/int NEED[M][N]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}};/*M个进程还需要N类资源的资源量*/int Request[N]={0,0,0};void main(){int i=0,j=0;char flag;void showdata();void changdata(int);void rstordata(int);int chkerr(int);showdata();enter:{printf("请输入需申请资源的进程号(从0到");printf("%d",M-1);printf("):");scanf("%d",&i);}if(i<0||i>=M){printf("输入的进程号不存在,重新输入!\n");goto enter;}err:{printf("请输入进程");printf("%d",i);printf("申请的资源数\n");printf("类别: A B C\n");printf(" ");for (j=0;j<N;j++){scanf("%d",&Request[j]);if(Request[j]>NEED[i][j]){printf("%d",i);printf("号进程");printf("申请的资源数> 进程");printf("%d",i);printf("还需要");printf("%d",j);printf("类资源的资源量!申请不合理,出错!请重新选择!\n");goto err;}else{if(Request[j]>AVAILABLE[j]){printf("进程");printf("%d",i);printf("申请的资源数大于系统可用");printf("%d",j);printf("类资源的资源量!申请不合理,出错!请重新选择!\n");goto err;}}}}changdata(i);if(chkerr(i)){rstordata(i);showdata();}elseshowdata();printf("\n");printf("按'y'或'Y'键继续,否则退出\n");flag=getch();if (flag=='y'||flag=='Y'){goto enter;}else{exit(0);}}/*显示数组*/void showdata(){int i,j;printf("系统可用资源向量:\n");printf("***Available***\n");printf("资源类别: A B C\n");printf("资源数目:");for (j=0;j<N;j++){printf("%d ",AVAILABLE[j]);}printf("\n");printf("\n");printf("各进程还需要的资源量:\n"); printf("******Need******\n");printf("资源类别: A B C\n");for (i=0;i<M;i++){printf(" ");printf("%d",i);printf("号进程:");for (j=0;j<N;j++){printf(" %d ",NEED[i][j]);}printf("\n");}printf("\n");printf("各进程已经得到的资源量: \n"); printf("***Allocation***\n");printf("资源类别: A B C\n");for (i=0;i<M;i++){printf(" ");printf("%d",i);printf("号进程:");/*printf(":\n");*/for (j=0;j<N;j++){printf(" %d ",ALLOCATION[i][j]);}printf("\n");}printf("\n");}/*系统对进程请求响应,资源向量改变*/void changdata(int k){int j;for (j=0;j<N;j++){AVAILABLE[j]=AVAILABLE[j]-Request[j]; ALLOCATION[k][j]=ALLOCATION[k][j]+Request[j]; NEED[k][j]=NEED[k][j]-Request[j];}}/*资源向量改变*/void rstordata(int k){int j;for (j=0;j<N;j++){AVAILABLE[j]=AVAILABLE[j]+Request[j]; ALLOCATION[k][j]=ALLOCATION[k][j]-Request[j]; NEED[k][j]=NEED[k][j]+Request[j];}}/*安全性检查函数*/int chkerr(int s){int WORK,FINISH[M],temp[M];int i,j,k=0;for(i=0;i<M;i++)FINISH[i]=FALSE;for(j=0;j<N;j++){WORK=AVAILABLE[j];i=s;while(i<M){if (FINISH[i]==FALSE&&NEED[i][j]<=WORK){WORK=WORK+ALLOCATION[i][j];FINISH[i]=TRUE;temp[k]=i;k++;i=0;}else{i++;}}for(i=0;i<M;i++)if(FINISH[i]==FALSE){printf("\n");printf("系统不安全! 本次资源申请不成功!\n");printf("\n");return 1;}}printf("\n");printf("经安全性检查,系统安全,本次分配成功。
郑州轻工业学院实践报告姓名:院(系):专业:班级:学号:指导教师:成绩:时间:2014 年2 月至2014 年5 月目录一、实践目的 .............................................. 错误!未定义书签。
二、实践内容及步骤 .................................. 错误!未定义书签。
三、实践效果分析 ...................................... 错误!未定义书签。
四、小节(结合实际,谈谈认识)........... 错误!未定义书签。
一、实践目的为了增强我们队脚本语言的认识和了解。
熟练掌握脚本语言的特点和应用。
熟练掌握Dreamweaver编写代码的技巧,提高学生的动手能力。
二、实践内容及步骤1、内容:利用Dreamweaver平台编写js代码,制作一个简单的用户注册表单页。
2、步骤:根据需要设计表单,三、实验结果分析1、表单图例2、页面代码外链式js,调用函数邮箱js代码:输入邮箱时自动填充邮箱后缀,(如@)<script type="text/javascript"src="js/autoMail.js"></scrip> 地址js代码:<script type="text/javascript"src="js/Area.js"></script> 日期js代码:点击日期栏,会自动弹出日历表<script type="text/javascript"src="js/Calendar.js"></scrip>3、<html>4、<body>5、<h1align="center">请填写您的个人信息</h1>6、<div align="center"class="main">7、<form action="Student_register"method="post">8、<table class="table"cellspacing="8"9、<td>账户名称:</td>10、<td><input type="text"name="userName"style="height: 25"></input>11、</td>12、</tr>13、<tr>14、<td>用户密码:</td>15、<td><input type="password"name="userPassword"style="height: 25"></input></td>16、</tr><tr>17、<td>确认密码:</td><td><inputtype="password"name="userPasswordAgain"style="height: 25"></input>18、</td><td></td></tr><tr>19、<td>联系电话:</td>20、<td><input type="text"name="userPhone"style="height: 25"></input>21、</td></tr><tr>22、<td>用户年龄:</td>23、<td><input type="text"name="userAge"style="height: 25"></input>24、</td></tr><tr>25、<td>用户Email:</td>26、<td><input id="email"type="text"name="userEmail"style="height: 25"></input></td>27、</tr><tr>28、<td>用户性别:</td>29、<td> <input type="radio"name="userSex"30、id="userSex"value=""checked="checked"style="height: 25"/> 男31、 <input type="radio"name="userSex"id="userSex"32、value=""style="height: 25"/>女33、<td></td></tr><tr>34、<td>用户生日:</td>35、<td><input name="userBirthday"type="text"id="control_date"36、maxlength="10"onclick="newCalendar().show(this);"37、readonly="readonly"style="height:25"/>38、</td>39、</tr>40、<td>用户地址:</td>41、<td><div>42、<select id="s_province"name="s_province"charset="UTF-8"></select> 43、<select id="s_city"name="s_city"charset="UTF-8"></select> 44、<select id="s_county"name="s_county"charset="UTF-8"></select>45、<script class="resources library"src="js/area.js"type="text/javascript"></script><script type="text/javascript">_init_area();</script>46、</div></td>47、</tr>48、</table>49、<br></div>50、<div class="Button"align="center">51、<input style="font-size:20px" type="reset"value="清空">52、<input style="font-size:20px" type="submit"value="提交">53、</div>54、</form>55、<br></br>56、<div class="time"align="right">//获取当前时间57、<jsp:include page="Clock.jsp"></jsp:include>58、</div>59、</body>60、</html>四、小节通过这次独立完成作业,我对js有了更深的理解,明白的它对一个程序员来说是多么重要的,它能代表一个人外表和内心深处,js主要是给用户体现一个更清新、更美观的界面和更流畅的浏览效果。
实验报告实验课程: 计算机操作系统学生姓名:XXX学号:XXXX专业班级:软件2014年12月25日目录实验一熟悉Windows XP中的进程和线程 (3)实验二进程调度 (7)实验三死锁避免—银行家算法的实现 (16)实验四存储管理 (22)实验一熟悉Windows XP中的进程和线程一、实验名称熟悉Windows XP中的进程和线程二、实验目的1、熟悉Windows中任务管理器的使用。
2、通过任务管理器识别操作系统中的进程和线程的相关信息。
3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。
三、实验结果分析1、启动操作系统自带的任务管理器:方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。
2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并完成下表:表一:统计进程的各项主要信息3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。
再从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程,原因是该系统是系统进程。
4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论 explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。
5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进程“explorer.exe”的各项信息,并填写下表:进程:explorer.exe 中的各个线程6、注意某些线程前有“+”,如图所示:,说明二者之间的差异前有“+”其器线程下有窗口。
四、心得体会通过本次实验,我了解到了windows系统中进程的管理与操作,我了解了如何切出任务管理器,任务管理器应用与其他与进程相关的知识,明白了有些系统程序不能够关闭,系统中的进程与线程虽然很多,但是其中有许多关联,只要弄清楚其中的关联那么就能够运用好进程与线程,达到我们的目的。
操作系统实验年级2014 级专业学号姓名指导教师年月日实验一 Windows任务管理器的使用一、实验目的通过在Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能.二、实验内容启动并进入Windows环境,单击Ctrl + Alt + Del键,或者右键单击任务栏,在快捷菜单中单击“任务管理器”命令,打开“任务管理器”窗口.1.分别查看每个选项卡的内容,了解相关参数的含义及其当前内容.2.在“进程”选项卡上单击“查看”菜单,然后单击“选择列”命令.单击要增加显示为列标题的项目,然后单击“确定”.分别了解“进程”选项卡各列的含义及其当前内容.3.为更改正在运行的程序的优先级,可在“进程”选项卡上右键单击您要更改的程序,指向“设置优先级”,然后单击所需的选项.更改进程的优先级可以使其运行更快或更慢(取决于是提升还是降低了优先级) ,但也可能对其他进程的性能有相反的影响.(查看进程管理器,说明按照名字序号前5个进程的主要用途和功能.)4、修改windows服务选项,将windows的远程用户修改注册表的服务设置成禁止. :打开控制面板→管理工具→服务→找到"Remote Registry",双击,启动类型设置为禁用.5、修改windows的磁盘管理并设定配额选项。
设定配额的磁盘格式必须是NTFS,如果你的硬盘是FAT32格式;可通过以下命令:convert 盘符:/fs:ntfs 将某一磁盘分区转为NTFS。
6、修改windows启动选项,将其中的前三个自动启动的选项去掉. :开始→运行→输入msconfig,到启动页.7、修改windows的虚拟内存交换空间.8、修改windows使得windows启动时,显示操作系统列表时间为5秒,并写出启动文件的具体内容. :右键我的电脑→属性→高级→启动和故障恢复的设置→显示列表时间设为5,→点击编辑→列出具体内容,一般是:[boot loader]timeout=0default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS[operating systems]multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect9、查看windows本地安全策略,并修改为定期强制修改密码.写出本地安全策略的审核的内容. :开始→运行→输入gpedit.msc →计算机设置→Windows设置→安全设置→账户策略→密码策略→密码最长存留期设置为需要的天数即可.10、获得此计算机网卡的网络配置及mac地址.开始→运行→输入cmd回车→输入ipconfig /all回车即是.11、在D盘新建一个文件夹,以自己的拼音缩写命名,并利用命令将其映射为I盘,例如为aaa,命令:subst I: d:\aaa.即将c:\aaa映射为I盘. (注:I盘是虚拟盘,不是实际的硬盘)语法subst [drive1:[drive2:}Path}subst drive1:/d参数drive1:指定要为其指派路径的虚拟驱动器.drive2:指定包含指定路径的物理驱动器(如果不是当前的驱动器).Path指定要指派给虚拟驱动器的路径./d删除虚拟驱动器./?在命令提示符显示帮助.注释以下命令在subst 命令中使用的驱动器上无法工作(或不应使用):chkdskDiskcompDiskcopyformatlabelrecoverdrive1 参数必须在lastdrive 命令指定的范围之内.如果没有,subst 将显示下列错误消息:Invalid parameter - drive1:范例若要为路径B:\User\Betty\Forms 创建虚拟驱动器Z,请键入:subst z:b:\user\betty\forms现在,不用键入完整路径,而是通过键入虚拟驱动器号,后跟冒号,即可到达该目录,如下所示:z:winxp中的映射盘符命令:subst另附上软件extrasubst.zip(创建虚拟驱动器)12、通过设备管理器查看系统所有组件配置.包括驱动程序,装载的所有程序,windows组件,硬件组件的IRQ等.13、查看windows的版本及注册信息. :开始→运行→输入winver回车14、利用windows自带的聊天工具,进行局域网内的聊天,并写出详细步骤. 首先启动服务中的Messager服务,Sp2以后版本默认为禁止的,将其设为自动,然后要发消息就开始→运行→输入net send 对方IP地址信息内容.回车即可15、利用命令查看windows进程中每个进程所提供的服务.命令:tasklist /SVC (注:查看svchost进程情况)实验二 Windows进程观测一、背景知识Windows提供了创建控制台应用程序的能力,使用户可以利用标准的C++工具,如iostream库中的cout和cin对象,来创建小型应用程序。
许昌学院《操作系统》实验报告手册学号: 1101120207姓名:孙萍班级:计科2班成绩:2014年02月实验一 Linux操作系统的安装与配置实验时间:实验地点:计科楼107 成绩:【实验目的】1.了解Linux操作系统的发展历史,熟悉Linux发行版和Linux内核的区别。
2.了解Linux操作系统安装的软硬件条件,熟悉Linux系统的安装方法,特别是如何在虚拟机上安装、配置该操作系统。
3.了解在多操作系统环境下如何本地安装(光盘安装)Linux系统。
4.了解Linux操作系统的文件系统结构及其特点,熟悉Linux系统的登入和登出过程【实验内容】1、安装并配置vmware虚拟机,设置运行环境,特别要启动NAT和USB支持。
2、在vmware上安装Red Hat Linux 9.0,指定最大空间为20G以上(具体视硬盘剩余空间而定)。
当对虚拟磁盘空间分区时,需至少指定10G给“/”(主目录),分区格式为ext3,还需指定与内存容量相同的swap(交换)区。
3、安装完Red Hat Linux 9.0系统后,需配置硬件(如网卡、显卡等)和软件(如编程开发软件等)。
4、启动Linux系统和退出Linux系统【实验步骤和结果】1、启动VMware,建立Linux虚拟机,完成后的结果如下图所示。
2、在vmware上安装Red Hat Linux 9.0【实验总结和体会】通过安装虚拟机等操作让我认识到Linux这系统一些基本特点,有别于我们机器上使用的系统,发现原来通过虚拟机这个软件还可以在已有系统的基础上使用其他操作系统。
这有利于我们学习。
实验二 Linux操作系统的运行模式实验时间:实验地点:计科楼107 成绩:【实验目的】1.熟悉Linux系统终端工作环境的使用,了解Linux命令的格式,学会利用常用的Linux命令来完成系统的管理和维护。
2.了解X-Windows的特点,熟悉Linux图形用户接口的使用,掌握GNOME桌面环境的基本操作。
2014-2015学年第一学期课程名称:计算机文化基础学院:机械学院班级:机械B1431班授课教师:张彤芳实训项目:Windows 7操作系统应用实训实训时间:第一周至第三周实训地点:实208-1实训课时:6时同组成员:无实训目的:1、学习Windows 7操作系统的相关知识。
2、学会安装Windows 7操作系统。
实训设备:计算机、Windows 7操作系统光盘实训原理:1、Windows 7系统的启动与退出。
2、窗口、菜单和常用工具栏的操作。
3、控制面板操作。
4、安装Windows 7操作系统。
实训内容:任务一、鼠标与键盘操作1、鼠标包括左键、右键与滚轮。
2、鼠标操作分为单击、双击、右击、拖曳。
3、键盘分为功能键区、编辑键区、数字键区、主键区。
任务二、Windows 7操作系统的桌面基本操作1、图标。
2、快捷方式图标。
3、任务栏。
4、开始按钮。
任务三、新建文件夹1、新建文件夹。
2、打开文件夹。
3、复制文件夹。
4、删除文件夹。
5、选定文件夹。
6、重命名文件夹。
任务四、附件的使用1、画图工具。
2、计算器工具。
3、记事本工具。
任务五、Windows 7窗口操作1、窗口依次包括:边框、标题栏、地址栏、工具栏、菜单栏、工作区、滚动条、常见任务等。
2、改变窗口的排列方式。
3、改变窗口大小。
任务六、控制面板操作1、添加、删除程序。
2、设置时间和日期。
3、设置声音。
4、设置显示。
5、设置桌面小工具。
任务七、屏幕保护设置1、设置屏幕保护。
2、设置主题和外观。
3、设置分辨率。
实训小结:通过本次实验,我学会了什么?。
操作系统实验报告哈尔滨工程大学计算机科学与技术学院第一讲实验环境的使用一、实验概述1. 实验名称实验环境的使用2. 实验目的(1)熟悉操作系统集成实验环境OS Lab的基本使用方法。
(2)练习编译、调试EOS操作系统内核以及EOS应用程序3. 实验类型验证4. 实验内容4.1 启动OS Lab1. 双击OS Lab 的图标2.注册用户信息的对话框3. 观察OS Lab 主窗口的布局4.2 学习b OS Lab 的基本使用方法4.2.1 新建s Windows 控制台应用程序项目4.2.2 生成项目使用“生成项目”功能可以将程序的源代码文件编译为可执行的二进制文件4.2.3 执行项目在OS Lab 中选择“调试”菜单中的“开始执行(不调试)”,可以执行刚刚生成的Windows 控制台应用程序。
启动执行后会弹出一个Windows 控制台窗口,显示控制台应用程序输出的内容。
按任意键即可关闭此Windows 控制台窗口。
4.2.4 调试项目步骤如下:1. 右键点击“项目管理器”窗口中的“源文件”文件夹节点,在弹出的快捷菜单中选择“添加”中的“添加新文件”。
2. 在弹出的“添加新文件”对话框中选择“C 源文件”模板。
3. 在“名称”中输入文件名称“func”。
4. 点击“添加”按钮,添加并自动打开文件func.c5. 在func.c 文件中添加函数:int Func (int n){n = n + 1;return n;}6. 点击源代码编辑器上方的console.c 标签,切换到console.c 文件。
将main 函数修改为:int main (int argc, char* argv[]){int Func (int n); // 声明Func 函数int n = 0;n = Func(10);printf ("Hello World!\n");return 0;}代码修改完毕后按F7(“生成项目”功能的快捷键)。
操作系统实验报告实验目的本次实验的主要目的是通过自主设计和编写一个简单的操作系统内核,进一步加深对操作系统相关理论知识的理解和实践能力的锻炼。
同时,通过实际操作和调试,了解操作系统的基本功能和特性,提高对操作系统工作原理的深入认识。
实验环境在进行本次实验之前,我们需要先搭建实验环境。
以下是本次实验所需的环境配置: - 操作系统:Windows或Linux - 开发工具:gcc编译工具链、nasm汇编器、Bochs模拟器实验过程1.机器启动过程–计算机的启动过程主要包括电源启动、BIOS自检、加载操作系统等步骤。
–在本次实验中,我们需要自行编写一个简单的引导扇区程序,将其写入磁盘的MBR(Master Boot Record)位置,以完成系统的启动。
2.引导扇区编写与加载–引导扇区是计算机启动的关键部分,它的主要任务是加载操作系统的内核到内存中,并将控制权转交给内核。
–在本次实验中,我们可以使用汇编语言编写一个简单的引导扇区程序,并将其加载到MBR位置。
3.操作系统内核设计与实现–操作系统内核是整个操作系统的核心部分,它负责管理系统的资源和提供系统调度等功能。
–在本次实验中,我们可以设计和实现一个简单的操作系统内核,包括进程管理、内存管理、文件系统等功能。
4.系统调用设计与实现–系统调用是用户程序与操作系统之间的接口,用户程序通过系统调用请求操作系统提供的服务。
–在本次实验中,我们可以设计和实现一些基本的系统调用,如文件读写、进程创建等。
5.调试与测试–在进行操作系统开发的过程中,调试和测试是非常重要的环节。
–在本次实验中,我们可以使用Bochs模拟器来模拟运行我们编写的操作系统内核,并对其进行调试和测试。
实验结果与分析经过一段时间的编写和调试,我们成功地完成了一个简单的操作系统内核的设计和实现。
在实验过程中,我们深入理解了操作系统的工作原理和基本功能,提高了对操作系统相关知识的理解和应用能力。
同时,我们还进一步锻炼了编程和调试的实践能力。
(5)重新编写一个setup.s,然后将其中的显示的信息改为:“Now we are in SETUP”。
再次编译,重新用make命令生成BootImage,结合提示信息和makefile文修改build.c,具体将setup.s改动如下:mov cx,#27mov bx,#0x0007 ! page 0, attribute 7 (normal)mov bp,#msg1mov ax,#0x1301 ! write string, move cursorint 0x10dieLoop:j dieLoopmsg1:.byte 13,10,13,10.ascii "Now we are in SETUP".byte 13,10,13,10将build.c改动如下:if(strcmp("none",argv[3]) == 0)//添加判断return 0;if ((id=open(argv[3],O_RDONLY,0))<0)die("Unable to open 'system'");// if (read(id,buf,GCC_HEADER) != GCC_HEADER)// die("Unable to read header of 'system'");// if (((long *) buf)[5] != 0)// die("Non-GCC header of 'system'");for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c )if (write(1,buf,c)!=c)die("Write call failed");close(id);fprintf(stderr,"System is %d bytes.\n",i);if (i > SYS_SIZE*16)die("System is too big");return(0);(6)验证:用make是否能成功生成BootImage,运行run命令验证运行结果。
《操作系统》课程设计学习完《操作系统》课程,通过一个具体的课程设计实践,可使学生对操作系统原理有更进一步的理解与应用,通过设计对操作系统有一个实现的尝试和创新的思维,同时发挥团队协作精神和个人创造能力。
选题:以下四题可任选一个或两个,选一,二题的可以选一个,选三,四的要选两个。
还可以自由选择其他操作系统相关的内容做课程设计,难度不能与所出题目差别太大。
分组:每组不可超过两人,一人也可以。
每人设计系统中的一部分。
要求:界面自行设计,语言自行选择。
每组需写一份课程设计报告,内容包括:小组成员及分工,系统采用的语言、支撑平台、程序的模块功能分析、程序的流程图、程序功能段的说明及代码解释;实验体会与软件评价。
报告提交后,将系统代码及说明压缩成文件以所有组员学号组合命名发于指定邮箱(xchliu@)。
(如:2011240203+0102(班号+四个组员学号)。
题目一:支持多个进程(线程)并发运行的简单进程(线程)管理模拟系统1.实验内容学习进程管理的设计与实现,学习和运用操作系统原理,设计一个操作系统子系统的模拟系统。
通过该系统的设计调试可增加对操作系统实现的感知性。
设计一个允许n个进程并发运行的进程管理的模拟系统。
该系统包括简单的进程控制、同步及通信机构,其进程调度算法可任意选择。
分析系统所需的数据结构、算法的流程以及划分各个功能模块。
2.实验原理进程管理包括进程的控制、阻塞、唤醒与撤消。
进程在运行过程中状态在不断的变化。
进程运行过程中,因为竞争资源而需对它们进行同步控制。
所有这些在操作系统中用数据结构PCB来记录,系统通过PCB控制进程的运行。
在单处理机系统中,多道程序的引入,需要进程的调度程序来选择一个进程进行运行。
比如常用的先来先服务、短进程优先和优先级优先等等,也可以选择它们的结合调度算法。
题目二:文件系统设计1.实验内容通过一个简单的二级文件系统设计,加深对文件系统的内部功能以及内部实现的理解。
操作系统实验报告(一)Linux基本操作与编程(验证性 2学时)1、实验目(de):1)熟悉Linux操作系统(de)环境和使用.2)了解LINUX系统(de)安装过程.(注:表示可选择)3)掌握Linux环境下(de)命令操作.2、实验内容:(1)完成LINUX系统(de)登录,启动终端.进行下列操作并记录结果(要求:结果以屏幕截图表示).1)运行pwd命令,确定你当前(de)工作目录.2)利用以下命令显示当前工作目录(de)内容: ls –l3)运行以下命令: ls –al4)使用mkdir命令建立一个子目录subdir.5)使用cd命令,将工作目录改到根目录(/)上.6)使用ls-l命令列出/dev(de)内容.7)使用不带参数(de)命令cd改变目录,然后用pwd命令确定你当前(de)工作目录是哪里8)使用命令cd ../..,你将工作目录移到什么地方(2)在LINUX下查看你(de)文件.1)利用cd命令,将工作目录改到你(de)主目录上.2)将工作目录改到你(de)子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中.3)使用cat命令查看file1文件(de)内容.4)利用man命令显示date命令(de)用法: man date5)将date命令(de)用法附加到文件file1(de)后面:man date >> file16)利用cat命令显示文件file1(de)内容.7)利用ls -l file1命令列出文件file1(de)较详细(de)信息.运行ls -l/bin 命令显示目录(de)内容.8)利用ls -l/bin|more命令行分屏显示/bin目录(de)内容.9)利用cp file1 fa命令生成文件file1(de)副本.然后利用ls -l命令查看工作目录(de)内容.10)用cd命令返回你(de)主目录,输入命令ls –l后,解释屏幕显示(de)第一列内容(de)含义.(3)编写能输出“Hello world”问候语(de)C程序,并在终端中编译、执行.要求记录所使用(de)命令及结果.操作步骤:1)在文本编辑器中,编写C程序如下:include ""main(){ printf("hello"); }2) 在终端中,用gcc命令进行编译,生成可执行文件a.gcc –o a3) 在终端中执行a (de)命令如下:./a(4)编写一个程序:显示信息“Time for Play”,并能在后台运行一段时间(自定义)后,弹出信息提醒用户.要求记录所使用(de)命令及结果.(提示:使用sleep(s)函数)3、实验结果分析:(对上述实验内容中(de)各题结果,进行分析讨论.并回答下列问题)(1)进程包括哪些特征间断性, 失去封闭性, 不可再现性, 动态性, 并发性, 独立性(2)在Linux中,如何设置前、后台命令和程序(de)执行命令后直接加 & ,这个命令就在后台执行;正在运行(de)命令,使用Ctrl+z ,就挂起; jobs命令,可以现实后台,包括挂起(de)命令;使用 bg %作业号就可以把挂起(de)命令在后台执行;使用 fg %作业号就可以把后台命令调到前台(3)你所使用(de)Linux系统(de)内核版本是多少用什么命令查看内核版本目前你所了解(de)各发行版本(de)情况如何Linux version (gcc version (Red Hat (GCC) ) 1 SMP Tue Jan 2911:48:01 EST 2013(4)你对Linux系统有什么认识linux是一款开放性(de)操作系统,也可以说成是开放(de)源代码系统,这些代码可以完全自由(de)修改可以再任何(de)计算机上去运行它,也就是“可移植性”,其次大家都知道,linux是由UNIX(de)概念所开发出来(de),所以它也继承了UNIX(de)稳定和效率(de)特点4、总结:你对本次实验有什么体会或看法.操作系统实验报告(二)文件访问权限设置与输入输出重定向(2学时)一、实验目(de)1、掌握linux(de)文件访问权限设置.2、熟悉输入输出重定向和管道操作.二、实验内容1、启动进入红帽linux系统2、设置文件权限:在用户主目录下创建目录test,进入test目录,用vi 创建文件file1,并输入任意(de)文字内容.用ls -l显示文件信息,注意文件(de)权限和所属用户和组.对文件file1设置权限,使其他用户可以对此文件进行写操作:chmod o+w file1.用ls -l查看设置结果.取消同组用户对此文件(de)读取权限:chmod g-r file1.查看设置结果.用数字形式来为文件file1设置权限,所有者可读、可写、可执行;其他用户和所属组用户只有读和执行(de)权限:chmod 755 file1.设置完成后查看设置结果.3、输入、输出重定向和管道(1) 输出重定向用ls命令显示当前目录中(de)文件列表:ls –l.使用输出重定向,把ls命令在终端上显示(de)当前目录中(de)文件列表重定向到文件list中:ls –l > list.查看文件list中(de)内容,注意在列表中会多出一个文件list,其长度为0. 这说明shell是首先创建了一个空文件,然后再运行ls命令:cat list.再次使用输出重定向,把ls命令在终端上显示(de)当前目录中(de)文件列表重定向到文件list中.这次使用追加符号>>进行重定向:ls –l >> list.查看文件list(de)内容,可以看到用>>进行重定向是把新(de)输出内容附加在文件(de)末尾,注意其中两行list文件(de)信息中文件大小(de)区别:cat list.重复命令ls –l > list.再次查看文件list中(de)内容,和前两次(de)结果相比较,注意list文件大小和创建时间(de)区别.(2) 管道who |grep root命令(de)结果是命令ls –l |wc –l结果是4、退出linux系统操作步骤:在主菜单上选择“注销” ->关闭计算机.三、实验结果与讨论(根据实验结果回答下列问题)1. 文件(de)权限如下:-rw-r—r-- 1 root root 19274 Jul 14 11:00回答:-rw-r—r-- (de)含义是什么答:是LINUX/FTP(de)简易权限表示法:对应于本用户-所在组-其他人(de)权限,每一个用执行(x)-读取(r)-写入(w)如本题若是说自己可以读取写入不可以执行,所在组和其他人只能读取.2、文件(de)所有者添加执行权限(de)命令是答:chmod u+x 、赋予所有用户读和写文件权限(de)命令是四、答:chmod a+w,a+r 个人体会(你对本次实验有什么体会或看法)操作系统实验报告(三)文件和目录管理一、实验目(de)1) 掌握在Linux系统下(de)文件和文件系统(de)概念及命令;2) 掌握Linux系统下(de)目录操作.二、实验内容1. 进入linux终端后,用命令(de)操作结果回答下列问题:1)vi(de)三种工作模式是其中不能进行直接转换(de)是什么模式到什么模式命令模式、文本输入模式、末行模式命令模式不能直接到末行模式2)在vi中退出时,保存并退出(de)操作步骤是Ese:wq3)用vi 创建myfile1文件,并在其中输入任意文字一行,创建myfile2文件,任意输入文字3行.请问执行命令:cat <myfile1 >myfile2 后,myfile2中还有几行内容该命令(de)作用是用命令操作验证你(de)回答.myfile2中还有1行内容该命令(de)作用是替换myfile(de)内容4)请用至少两种不同(de)命令创建一个文本文件(),在其中写入“我是2014级学生,我正在使用Linux系统.”,记录命令及执行结果.1、Vi创建2、5)用___pwd________命令可查看所创建文件(de)绝对路径,写出它(de)绝对路径__/root_________;用___ls -l________命令查看该文件(de)类型及访问权限,其访问权限(数字和字母)分别是多少__-rw- r- - r- - 6 4 4______________.6)若将该文件(de)访问权限修改为:所有者有读写权限;其他用户只读;同组用户可读写,请写出命令,并记录结果.7)查找my开头(de)所有文件,可___find my_________命令,写出命令并记录结果8)在/home下创建子目录user,并在其中创建2个文件,名为file1和file2,file1(de)内容是/root目录(de)详细信息;file2(de)内容任意,最后将这两个文件合并为file3文件,请先写出命令序列,并在终端中验证,记录结果.2. 文件及目录操作,写出操作所使用(de)命令,并记录结果.在终端中完成下列命令操作,并记录结果在root用户主目录下创建一个mydir子目录和一个myfile文件,再在mydir下建立d1和d2两个子目录.查看mydir和myfile(de)默认权限查看当前myfile和mydir(de)权限值是多少将myfile文件分别复制到root 和dd1(de)主目录中将root主目录中(de)myfile改为yourfile通过从键盘产生一个新文件并输入I am a student查找文件是否包含student字符串三、实验结果与分析,回答下列问题:1、能够创建文件(de)命令有哪些vi 和cat>name2、能够查看当前目录(de)绝对路径(de)命令是pwd3、Linux中按用户属性将用户分成哪些类型根据文件(de)访问权限,用户又被分成哪些类型能够查看文件访问权限(de)命令是用户同组其他可读可写可执行 cat f1四、小结(本次实验(de)体会或小结)操作系统实验报告(四)作业调度算法模拟(验证性2学时)1、实验目(de):1)掌握作业调度(de)主要功能及算法.2)通过模拟作业调度算法(de)设计加深对作业管理基本原理(de)理解.3)熟悉Linux环境下应用程序(de)编程方法.2、实验内容:(1)作业调度算法(FCFS)编程模拟:编制一段程序,对所输入(de)若干作业,输入、输出数据样例如下表所示.按FCFS算法模拟调度,观察、记录并分析调度(de)输出结果情况.输入输出样例1:FCFS算法include <>include <>define SIZE 5struct Job_type{char no[2]; o,&job[i].tb,&job[i].tr);printf("输入作业顺序:\n");for(i=0;i<SIZE;i++)printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);}void fcfs(){ int i,j,t=0,tw=0,tt=0;for(i=0;i<SIZE-1;i++)for(j=i+1;j<SIZE;j++)if(job[i].tb>job[j].tb){x=job[i];job[i]=job[j];job[j]=x;}printf("FCFS调度结果:\n");printf("开始时间作业号到达时间运行时间完成时间等待时间周转时间\n");for(i=0;i<SIZE;i++){printf(" %d",t);t=t+job[i].tr;tw=t-job[i].tb-job[i].tr; b; o,job[i].tb,job[i].tr,t,tw,tt);}}void main(){load();fcfs();}(2)作业调度算法(SJF)编程模拟:编程实现由短作业优先算法,分别用下面两组输入、输出数据样例进行模拟,观察分析运行结果.输入输出样例2:SJF算法输入输出A 0 4B 0 3C 0 5D 0 2E 0 1A 0 6 10 10B 0 3 6 6C 0 10 15 15D 0 1 3 3E 0 0 1 1include <>include <>define SIZE 5struct Job_type{char no[2]; o,&job[i].tb,&job[i].tr);printf("输入作业顺序:\n");for(i=0;i<SIZE;i++)printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);}void sjf()n=i; pl[i].pfn=ERR;}for(i=1;i<total;i++){ pfc[i-1].next=&pfc[i];pfc[i-1].pfn=i-1;}pfc[total-1].next=NULL;pfc[total-1].pfn=total-1;freepf_head=&pfc[0];}void FIFO(int total){ int i,j;pfc_type p,t;initialize(total);busypf_head=busypf_tail=NULL;for(i=0;i<page_len;i++){if(pl[page[i]].pfn==ERR){ diseffect+=1;if(freepf_head==NULL){p=busypf_head->next;pl[busypf_head->pn].pfn=ERR; freepf_head=busypf_head;freepf_head->next=NULL;busypf_head=p;}p=freepf_head->next;freepf_head->next=NULL;freepf_head->pn=page[i];pl[page[i]].pfn=freepf_head->pfn;if(busypf_tail==NULL)busypf_head=busypf_tail=freepf_head; else{ busypf_tail->next=freepf_head;busypf_tail=freepf_head;}freepf_head=p;}}printf("FIFO:%d",diseffect);}main(){ int i; int k;printf(“请输入页(de)引用序列:\n”); for(k=0;k<page_len;k++)scanf("%d",&page[k]);for(i=4;i<=7;i++){printf("%2d page frames ",i);FIFO(i);}参考程序LRU算法,略三、实验结果分析:(对上述实验各题所使用(de)原始数据、调试数据与状态(包括出错)及最终结果进行记录并分析.)随着块数(de)增加,缺页数目也减少,4个实验中3个实验(de)块数增加到了5以后,即使块数再增加,缺页数目也是保持不变.只有实验4,块数增加到7以后,缺页数目又再次减少了四、总结:你对本次实验有什么体会或看法.。
操作系统实验报告学院:计算机与通信工程学院专业:计算机班级:学号:姓名:指导教师:成绩:2014年12月25日实验一线程的状态和转换(5分)1 实验目的和要求目的:熟悉线程的状态及其转换,理解线程状态转换与线程调度的关系。
要求:(1)跟踪调试EOS线程在各种状态间的转换过程,分析EOS中线程状态及其转换的相关源代码;(2)修改EOS的源代码,为线程增加挂起状态。
2 完成的实验内容2.1 EOS线程状态转换过程的跟踪与源代码分析(分析EOS中线程状态及其转换的核心源代码,说明EOS定义的线程状态以及状态转换的实现方法;给出在本部分实验过程中完成的主要工作,包括调试、跟踪与思考等)EOS定义的线程状态在ps/psp.h的THREAD_STATE枚举中,包含Zero(线程状态转换过程中的中间状态)、Ready(就绪)、Running(运行)、Waiting(等待)、Terminated (结束)。
线程在不同的状态间相互转换时,通过调用ps/sched.c文件中的下面几个函数完成:PspReadyThread(将指定线程插入其优先级对应的就绪队列的队尾,并修改其状态码为Ready)、PspUnreadyThread(将指定线程从就绪队列中移除,并修改其状态码为Zero)、PspWait(将当前运行线程插入指定等待队列的队尾,并修改状态码为Waiting,然后执行线程调度)、PspUnwaitThread(将阻塞线程从其所在的等待队列中移除,并修改其状态码为Zero)、PspWakeThread(调用PspUnwaitThread 函数使线程脱离阻塞状态,然后调用PspReadyThread函数使线程进入就绪状态,从而唤醒被阻塞的线程)、PspSelectNextThread(使被抢先的线程从运行状态进入就绪状态,并决定哪个就绪线程应该进入运行状态)。
实验中通过对上述函数添加断点,通过EOS的loop命令观察线程状态的变化、使用pt命令查看各线程状态。
河北工业大学操作系统2014版实验报告实验一进程控制与描述一、实验目的通过对Windows 2000编程,进一步熟悉操作系统的基本概念,较好地理解Windows 2000的结构。
通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。
三、实验内容和步骤第一部分:Windows 2000 Professional下的GUI应用程序,使用Visual C++编译器创建一个GUI应用程序,代码中包括了WinMain()方法,该方法GUI类型的应用程序的标准入口点。
程序1-1 Windows 2000的GUI应用程序也可以利用任何其他文本编辑器键入程序代码,如果这样,例如使用WORD来键入和编辑程序,则应该注意什么问题?保存时,将文件保存为扩展名为*.cpp的C++源文件。
在程序1-1的GUI应用程序中,首先需要Windows.h头文件,以便获得传送给WinMain() 和MessageBox() API 函数的数据类型定义。
接着的pragma指令指示编译器/连接器找到User32.LIB库文件并将其与产生的EXE文件连接起来。
这样就可以运行简单的命令行命令CL MsgBox.CPP来创建这一应用程序,如果没有pragma指令,则MessageBox() API 函数就成为未定义的了。
这一指令是Visual Studio C++ 编译器特有的。
接下来是WinMain() 方法。
其中有四个由实际的低级入口点传递来的参数。
hInstance参数用来装入与代码相连的图标或位图一类的资源,无论何时,都可用GetModuleHandle() API函数将这些资源提取出来。
系统利用实例句柄来指明代码和初始的数据装在内存的何处。
句柄的数值实际上是EXE文件映像的基地址,通常为0x00400000。
下一个参数hPrevInstance是为向后兼容而设的,现在系统将其设为NULL。
操作系统实验一As a person, we must have independent thoughts and personality.本科实验报告操作系统课程名称:学号:姓名:专业:班级:指导教师:课内实验目录及成绩信息技术学院实验(实验一)1 实验名称:基本shell命令及用户管理2 实验目的掌握安装Linux操作系统的方法。
掌握Linux操作系统的基本配置。
了解GNOME桌面环境。
掌握基本shell命令的使用。
3 实验准备下载VMware Workstation虚拟机软件(版本不限)。
准备Linux操作系统的安装源(内核版本和发行版本均不限)。
注:实验准备、实验内容和作为回家作业布置,同学们利用课余时间可在私人计算机上完成。
4 实验要求、步骤及结果安装虚拟机软件。
【操作要求】安装VMware Workstation虚拟机软件,并填写以下4.1.1和的内容。
4.1.1【VMware Workstation虚拟机版本号】4.1.2【主要配置参数】安装Linux操作系统。
【操作要求】安装Linux操作系统,版本不限。
Linux发行版本:Linux内核版本:【主要操作步骤:包括分区情况】1、创建一台虚拟机安装操作系统时客户机操作系统选择Linux2、修改虚拟机的安装路径。
3、建一个新的虚拟磁盘,磁盘的空间20GB,并且将单个文件存储虚拟磁盘。
4、设置分区完毕,安装虚拟机了解Linux操作系统的桌面环境之一GNOME。
【操作要求】查看桌面图标,查看主菜单,查看个人用户主目录等个人使用环境。
【操作步骤1】桌面图标【操作步骤2】主菜单【操作步骤3】个人用户主目录【操作步骤4】启动字符终端【操作步骤5】注销[root@localhost~]# exit【操作步骤6】重启系统[root@localhost~]# reboot【操作步骤7】关闭[root@localhost~]# halt【回答问题】简述Windows桌面环境与Linux桌面环境的主要区别。
河北工业大学操作系统2014版实验报告实验一进程控制与描述一、实验目的通过对Windows 2000编程,进一步熟悉操作系统的基本概念,较好地理解Windows 2000的结构。
通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。
三、实验内容和步骤第一部分:Windows 2000 Professional下的GUI应用程序,使用Visual C++编译器创建一个GUI应用程序,代码中包括了WinMain()方法,该方法GUI类型的应用程序的标准入口点。
程序1-1 Windows 2000的GUI应用程序也可以利用任何其他文本编辑器键入程序代码,如果这样,例如使用WORD来键入和编辑程序,则应该注意什么问题?保存时,将文件保存为扩展名为*.cpp的C++源文件。
在程序1-1的GUI应用程序中,首先需要Windows.h头文件,以便获得传送给WinMain() 和MessageBox() API 函数的数据类型定义。
接着的pragma指令指示编译器/连接器找到User32.LIB库文件并将其与产生的EXE文件连接起来。
这样就可以运行简单的命令行命令CL MsgBox.CPP来创建这一应用程序,如果没有pragma指令,则MessageBox() API 函数就成为未定义的了。
这一指令是Visual Studio C++ 编译器特有的。
接下来是WinMain() 方法。
其中有四个由实际的低级入口点传递来的参数。
hInstance参数用来装入与代码相连的图标或位图一类的资源,无论何时,都可用GetModuleHandle() API函数将这些资源提取出来。
系统利用实例句柄来指明代码和初始的数据装在内存的何处。
句柄的数值实际上是EXE文件映像的基地址,通常为0x00400000。
下一个参数hPrevInstance是为向后兼容而设的,现在系统将其设为NULL。
甘肃政法学院本科生实验报告(一)姓名:唐明海学院:信息工程学院专业: 信息管理与信息系统班级:2012级信管班实验课程名称:操作系统实验实验日期: 2014 年 10 月日指导教师及职称:何正祥实验成绩:开课时间: 2014至2015 学年第一学期甘肃政法学院实验管理中心印制一、实验目的1、熟悉虚拟机的安装。
2、掌握windows下60条基本DOS命令的使用。
3、掌握Linux下30条DOS命令的使用。
二.实验环境1、W in7操作系统+VMware10+Linux系统2、实验室网络环境三、实验内容与步骤1、下载和安装VMware10和创建新虚拟机并且能成功安装Linux系统;2、windows下DOS命令的练习:windows+R键输入CMD进入DOS窗口;3、你虚拟机中,进入系统工具,进入终端用户,进入了Linux的DOS命令窗口。
四、实验过程与分析1、V Mware10的安装和下载,步骤如下:(2)、双击程序自动解压,解压完成后进入安装向导。
(3)、安装向导,点击下一步;(7)、输入许可证秘钥:JV2XE-AY0D5-4Z1K9-NAAQH-XXXXX 点击输入,提示安装完成;并在桌面生成快捷方式。
点击运行:(8)、软件安装完成后的界面。
2、新建Linux虚拟机步骤如下:一步”3(10)、硬件兼容性选择“Workstation 10.0”,选择“下一步”1. 4 (11)、选择“稍后安装操作系统”,“下一步”2. 5(12)、客户机操作系统选择“linux”,然后选择相应的版本号(13)、设置虚拟机名称和存放的位置(14)、根据实际情况,设置处理器数量、核心数量(15)、设置虚拟机的内存(16)创建网络类型(17)、选择I/O控制器类型(18)、选择磁盘类型(19)、创建新虚拟磁盘(20)、指定磁盘大小等3、L inux系统安装步骤如下:(1)、选择虚拟镜像文件:(2)、启动虚拟机:打开虚拟机电源,运行虚拟机(3)、选择skip,此步为是否检测linux系统,我们选择"skip",跳过检测。
实验一
实验一安装操作系统
一.实验目的
通过对OS的安装操作,了解操作系统应用环境建立的初步过程。
1.掌握操作系统的基本系统设置。
2.熟练掌握操作系统的安装步骤。
二.实验属性
验证
三.实验内容
安装OS
四.实验步骤
1.把系统盘安装到本地计算机。
2.安装步骤
第一步:插入OS安装光盘,重新启动计算机。
第二步
第三步:按提示分阶段装入系统。
第四步:配置系统。
五.实验报告
请以一种具体的操作系统(windows 2000/xp,linux,unix等等)为例,说明其实现五大功能:处理机管理,存储管理,设备管理,文件系统,用户接口所采用的方法。
介绍windows的系统进程。