操作系统实验题目
实验一-Windows操作系统进行安全配置
实验一-Windows操作系统进行安全配置
实验一
Windows操作系统进行安全配置
一,实验目的
理解操作系统安全对电子商务系统安全的重要性
熟悉操作系统的安全机制,以及Windows的安全策略
掌握对Windows操作系统进行安全配置的基本方法和步骤
二,实验环境
实验设备:PC机及其局域网,具备Internet连接
软件环境:Windows XP
三,实验内容
内容1:账户和密码的安全设置
1.删除不再使用的账户
(1)检查和删除不再使用的账户
“开始” →“控制面板"→“管理工具” →“计算机管理” →“本地用户和组” →“用户” →“删除其中不再使用的账户”
(2)禁用Guest账户
在1.基础上→选“Guest 账户” →“属性” →“Guest属性” →“账户已停用”
2.启用账户策略
(1)密码策略
“控制面板” →“管理工具” →“本地安全策略” →“本地安全设置” →“账户策略” →“密码策略”→设置如下:
设:“密码必须符合复杂性要示”启用
设:“密码长度最小值” 8位
设:“密码最长存留期” 30天
设:“密码最短存留期” 5天
设:“强制密码历史” 3个记住的密码
(2)账户锁定策略
“控制面板” →“管理工具” →“本地安全策略” →“本地安全设置” →“账户策略” →“账户锁定策略”→设置如下:“账记锁定阈值”可抵御“对用户密码的暴力猜测”:设为“3”
“复位账户锁定计数器”被锁定的账户多长时间可被复位“0”:“3分”
“账户锁定时间” 被锁定后的账户,多长时间才能重新使用:“10分”。
操作系统实验题
1、在操作系统中,进程与线程的主要区别是什么?A. 进程是资源分配的基本单位,线程是处理器调度的基本单位B. 进程和线程都是资源分配和处理器调度的基本单位C. 线程是资源分配的基本单位,进程是处理器调度的基本单位D. 进程和线程都不涉及资源分配问题(答案:A)2、以下哪种调度算法可能会导致饥饿问题?A. 先来先服务(FCFS)B. 短作业优先(SJF)C. 时间片轮转(Round Robin)D. 优先级调度(非抢占式)(答案:B)3、在操作系统的存储管理中,分段存储管理方式的主要目的是?A. 提高内存利用率B. 实现内存保护C. 方便用户编程D. 提高程序运行速度(答案:C)4、关于死锁,以下哪个说法是正确的?A. 死锁是指多个进程因竞争资源而无限期等待的现象B. 死锁只可能发生在多道批处理系统中C. 死锁发生时,系统中一定存在多个进程同时处于就绪状态D. 预防死锁的方法之一是破坏“请求和保持”条件,即要求进程一次性申请所有所需资源(答案:A,注:同时D也是预防死锁的一种方法,但题目要求选择正确说法,A更直接描述了死锁的定义)5、在操作系统的文件系统中,目录结构的主要作用是?A. 实现文件的按名存取B. 提高文件存储的效率C. 增强文件系统的安全性D. 便于用户对文件进行备份(答案:A)6、下列哪一项不是虚拟内存技术的优点?A. 扩大内存容量B. 提高内存利用率C. 简化内存管理D. 加快程序运行速度(在某些情况下可能因换页开销而减慢)(答案:D)7、在操作系统的设备管理中,缓冲区的设置主要是为了?A. 提高设备利用率B. 缓和CPU与I/O设备之间速度不匹配的矛盾C. 实现设备的即插即用D. 减少I/O操作的次数(答案:B)8、关于操作系统的中断机制,以下哪个说法是错误的?A. 中断是由硬件或软件发出的,用于请求CPU处理的事件B. 中断处理过程中,CPU会暂停当前程序的执行,转而执行中断处理程序C. 中断向量表是存储中断处理程序入口地址的表D. 在所有情况下,中断处理程序的执行优先级都高于当前正在运行的程序(答案:D,注:中断处理程序的优先级通常较高,但并非在所有情况下都绝对高于所有正在运行的程序,特别是在某些实时系统中可能有更复杂的优先级策略)。
操作系统实验二报告-时间片轮转进程调度算法1
操作系统实验报告实验二时间片轮转进程调度算法学号:班级:姓名:【实验题目】: 时间片轮转进程调度算法【实验目的】通过这次实验, 加深对进程概念的理解, 进一步掌握进程状态的转变、进程调度的策略与对系统性能的评价方法。
【实验内容】问题描述:设计程序模拟进程的时间片轮转RR 调度过程。
假设有n 个进程分别在T1, … ,Tn 时刻到达系统, 它们需要的服务时间分别为S1, … ,Sn 。
分别利用不同的时间片大小q, 采用时间片轮转RR 进程调度算法进行调度, 计算每个进程的完成时间, 周转时间和带权周转时间, 并且统计n 个进程的平均周转时间和平均带权周转时间。
程序要求如下:1)进程个数n ;每个进程的到达时间T 1, … ,T n 和服务时间S 1, … ,S n ;输入时间片大小q 。
2)要求时间片轮转法RR 调度进程运行, 计算每个进程的周转时间, 带权周转时间, 并且计算所有进程的平均周转时间, 带权平均周转时间;3)输出: 要求模拟整个调度过程, 输出每个时刻的进程运行状态, 如“时刻3: 进程B开始运行”等等;4)输出:要求输出计算出来的每个进程的周转时间, 带权周转时间, 所有进程的平均周转时间, 带权平均周转时间。
实现提示:用C++语言实现提示:1)程序中进程调度时间变量描述如下:int ArrivalTime[100];int ServiceTime[100];int PServiceTime[100];int FinishTime[100];int WholeTime[100];double WeightWholeTime[100];double AverageWT,AverageWWT;bool Finished[100];➢2)进程调度的实现过程如下:➢变量初始化;➢接收用户输入n, T1, … ,Tn, S1, … ,Sn;时间片大小q;➢按照时间片轮转RR算法进行进程调度, 计算进程的完成时间、周转时间和带权周转时间;➢计算所有进程的平均周转时间和平均带权周转时间;➢按格式输出调度结果。
2008软本操作系统实验试题
第一套题:文件更名要求:1.在系统中建立一个文件(文件名自定)。
(10分)2.用rename函数编写一个C程序(程序名自定)更改第一点要求中的文件名(文件名自定);在程序中应有如下基本功能:当执行文件时,使用方法出错,请给出提示,如程序名参数1参数2,并退出;如rename函数调用不成功,给出相应的出错信息,否则,给出相应的成功信息。
(60分)3.调试成功。
(20分)4.用相应的命令查看调试结果。
(10分)注:rename函数原型是:itn rename( const char*oldname, const char *newname)第二套题:改变当前目录到指定目录要求:1.在系统中建立一个用建目录命令(目录名自定)。
(10分)2.用chdir和getwd函数编写一个C程序(程序名自定)改变当前目录到指定目录,然后打印出该目录名。
在程序中应有如下基本功能:当执行文件时,使用方法出错,请给出提示,如程序名参数,并退出;如chdir函数调用不成功,给出相应的出错信息,退出。
否则,调用getwd函数,如getwd函数调用不成功,给出相应的出错信息,退出。
否则,打印该目录名。
(60分)3.调试成功。
(20分)4.用相应的命令查看指定目录。
(10分)注:getwd函数原型是:itn getwd (char*pathbuf);它的功能确定调用进程当前工作目录的绝对路经名,复制该路经名所指、由我们自己提供的字符数组中,然后返回指向该数组的指针。
调用成功返回0,否则,返回-1。
chdir函数原型是:itnchdir ( const char*pathname);它的功能是pathname指定的目录成为当前目录,调用成功返回0,否则,返回-1。
该程序需要有头文件:unistd.h 、stdlib.h、limits.h。
第三套题:用fork( )编写一个创建进程的C程序要求:1.用fork( )编写一个创建进程的C程序(程序名自定)。
操作系统试验题
操作系统试验题操作系统实验题1.启动计算机,观察屏幕画面变化和提示,思考启动过程中计算机所做的工作。
2.查看系统属性:本机的名字、处理器信息、操作系统信息、内存大小等。
3.在Windows7的计算机管理中:(1)查看本机安装了几块硬盘,每块硬盘有几个分区?(2)创建一个虚拟磁盘(VHD),将这个虚拟磁盘初始化(选择MBR分区形式),并分成两个主分区,对每个分区格式化(选择最大分配单元)。
在其中一个分区中新建一个文本文件,在文本文件中写入一个字符,保存关闭文件,查看文件属性中文件大小和占用空间分别是多少。
4.分析C盘是否需要碎片整理?5.下载一个应用程序,将其安装到本机上,观察开始菜单是否添加了相应项;最后再将该程序卸载(如果本机已经安装了该程序,可先卸载再安装)。
6.打开任一应用程序,利用“任务管理器”,将其关闭。
7.改变屏幕分辨率,观察屏幕显示的变化。
8.删除一种输入法,然后再将其添加上。
9.查找文件calc.exe,并在桌面为其创建快捷方式。
10.观察资源管理器窗口中的“编辑”菜单,验证并记住常用的快捷键。
11.①在磁盘的任一分区目录下创建一个文件夹“Text”,并在该文件夹中创建一个文本文件“TextFile”。
②将“Text”文件夹的属性设为隐藏,并刷新“Text”所在的文件夹,观察是否还能看到“Text”文件夹。
如果不能看到,请将其显示出来,如果还能看到,请将其隐藏再显示出来。
③将文件“T extFile”的扩展名显示出来,如果已经显示了扩展名,请将其隐藏。
12.新建一个库,将D:盘中的一个文件夹包含进去,然后在库中删除文件夹中的文件,观察该文件是否真的删除了。
再删除这个库,观察D:盘中的文件夹是否真的删除了,从而体会库与一般文件夹的区别和作用。
《操作系统》实验二
《操作系统》实验二一、实验目的本实验旨在加深对操作系统基本概念和原理的理解,通过实际操作,提高对操作系统设计和实现的认知。
通过实验二,我们将重点掌握进程管理、线程调度、内存管理和文件系统的基本原理和实现方法。
二、实验内容1、进程管理a.实现进程创建、撤销、阻塞、唤醒等基本操作。
b.设计一个简单的进程调度算法,如轮转法或优先级调度法。
c.实现进程间的通信机制,如共享内存或消息队列。
2、线程调度a.实现线程的创建、撤销和调度。
b.实现一个简单的线程调度算法,如协同多任务(cooperative multitasking)。
3、内存管理a.设计一个简单的分页内存管理系统。
b.实现内存的分配和回收。
c.实现一个简单的内存保护机制。
4、文件系统a.设计一个简单的文件系统,包括文件的创建、读取、写入和删除。
b.实现文件的存储和检索。
c.实现文件的备份和恢复。
三、实验步骤1、进程管理a.首先,设计一个进程类,包含进程的基本属性(如进程ID、状态、优先级等)和操作方法(如创建、撤销、阻塞、唤醒等)。
b.然后,实现一个进程调度器,根据不同的调度算法对进程进行调度。
可以使用模拟的方法,不需要真实的硬件环境。
c.最后,实现进程间的通信机制,可以通过模拟共享内存或消息队列来实现。
2、线程调度a.首先,设计一个线程类,包含线程的基本属性(如线程ID、状态等)和操作方法(如创建、撤销等)。
b.然后,实现一个线程调度器,根据不同的调度算法对线程进行调度。
同样可以使用模拟的方法。
3、内存管理a.首先,设计一个内存页框类,包含页框的基本属性(如页框号、状态等)和操作方法(如分配、回收等)。
b.然后,实现一个内存管理器,根据不同的内存保护机制对内存进行保护。
可以使用模拟的方法。
4、文件系统a.首先,设计一个文件类,包含文件的基本属性(如文件名、大小等)和操作方法(如创建、读取、写入、删除等)。
b.然后,实现一个文件系统管理器,包括文件的存储和检索功能。
操作系统实验及答案
实验 5 文件系统设计
1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。
2、实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少 4 条);
先vi 命令是打开 vi 编辑器。后面的 filename.c 是用户即将编辑的 c 文件名字,注意扩展名字是. c; 当然,vi 编辑器功能很强,可以用它来编辑其它格式的文件,比如汇编文件,其扩展名字是.s;也 可以直接用 vi 打开一个新的未命名的文件,当保存的时候再给它命名,只是这样做不很方便。 2. 最基本的命令 I :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的 I 键(insert),插 入的意思,就可以进入编辑模式了。如下图所示:
4
②在上面的程序中增加语句signal (SIGNAL, SIG-IGN) 和signal (SIGQUIT, SIG-IGN), 观察执行结 果,并分析原因。
(4)进程的管道通信 编制一段程序,实现进程的管理通信。 使用系统调用pipe()建立一条管道线;两个子进程P1 和P2 分别向管道中写一句话: Child 1 is sending a message! Child 2 is sending a message! 而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。 要求父进程先接收子进程P1 发来的消息,然后再接收子进程P2 发来的消息。 4、思考 (1)系统是怎样创建进程的? (2)可执行文件加载时进行了哪些处理? (3)当首次调用新创建进程时,其入口在哪里? (4)进程通信有什么特点?
1
mkdir 目录名 ; mkdir /home/s2001/newdir 7.删除目录:rmdir; 8.复制文件 cp: 如 cp 文件名 1 文件名 2 9.移动文件或目录: mv 10.删除文件 rm 11. 显示文件内容:more (分页显示); 12. 显示文件:cat 文件名 建立文件:cat >文件名,ctrl+d 结束输入 使用编辑器 vi 编辑文件 1. 进入 linux 的文本模式之后,在命令行键入 vi filename.c 然后回车。下面作一些简单的解释:首
linux操作系统实验题目
[解答]mv large memos
10.显示一个文件的后五行
[解答]tail –n 5 large
11.显示一个文件的前五行
[解答]head –n 5 large
12.把一个文件的最后30个字符存到另一个文件中
[解答]tail –c 30 large>>myfile
b、这只是gcc最最基本的用法。
2.调试下面c语言程序,并在实验报告中说明该程序的功能。
#i nclude <stdio.h>
main() {
int n,a[200],carry,temp,i,j,digit = 1;
printf("Please input n:");
scanf("%d",&n);
1用linux启动光盘启动计算机2选择安装语言鼠标键盘等3选择安装类型服务器工作站自定升级4为磁盘划分linux分区与swap分区5选择引导装载程序与记录引导程序的位置6依次配置网络防火墙语言及时区7配置帐号与密码8选择合适的软件包9进行图形界面配置10安装软件包11创建引导盘12进行x窗口设置13安装完成
⑴用静态数组或二维数组形式定义命令保留字表和shell命令字表。静态数组形式如下:static char * cst [ ]="dir"…"end";static char * scwt [ ]="ls —l"…"exit";
⑵输入命令字gets(string);
⑶分离命令字strcspn();strncpy()
} }
printf("Result is:\n%d ! = ",n);
操作系统课程设计题目及任务
题目1:时间片轮转调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用时间片轮转调度算法作为进程调度算法。
具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。
进程控制块的作用和结构,进程控制块的链表组织。
进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。
2、设计进程控制块相关数据结构,进程状态跃迁的相关模拟;3、实现时间片进程调度算法模拟程序设计、编码及调试。
题目2:静态优先级调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用静态优先级调度算法作为进程调度算法。
具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。
进程控制块的作用和结构,进程控制块的链表组织。
进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。
2、设计进程控制块相关数据结构,进程状态跃迁的相关模拟;3、实现静态优先级调度算法模拟程序设计、编码及调试。
题目3:最短剩余时间优先(动态优先)调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用最短剩余时间优先调度算法作为进程调度算法。
具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。
进程控制块的作用和结构,进程控制块的链表组织。
进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。
2、设计进程控制块相关数据结构,进程状态跃迁的相关模拟;3、实现最短剩余时间优先调度算法模拟程序设计、编码及调试。
题目4 作业调度设计1、目的本实验的目的是通过模拟作业调度算法的设计加深对作业管理基本原理的理解。
2、内容⑴在后备作业队列中,输入5个作业各自运行所需要的时间及存储空间。
①按先来先服务的原则进行调度,输出作业调度的顺序及等待的时间。
②按最短作业(即运行时间最短)优先的原则进行调度,输出作业调度的顺序及等待时间。
③按最小作业(即存储空间最小)优先的原则进行调度,输出作业调度的顺序及等待的时间。
操作系统实验复习题(带答案)
操作系统实验复习题1. 目录操作(要求:写出相应的命令,并把执行过程截图)●在/home目录下建立自己的子目录mydir。
mkdir mydir●进入/home/mydir,创建多个子目录。
cd mydirmkdir –p newdirmkdir –p newdir1●查看当前目录下创建的子目录的详细情况。
ls –F /●删除部分子目录。
rmdir newdir1●查看当前目录下创建的子目录和文件的详细情况。
ls -a●回退到上级目录cd ..2. 文件操作(要求:写出相应的命令,并把执行过程截图)●当前目录下,用文件编辑器gedit创建新的文件file.c 。
gedit file.c●ls –l 长格式显示目录清单,查看文件权限。
ls-l●创建子目录newdir,复制文件file.c到newdir目录。
mkdir –p newdircp file.c newdir●将file.c改名为myfile.c。
mv file.c myfile.c3. 编写一段程序,使用系统调用fork()创建两个子进程。
当此程序运行时,在系统中有一个父进程和两个子进程活动。
让每一个进程在屏幕上显示一段字符信息。
(要求:把代码、程序编译和运行结果截图)#include<stdio.h> main(){int p1,p2;p1=fork();if(p1==0) {printf("This is child process 1! pid is %d:\n",getpid());}else if(p1>0){printf("This is parent process! pid is %d:\n",getpid());p2=fork();if(p2==0){printf("This is child process 2! pid is %d:\n",getpid());}else if(p2>0){printf("This is parent process! pid is %d:\n",getpid());}else{printf("fork()error!\n"); }}else{printf("fork()error!\n"); }}4. 编译并并运行以下程序,利用kill命令对该后台执行程序的,分别执行让它暂停、恢复执行和终止控制方式,期间多次使用ps -l命令查看进程状态。
Windows操作系统实验1
Windows操作系统实验实验一Windows基本操作●建立一个文件夹,命名格式为:你的学号的最后两位+你的姓名,如“01王伟”。
以下所有文档都保存在此文件夹中。
全部作业做完后,把此文件夹复制到teacher机上所指定的你所在班级文件夹中。
●任选10道题把你操作结果的界面屏幕拷贝到word中,保存成一个文件,文件名自定。
一.实验内容练习1.Win 的桌面管理操作:1.同时打开画图、计算器和记事本等三个应用程序,分别使用任务栏和键盘进行窗口切换;2.将桌面上的所有窗口排列成“横向平铺”显示,互不重叠;3.设置任务栏的属性为自动隐藏;4.在桌面上新建一个名为“上机实验作业”的文件夹;5.将系统“日期/时间属性”对话框的画面,复制到“写字板”应用程序的文档中,文件名为A1.DOC;6.将当前整个屏幕的图像信息复制到剪贴板,再从剪贴板粘贴到画图程序的文档中,文件名为A2.JPG;7.在桌面上创建“资源管理器”的快捷方式;8.将桌面上“资源管理器”的快捷方式更名为“文件管理器”;9.删除桌面上“文件管理器”的快捷方式图标;10.设置在将文件移入回收站时,不显示“删除确认”的对话框;11.清空回收站。
练习2.Win 的开始菜单操作:1.使用磁盘清理程序删除不需要的文件及Win 组件;2.将“记事本”应用程序设置为启动Win 后自动运行的方式;3.将“开始”菜单“程序/附件/娱乐”组中“播放器”程序项,移动至“程序”组中;4.在Win 的帮助系统中,查找关于设置共享打印机方法的说明信息;5.利用“开始”菜单中的“搜索”功能,在C盘上查找所有文件扩展名为. BMP的文件;6.利用“开始”菜单中的“搜索”功能,查找2010年9月1日创建的所有Word文档(文件扩展名为.DOC)文件;7.利用“开始”菜单中的“运行”项,启动字处理应用程序Microsoft Word;8.清除“开始”菜单中“文档”项目中最近使用的文件;9.在MS-DOS方式窗口中,显示C盘根文件夹下的所有可执行文件的清单列表;10.将“开始”菜单“程序”组中的“Microsoft Word”、“Microsoft Excel”和“Microsoft PowerPoint”等三个程序项,发送到“桌面快捷方式”。
《操作系统》实验题目
引言操作系统是计算机专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。
操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。
本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。
选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。
实验题目一:模拟进程创建、终止、阻塞、唤醒原语一、题目类型:必做题目。
二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进程控制功能的理解,掌握操作系统模块的设计方法和工作原理。
三、实验环境:1、硬件:pc 机及其兼容机。
2、软件:Windows OS ,MS —DOS OS ,Turbo C 或C++、VC++等。
四、实验内容:1、设计创建、终止、阻塞、唤醒原语功能函数。
2、设计主函数,采用菜单结构(参见后面给出的流程图)。
3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供随时查看各队列中进程的变化情况。
五、实验要求:1、进程PCB 中应包含以下内容:2、系统总体结构:其中:进程名用P1,P2标识。
优先级及运行时间:为实验题目二做准备。
状态为:就绪、运行、阻塞,三种基本状态。
指针:指向下一个PCB 。
六、各功能简要说明:1、创建:在本实验中,该功能仅实现建立PCB,初始化PCB,并将该PCB放入就绪队列中。
2、阻塞:在本实验中,实现的功能为,根据用户输入的进程名称在就绪队列中查找该进程,若该进程存在且在就绪队列中,则修改该进程PCB的状态,并将该进程从就绪队列转入阻塞队列;若该进程存在且已在阻塞队列中,则给出相应的提示信息;若该进程不存在,也需要给出相应的提示信息。
操作系统课程设计报告题目及代码
题目一模拟操作系统设计设计一个模拟操作系统管理程序,实现以下管理功能:1.内存管理功能2.文件管理功能3.磁盘管理功能题目二虚拟存储器各页面置换算法的实现与比较内容:设计一个虚拟存储区和内存工作区,通过产生一个随机数的方法得到一个页面序列,假设内存给定的页面数由键盘输入,分别计算使用下述各方法时的内存命中率:先进先出算法〔FIFO〕、最近最少使用算法〔LRU〕、最正确淘汰算法〔OPT〕、最少页面算法〔LFU〕等。
题目三文件系统设计通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。
内容:为Linu*系统设计一个简单的二级文件系统,以实现以下功能:1.可以实现以下几条命令(1)login 用户登录(2)dir 文件目录列表(3)creat 创立文件(4)delete 删除文件(5)open 翻开文件(6)close 关闭文件(7)read 读文件(8)write 写文件2.实验提示〔1〕首先确定文件系统的数据构造:主目录、子目录及活动文件等。
主目录和子目录都以文件的形式存放在磁盘,这样便于查找和修改。
〔2〕用户创立的文件,可以编号存储于磁盘上。
如file0、file1、file2……等,并以编号作为物理地址,在目录中进展登记。
[清华大学?操作系统教程? *丽芬编著题目四设计一个按时间片轮转法进程CPU调度的程序。
提示:〔1〕假设系统有5个进程,每个进程用一个进程控制块PCB来代表,PCB中包含进程名、指针、到达时间、估计运行时间、进程状态表。
其中,进程名即为进程进标识。
〔2〕为每一个进程设计一个要示运行时间和到达时间。
〔3〕按照进程到达的先后顺序排成一个循环队列,再设一个队首指针指向第一个到达的进程首址。
〔4〕执行处理机调度时,开场选择队首的第一个进程运行。
另外再设一个当前运行进程指针,指向当前正运行的进程。
〔5〕由于本实验是模拟实验,所以对被选中进程并不实际启运运行,只是执行:a.估计驼行时间减1b.输出当前运行进程的名字。
操作系统实验题目及实验报告要求
实验报告实验课程:操作系统实验学生姓名:王桥学号:6100412024专业班级:计科123班2014年 6月3 日目录一、实验一 (1)二、实验二 (7)三、实验三 (21)四、实验四 (28)五、实验五 (33)南昌大学实验报告---(1)操作系统安装及其接口环境学生姓名:王桥学号:6100412024 专业班级:计科123班实验类型:■验证□综合□设计□创新实验日期:实验成绩:一、实验目的熟悉Windows//Linux操作系统的安装过程与安装方法,并掌握该操作系统所提供的用户接口环境,并为后续实验做好编程环境准备。
二、实验内容1、熟悉Windows//Linux操作系统的安装过程与安装方法,并掌握该操作系统所提供的用户接口环境,通过系统提供的用户管理程序、查看系统中的用户情况、进程、线程、内存使用情况等,学会使用它进行监视进程的状况、系统资源的使用情况及用户情况。
并为后续实验做好编程环境准备。
2、用C语言编写一小段程序,使其可以通过某个系统调用来获得OS提供的某种服务。
三、实验要求1.了解所安装的操作系统对软硬件资源的具体要求;2.机器最低硬件配置要求;3.操作系统所提供的用户接口环境的熟悉;4.了解主要BIOS CMOS参数的含义及其设置方法;5.掌握程序编写中系统调用的方法。
四、主要实验步骤1、选择语言为中文:2)选择第一项“试用Ubuntu 而不改变计算机中的任何内容”,进入live 桌面后点击“安装”图标。
1)选择语言,可以根据你自己的喜好选择,当然是选择中文(简体)了2)选择时区,默认上海就可以3)选择键盘布局,一般默认U.S.A 就可以4)准备分区,这是安装过程中最重要的一步。
选择手动。
5)准备分区,这是安装过程中最重要的一步。
6)填写用户信息。
7)文件迁移向导,点击下一页。
8)准备安装。
9)安装完成,重新启动。
10)界面如下南昌大学实验报告---(2)编程模拟进程间的同步和互斥学生姓名:王桥学号:6100412024 专业班级:计科123实验类型:□验证□综合■设计□创新实验日期:实验成绩:一、实验目的通过实验加强对进程同步和互斥的理解,并掌握进程(线程)的创建和调用方法。
操作系统实验一
操作系统实验一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桌面环境的主要区别。
操作系统实验(四)实验报告--虚拟内存
操作系统实验(四)实验报告--虚拟内存操作系统实验(四)虚拟内存1、实验题目页面置换算法模拟——OPT、FIFO和LRU算法2、实验目的了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法,如最佳(Optimal)置换算法、先进先出(Fisrt In First Out)置换算法和最近最久未使用(Least Recently Used)置换算法3、实验内容1)OPT算法:需要发生页面置换时,算法总是选择在将来最不可能访问的页面进行置换。
2)FIFO算法:算法总是选择在队列中等待时间最长的页面进行置换。
3)LRU算法:如果某一个页面被访问了,它很可能还要被访问;相反,如果它长时间不被访问,那么,在最近未来是不大可能被访问的。
4、程序代码#include<iostream>#include <cstdlib>#include <time.h>#include <cstdio>#define L 30///页面走向长度最大为30using namespace std;int M=4; ///内存块struct P///定义一个结构体{int num,time;}p[30];int Input(int m,P p[L])///打印页面走向状态{m=30;int i,j;j=time(NULL);///取时钟时间srand(j);///以时钟时间x为种子,初始化随机数发生器cout<<"页面走向: ";for(i=0; i<m; i++){p[i].num=rand( )%10;///产生1到10之间的随即数放到数组p中p[i].time=0;cout<<p[i].num<<" ";}cout<<endl;return m;}void print(P *page1)///打印当前的页面{P *page=new P[M];page=page1;for(int i=0; i<M; i++)cout<<page[i].num<<" ";cout<<endl;}int Search(int e,P *page1 )///寻找内存块中与e相同的块号{P *page=new P[M];page=page1;for(int i=0; i<M; i++)if(e==page[i].num)return i; ///返回i值return -1;}int Max(P *page1)///寻找最近最长未使用的页面用于OPT算法{P *page=new P[M];page=page1;int e=page[0].time,i=0;while(i<M) ///找出离现在时间最长的页面{if(e<page[i].time) e=page[i].time;i++;}for( i=0; i<M; i++)if(e==page[i].time)return i; ///找到离现在时间最长的页面返回其块号return -1;}int Count(P *page1,int i,int t,P p[L])///记录当前内存块中页面离下次使用间隔长度用于OPT算法{P *page=new P[M];page=page1;int count=0;for(int j=i; j<L; j++){if(page[t].num==p[j].num )break;///当前页面再次被访问时循环结束else count++;///否则count+1}return count;///返回count的值}int main(){int c=1;int m=0,t=0;float n=0;///缺页次数m=Input(m,p);///调用input函数,返回m值M=4;P *page=new P[M];///dowhile(c==1||c==2||c==3){int i=0;for(i=0; i<M; i++) ///初试化页面基本情况{page[i].num=0;page[i].time=m-1-i;}cout<<"1:FIFO页面置换"<<endl;cout<<"2:LRU页面置换"<<endl;cout<<"3:OPT页面置换"<<endl;cout<<"按其它键结束程序;"<<endl;cin>>c;if(c==1)///FIFO页面置换///FIFO();{n=0;cout<<" FIFO算法页面置换情况如下: "<<endl;cout<<endl;while(i<m){if(Search(p[i].num,page)>=0) ///当前页面在内存中{cout<<p[i].num<<" "; ///输出当前页p[i].numcout<<" "<<endl;i++; ///i加1}else ///当前页不在内存中{if(t==M)t=0;else{n++; ///缺页次数加1page[t].num=p[i].num; ///把当前页面放入内存中cout<<p[i].num<<" ";print(page); ///打印当前页面t++; //下一个内存块i++; ///指向下一个页面}}}cout<<"缺页次数:"<<n<<" 缺页率:"<<n<<"/"<<m<<" ="<<n/m<<endl;}if(c==2)///LRU页面置换,最近最久未使用{n=0;cout<<" LRU算法页面置换情况如下: "<<endl;cout<<endl;while(i<m){int a;t=Search(p[i].num,page);if(t>=0)///如果已在内存块中{page[t].time=0;///把与它相同的内存块的时间置0for(a=0; a<M; a++)if(a!=t)page[a].time++;///其它的时间加1cout<<p[i].num<<" ";cout<<"不缺页"<<endl;}else ///如果不在内存块中{n++; ///缺页次数加1t=Max(page); ///返回最近最久未使用的块号赋值给tpage[t].num=p[i].num; ///进行替换page[t].time=0; ///替换后时间置为0cout<<p[i].num<<" ";print(page);for(a=0; a<M; a++)if(a!=t)page[a].time++; ///其它的时间加1}i++;}cout<<"缺页次数:"<<n<<" 缺页率:"<<n<<"/"<<m<<" = "<<n/m<<endl;}if(c==3)///OPT页面置换{n=0;cout<<" OPT算法置换情况如下:"<<endl;cout<<endl;while(i<m){if(Search(p[i].num,page)>=0)///如果已在内存块中{cout<<p[i].num<<" ";cout<<" "<<endl;i++;}else///如果不在内存块中{int a=0;for(t=0; t<M; t++)if(page[t].num==0)a++;///记录空的内存块数if(a!=0) ///有空内存块{int q=M;for(t=0; t<M; t++)if(page[t].num==0&&q>t)q=t;///把空内存块中块号最小的找出来page[q].num=p[i].num;///把缺页换过来n++; ///缺页次数加一cout<<p[i].num<<" ";print(page);i++;}else{int temp=0,s;for(t=0; t<M; t++) ///寻找内存块中下次使用离现在最久的页面if(temp<Count(page,i,t,p)){temp=Count(page,i,t,p);s=t;}///把找到的块号赋给spage[s].num=p[i].num;n++;cout<<p[i].num<<" ";print(page);i++;}}}cout<<"缺页次数:"<<n<<" 缺页率:"<<n<<"/"<<m<<" = "<<n/m<<endl;}}///while(c==1||c==2||c==3);return 0;}5、心得体会通过该实验,是我对虚拟内存更加了解,对最佳置换算法、先进先出算法、最近最久算法更加了解。
网络操作系统 实验作业3参考答案
实验作业3【问题与思考】1、在Linux系统中,哪个文件定义了用户的信息________。
A. /etc/passwdB./etc/usersC./etc/infoD./etc/resolv.conf2、在Linux系统中,如何获取命令“iostat”的帮助信息_______。
A.man iostat B.? –k iostatC.help iostat D.sos -iostat3、下列哪个命令可以将输出到标准输出设备上的信息保存到文件 /tmp/user.dat 中________。
A. > /tmp/user.datB. < /tmp/user.datC. ! /tmp/user.datD. % /tmp/user.dat4、Linux系统中,哪个文件保存了用户账户的加密口令信息_______。
A./etc/securityB./etc/shadowC./etc/passwdD. /etc/inittab5、在Linux中,命令解释器是哪个。
A、管道B、分级文件系统C、字符型处理器D、 shell6、在Linux中,要删除abc目录及其全部内容的命令为。
A、rm abcB、rm -r abcC、rmdir abcD、rmdir -r abc7、请选出创建用户ID是200,组ID是1000,用户主目录为/home/user01的新用户user01的正确命令是:。
A、adduser -u:200 -g:1000 -h:/home/user01 user01B、adduser -u=200 -g=1000 -d=/home/user01 user01C、useradd -u 200 -g 1000 -d /home/user01 user01D、useradd -u 200 -g 1000 -h /home/user01 user018、Linux操作系统中的shell是。
A、命令解释器B、程序设计语言C、脚本编辑器D、编译器9、CentOS系统中用户默认的Shell是。
操作系统原理实验题
《操作系统原理》实验考核方式与基本要求:1)按要求设计相应的模拟系统并上机调试运行2)写出详细的实验报告,实验报告要求如下:(1)实验题目。
(2)程序中使用的数据结构及符号说明。
(3)流程图。
(4)打印一份源程序并附上注释。
(5)打印程序运行时的初值和运行结果。
实验报告可参考附录A中的规范进行编写。
基本要求: 4人为一小组,采取课内上机和业余上机相结合的方式进行,在规定时间内每个小组以实验报告形式上交实验(设计)结果并上机演示说明。
㈠进程管理㈡模拟PV操作同步机构,且用PV操作解决生产者——消费者问题。
㈢银行家算法㈣模拟分页式存储管理中硬件的地址转换和产生缺页中断㈤用先进先出(FIFO)页面调度算法处理缺页中断㈥用最近最少用(LRU)页面调度算法处理缺页中断㈦设计一个按优先数调度算法实现处理器调度的进程㈧设计一个按时间片轮转法实现处理器调度的程序㈨模拟实现一个简单的固定(或可变)分区存储管理系统㈩模拟实现单通路I/O系统中的设备分配程序实验一进程管理1.实验内容至少要有:创建新的进程;查看运行进程;换出某个进程;杀死运行进程以及进程之间通信等功能。
㈠进程管理2.实验提示PCB结构通常包括以下信息:进程名,进程优先数,轮转时间片,进程所占用的CPU 时间,进程的状态,当前队列指针等。
可根据实验的不同,PCB结构的内容可以作适当的增删。
例:实验运行结果********************************************* 进程演示系统*********************************************1.创建新的进程2.查看运行进程3.换出某个进程4.杀死运行进程5.进程之间通信6.退出系统********************************************请选择(1~6)然后根据你选择的不同,出现不同的结果。
实验二同步机构1、实验内容㈡第一题:模拟PV操作同步机构,且用PV操作解决生产者——消费者问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统实验
上机准备:
➢熟悉Cygwin环境
➢编译源程序使用gcc 源程序名–o 目标文件名(缺省为
a.out)。
➢学习Linux(Unix)的常用命令。
➢学习vi 编辑器的使用。
➢C语言语法
1 进程管理
1.1 实验目的
加深对于进程并发执行概念的理解。
实践并发进程的创建和控制方法。
观察和体验进程的动态特性。
进一步理解进程生命期期间创建、变换、撤销状态变换的过程。
掌握进程控制的方法,了解父子进程间的控制和协作关系。
练习Linux系统中进程创建与控制有关的系统调用的编程和调试技术。
1.2 实验说明
1)与进程创建、执行有关的系统调用说明
进程可以通过系统调用fork()创建子进程并和其子进程并发执行.子进程初始的执行映像是父进程的一个复本.子进程可以通过exec()系统调用族装入一个新的执行程序。
父进程可以使用wait()或waitpid()系统调用等待子进程的结束并负责收集和清理子进程的退出状态。
fork()系统调用语法:
#include <unistd.h>
pid_t fork(void);
fork成功创建子进程后将返回子进程的进程号,不成功会返回-1. exec 系统调用有一组6个函数,其中示例实验中引用了execve 系统调用语法:
#include <unistd.h>
int execve(const char *path, const char *argv[], const char * envp[]); path 要装入的新的执行文件的绝对路径名字符串.
argv[] 要传递给新执行程序的完整的命令参数列表(可以为空).
envp[] 要传递给新执行程序的完整的环境变量参数列表(可以为空). Exec 执行成功后将用一个新的程序代替原进程,但进程号不变,它绝不会再返回到调用进程了。
如果exec 调用失败,它会返回-1。
getpid()---获取进程的pid
● 每个进程都执行自己独立的程序,打印自己的pid ,每个父进程打印其子进程的pid;
● 每个进程都执行自己独立的程序,打印自己的pid ,父进程打印其子进程的pid;
● 编写一个命令处理程序,能处理max(m,n), min(m,n)和 average(m,n,l)这几个命令。
(使用exec 函数族)
2 Winsock网络通信(Windows环境)
2.1 实验目的
通过Windows环境中管道通信机制的实验,加深对于管道通信概念的理解,观察和体验并发进程间的通信和协作的效果,练习利用无名管道进行进程通信的编程和调试技术。
2.2 实验说明
服务器端至少能够支持一个客户,客户端和服务器端能够互相发送/接收信息。
例1:简单的回显程序,即客户端输入可以被服务器端回送。
例2:两个人的聊天程序。
相关API函数介绍
•WSAStartup:指明Windows Sockets API的版本号及获得特定Windows Sockets实现的细节
•WSAGetLastError:发生错误后,调用会返回错误代码
•Bind:将指定的套接字与已知地址绑定到一起
•Listen:进入等待连接状态
•Accept:接受用户连接
•Connect:进行连接
•Closesocket:释放该套接字
•Send:在已建立的连接上发送数据
•Recv:在已建立的连接上接收数据
3进程同步实验
3.1 实验目的
加深对并发协作进程同步与互斥概念的理解,观察和体验并发进程同步与互斥操作的效果,分析与研究经典进程同步与互斥问题的实际解决方案。
了解Linux系统中IPC进程同步工具的用法,练习并发协作进程的同步与互斥操作的编程与调试技术。
3.2 实验说明
模拟多个生产/消费者在有界缓冲上正确的操作。
它利用N个字节的共享内存作为有界循环缓冲区,利用写一字符模拟放一个产品,利用读一字符模拟消费一个产品。
当缓冲区空时消费者应阻塞睡眠,而当缓冲区满时生产者应当阻塞睡眠。
一旦缓冲区中有空单元,生产者进程就向空单元中入写字符,并报告写的内容和位置。
一旦缓冲区中有未读过的字符,消费者进程就从该单元中读出字符,并报告读取位置。
生产者不能向同一单元中连续写两次以上相同的字符,消费者也不能从同一单元中连续读两次以上相同的字符。
4 存储管理上机作业
4.1 实验目的
加深对于存储管理的了解,掌握虚拟存储器的实现原理;观察和了解重要的页面置换算法和置换过程。
练习模拟算法的编程技巧,锻炼分析试验数据的能力。
4.2 实验说明
1. 示例实验程序中模拟两种置换算法:LRU算法和FIFO算法。
2. 能对两种算法给定任意序列不同的页面引用串和任意页面实内存数目的组合测试,显示页置换的过程。
3. 能统计和报告不同置换算法情况下依次淘汰的页号、缺页次数(页错误数)和缺页率。
比较两种置换算法在给定条件下的优劣。
5 磁盘移臂调度算法实验
5.1 实验目的
加深对于操作系统设备管理技术的了解,体验磁盘移臂调度算法的重要性;掌握几种重要的磁盘移臂调度算法,练习模拟算法的编程技巧,锻炼研究分析试验数据的能力。
5.2 实验说明
1. 示例实验程序中模拟两种磁盘移臂调度算法:SSTF算法和SCAN 算法
2. 能对两种算法给定任意序列不同的磁盘请求序列,显示响应磁盘请求的过程。
3. 能统计和报告不同算法情况下响应请求的顺序、移臂的总量。
比较两种算法在给定条件下的优劣。