操作系统实验实验1
- 格式:doc
- 大小:356.00 KB
- 文档页数:17
操作系统实验
(课程设计)实验报告
学院
专业
班级/学号
学生姓名
成绩
实验地点_
实验日期___ __
指导教师_____ ___ _____
(课程上机)实验报告
1.实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;
2.实验准备由学生在实验或上机之前填写,教师应该在实验前检查;
3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;
4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;
5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。
Windows操作系统C/C++ 程序实验
姓名:___庞一鹤_______________
学号:___1131000180____________
班级:___信工七班________________
院系:____信息工程_______________ ______2015___年___10__月__12___日
实验一Windows 2000/xp进程观测
一、背景知识
二、实验目的
通过对Windows 2000/xp编程,进一步熟悉操作系统的基本概念,较好地理解Windows 2000/xp的结构。
三、实验内容与步骤
1、C:\> CL Hello.cpp
来创建可执行的Hello.EXE。
操作能否正常进行?如果不行,则可能的原因是什么?
操作正常运行
步骤4:运行Hello.EXE程序,产生用户键入的一行文字。
运行结果(如果运行不成功,则可能的原因是什么?) :
也可以利用任何其他文本编辑器键入程序代码,如果这样,例如使用WORD来键入和编辑程序,则应该注意什么问题?
可以,但文件保存的时候要以后缀“.cpp”命名。
C:\> CL 1-2.cpp
运行结果(试将其中的信息与清单1-1程序的运行结果进行比较) :
比较:1-2程序创建了一个图形用户化界面来显示输出内容。
2、C:\> CL 1-3.cpp
运行结果:
在“命令提示符”窗口运行CL.EXE,产生1-4.EXE文件:C:\> CL 1-4.cpp
运行结果:
实验一进程管理、管道通信
------- 一、实验名称:
进程管理、管道通信
二、实验目的:
1、熟悉linux下利用gcc、gdb编译、调试C程序
2、掌握进程的概念,明确进程的含义
3、认识并了解并发执行的实质
4、掌握进程间无名管道的通信
三、实验准备:
1、预习linux下利用gcc编译c程序。
2、参考课件及资料掌握进程的创建过程。
3、参考课件及资料掌握进程的并发执行。
4、参考课件及资料掌握进程间无名管道的通信
四、实验内容:
内容一:敲通如下程序,分析运行结果。
#include
void main()
{
int i;
while((i=fork())==-1);
printf("i=%d",i);
if(i)printf("It is a parent process!");
else printf("It is a child process!");
}
结论:
在fork函数执行完毕后,如果创建新进程成功时,则会出现两个进程,一个是子进程,一个是父进程。在子进程中,fork函数返回0,在父进程会返回新建子进程的id
内容二:编写程序,用系统调用fork()创建两子进程。父进程显示50次字符串“father”,子进程1显示50次字符串“son”,子进程2显示50次字符串“daughter”。
观察并记录屏幕上显示结果,分析原因。(提示:可在各进程中加入sleep,观察结果分析原因)
1、程序代码如图所示:
2、运行结果如图所示
内容三:敲通如下程序,写出运行结果,分析程序功能。
1、程序代码如图所示:
#include
#include
操作系统教程
实验指导书
实验一WINDOWS进程初识
1、实验目的
(1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。
(2)掌握WINDOWS API的使用方法。
(3)编写测试程序,理解用户态运行和核心态运行。
2、实验内容和步骤
(1)编写基本的Win32 Consol Application
步骤1:登录进入Windows,启动VC++ 6.0。
步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。
步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。
步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。
步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows “命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:E:\课程\os课\os实验\程序\os11\debug>hello.exe
运行结果 (如果运行不成功,则可能的原因是什么?) :
答:运行成功,结果:
(2)计算进程在核心态运行和用户态运行的时间
步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。
操作系统原理实验
一、实验目的
本实验旨在通过实际操作,加深对操作系统原理的理解,掌握操作系统的基本功能和调度算法。
二、实验环境
1. 操作系统:Windows 10
2. 虚拟机软件:VirtualBox
3. 实验工具:C语言编译器(如gcc)、汇编语言编译器(如nasm)、调试器(如gdb)
三、实验内容
1. 实验一:进程管理
在这个实验中,我们将学习如何创建和管理进程。具体步骤如下:
a) 创建一个C语言程序,实现一个简单的计算器功能。该计算器能够进行基本的加减乘除运算。
b) 使用fork()系统调用创建一个子进程,并在子进程中执行计算器程序。
c) 使用wait()系统调用等待子进程的结束,并获取子进程的退出状态。
2. 实验二:内存管理
在这个实验中,我们将学习如何进行内存管理。具体步骤如下:
a) 创建一个C语言程序,模拟内存分配和释放的过程。该程序能够动态地分配和释放内存块。
b) 使用malloc()函数分配一块内存,并将其用于存储数据。
c) 使用free()函数释放已分配的内存块。
3. 实验三:文件系统
在这个实验中,我们将学习如何进行文件系统的管理。具体步骤如下:
a) 创建一个C语言程序,实现一个简单的文件系统。该文件系统能够进行文件的创建、读取、写入和删除操作。
b) 使用open()系统调用打开一个文件,并进行读取和写入操作。
c) 使用unlink()系统调用删除一个文件。
四、实验步骤
1. 安装虚拟机软件VirtualBox,并创建一个虚拟机。
2. 在虚拟机中安装操作系统Windows 10。
设计一个有N个进程的进程调度程序
一、实验目的
通过一个简单的进程调度模拟程序的实现,加深对各种进程调度算法,进程切换的理解。
二、实验内容
1、进程调度算法:采用动态最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)。
2、每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:
●进程名----进程标示数ID;
●优先数----Priority,优先数越大优先权越高;
●到达时间----进程的到达时间为进程输入的时间;
●进程还需要运行时间----AllTime,进程运行完毕AllTime =0;
●已用CPU时间----CPUTime;
●进程的阻塞时间StartBlock----表示当进程在运行StartBlock个时间片后,进程将进入阻塞状态;
●进程的阻塞时间StartTime----表示当进程阻塞StartTime个时间片后,进程将进入就绪状态;
●进程状态----State;
●队列指针----Next,用来将PCB排成队列。
3、调度原则
●进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间
为进程输入的时间;
●进程的运行时间以时间片为单位进行计算;
●进程在就绪队列中带一个时间片,优先数加1;
●每个进程的状态可以是就绪R(Ready)、运行R(Run)、阻塞B(Block)、或完成F(Finish)四
种状态之一;
●就绪进程获得CPU后都只能运行一个时间片,用已占用CPU时间加1来表示;
●如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如
操作系统实验指导书
实验⼀操作系统⽤户接⼝实验
⼀、实验⽬的
熟悉操作系统的命令接⼝、图形⽤户接⼝和程序接⼝。
⼆、实验内容:
1、使⽤操作系统的命令接⼝。
使⽤Windows常⽤命令:dir 、md、copy、date、help,显⽰这些命令的结果,并解释这些命令的作⽤。
图1-1 命令控制台
图1-2 windows常⽤命令
图1-3 windows常⽤命令
图1-4 windows常⽤命令使⽤
图1-5 windows常⽤命令使⽤
2、使⽤操作系统的程序接⼝。
VB环境下:编制⼀⼩程序,使其可通过某个系统调⽤来获得os 提供的某种服务,如打开控制⾯板:Shell "rundll32.exe Shell32.dll,Control_RunDLL", 1
VC环境下:⽤C语⾔编制⼀个⼩程序,使其可通过Localtime( )系统调⽤来获得OS提供的时间和⽇期。
3、使⽤操作系统的图形⽤户接⼝(略)。
三、思考:
OS向⽤户提供的命令接⼝、图形⽤户接⼝和程序接⼝分别适⽤于哪些场合?
实验⼆进程创建与撤消
⼀、实验⽬的
1、加深对进程概念的理解和进程创建与撤消算法;
2、进⼀步认识并发执⾏的实质。
⼆、实验内容
本实验完成如下三个层次的任务:
(1)系统级—以普通⽤户⾝份认识windows的进程管理。通过
windows的“任务管理器”观察进程的状态,进⾏进程的创建、切换和撤销。
(2)语⾔级—以普通程序员⾝份认识⾼级语⾔VC++/Java/VB的进程创建与撤销⼯具。
(3)模拟级—以OS设计师⾝份编程模拟实现进程创建与撤销功能,并在屏幕上观察进程活动的结果。
本科实验报告
课程名称:操作系统
学号:
姓名:
专业:
班级:
指导教师:
课内实验目录及成绩
信息技术学院
实验(实验一)
1 实验名称:基本shell命令及用户管理
2 实验目的
2.1 掌握安装Linux操作系统的方法。
2.2 掌握Linux操作系统的基本配置。
2.3 了解GNOME桌面环境。
2.4 掌握基本shell命令的使用。
3 实验准备
3.1 下载VMware Workstation虚拟机软件(版本不限)。
3.2 准备Linux操作系统的安装源(内核版本和发行版本均不限)。
注:实验准备、实验内容4.1和4.2作为回家作业布置,同学们利用课余时间可在私人计算机上完成。
4 实验要求、步骤及结果
4.1 安装虚拟机软件。
【操作要求】安装VMware Workstation虚拟机软件,并填写以下4.1.1和4.1.2的内容。
4.1.1【VMware Workstation虚拟机版本号】
4.1.2【主要配置参数】
4.2 安装Linux操作系统。
【操作要求】安装Linux操作系统,版本不限。
Linux发行版本:
Linux内核版本:
【主要操作步骤:包括分区情况】
1、创建一台虚拟机安装操作系统时客户机操作系统选择Linux
2、修改虚拟机的安装路径。
3、建一个新的虚拟磁盘,磁盘的空间20GB,并且将单个文件存储虚拟磁盘。
4、设置分区完毕,安装虚拟机
4.3 了解Linux操作系统的桌面环境之一GNOME。
【操作要求】查看桌面图标,查看主菜单,查看个人用户主目录等个人使用环境。【操作步骤1】桌面图标
【操作步骤2】主菜单
操作系统实验
年级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,到启动页.
实验1 操作系统环境(一)引言概述:
在进行操作系统环境的实验前,我们需要对操作系统环境有一个清晰的了解。本文档将通过五个大点来详细介绍操作系统环境的相关内容。
1. 操作系统环境的定义
- 操作系统环境是指操作系统与硬件设备之间的交互界面,提供了用户与计算机系统进行交互的能力。它包含了操作系统的安装、配置和功能设置等操作。
2. 操作系统环境的基本组成
- 操作系统环境由操作系统核心、系统资源管理器和应用程序接口组成。操作系统核心负责处理计算机硬件与软件的交互,系统资源管理器管理系统的资源分配,应用程序接口(API)提供了应用程序与操作系统之间的交互接口。
3. 操作系统环境的安装与配置
- 操作系统环境的安装包括操作系统的选择、引导程序的设置和分区排布等步骤。配置操作系统环境时,我们需要设置系统时间、语言、网络和用户等参数,以适应不同的应用需求。
4. 操作系统环境的功能设置
- 操作系统环境的功能设置包括对操作系统进行优化和调整,以提高计算机系统的性能和稳定性。此外,还可以设置电源管理、网络共享和用户权限等功能,以满足不同用户的需求。
5. 操作系统环境的更新与维护
- 操作系统环境的更新是指为了修复漏洞、增加新功能和提高系统性能,在操作系统发布之后进行的升级操作。维护操作系统环境包括对系统的备份和还原、磁盘清理和错误修复等操作,以保证系统的稳定和安全。
总结:
操作系统环境是操作系统与计算机硬件之间的交互界面,包含了安装与配置、基本组成、功能设置以及更新与维护等方面。熟悉操作系统环境的相关内容,对于正确操作和提高计算机系统性能至关重要。
操作系统实验指导书
实验一生产者和消费者问题(6学时)
1、实验目的要求
1)、通过编写程序,掌握基本的同步互斥算法,理解生产者和消费者模型。
2)、了解多线程并发执行机制,线程间的同步和互斥。
3)、学习使用同步对象,掌握相应的API。
2、实验主要内容
编写基础的生产者消费者程序,程序反映了生产者和消费者的工作过程,其中缓冲区只存放一类产品,生产者消费者只对一类产品进行操作。
1)创建生产者和消费者线程
2)生产和消费规则
a)系统中有多个生产者,生产者每次只生产一种产品;
b)系统中有多个消费者,消费者每次可以消费一个产品。
c)生产者与消费者共享一个具有n个缓冲区的缓冲池。
d)生产者与消费者互斥使用缓冲池,即某一时刻只允许一个生产者或消费者使用缓冲池。
e)不允许消费者进程到一个空缓冲池去取产品;也不允许生产者进程向一个已装满产品
且尚未被取走的缓冲池中投放产品。
f)缓冲池不要求是循环环形缓冲区,也不要求一定是顺序访问,生产者可以将产品投放
入任意的空缓冲区。
3、实验仪器设备
PC兼容机。
实验二、死锁避免(银行家算法6学时)
1、实验目的要求
1). 了解死锁产生的必要条件。
2). 了解安全序列的定义和意义以及如何在动态分配资源的过程中采用死锁避免算法防
止系统进入不安全序列状态。
3). 掌握Dijkstra银行家算法的具体实现。
2、实验主要内容
模拟建立进程链表,包含各进程最大请求资源数。进程实时提出指定资源请求数,在为进程实际分配资源向量之前,进入安全算法,测试按该进程当前资源要求分配是否会导致系统进入不安全状态,即所有进程中是否存在一进程序列为安全系列,使所有进程能够完成。否则拒绝分配,要求进程重新提出资源申请。
《操作系统》上机实验一报告
目录
一、实验关键问题
二、代码设计思路
三、实现的关键代码
四、程序运行结果
五、实验总结
一、实验关键问题
1.1要求:编写一个Linux系统C程序,由父亲创建2个子进程,再由子进程各自从控制台接收一串字符串,保存在各自的全局字符串变量中,然后正常结束。父进程调用waitpid等待子进程结束,并分别显示每个子进程的进程标识号和所接收的字符串。
1.2要求:父进程创建一子进程,父进程向子进程发送数据,子进程接收数据,并写入文件。
二、代码设计思路
2.1 问题1.1的代码设计思路
由父进程创建两个共享内存→分别创建两个子进程→提示用户输入信息,并
将信息存到子进程各自对应的共享内存中→等待子进程结束→子进程结束后,父进程被唤醒并与共享内存连接→分别从这两个内存共享中获取数据,并把数据和对应的子进程PID输出到屏幕上→父进程结束
2.2问题1.2的代码设计思路
由父进程创建管道→创建子进程→父进程关闭读管道,获取用户输入的数据→把数据写入写管道中,关闭写管道→等待子进程结束,此时父进程挂起→子进程关闭写管道→子进程读取父进程放入读管道中的数据,显示数据到屏幕上→将数据写入文件“CP_file.txt”中→关闭读管道,关闭文件→结束子进程→父进程被唤醒后父进程也结束。
三、实现的关键代码
3.1 问题1.1的实现代码
#include <unistd.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/types.h>
班级: 姓名: 学号:
1.1 操作系统的运行环境
本节实验的目的是,通过实验,加深对以下内容的理解: 1) 计算机硬件组件; 2) 计算机操作系统; 3) Windows 的发展史; 4) Windows 的运行环境。 1. 工具/准备工作
在开始本节实验之前,请回顾教材的相关内容。
需要准备一台带有浏览器,能够访问Internet 的计算机。 2. 实验内容与步骤
(1) 计算机的5个主要硬件组成部分是什么?
1) __________________________________________________________________ 2) __________________________________________________________________ 3) __________________________________________________________________ 4) __________________________________________________________________ 5) __________________________________________________________________ (2) Windows 操作系统的主要优点是什么?
1) __________________________________________________________________ 2) __________________________________________________________________ 3) __________________________________________________________________ 4) __________________________________________________________________
操作系统实验及答案
一、实验目的
通过本次实验,旨在让学生深入理解操作系统的基本概念、原理和功能,掌握常见操作系统的使用与配置,提高学生对操作系统问题的分析和解决能力。
二、实验内容
实验1:Windows操作系统的基本操作与文件管理
实验2:Linux操作系统的安装与基本命令
实验3:Unix操作系统的进程管理与系统监控
实验4:Windows与Linux的双系统安装及切换
实验5:操作系统安全与权限设置
三、实验步骤及答案
实验1:Windows操作系统的基本操作与文件管理
1、打开Windows操作系统,熟悉桌面环境。
2、使用鼠标和键盘进行文件和文件夹的操作,包括创建、复制、移动、删除等。
3、学习使用Windows资源管理器进行文件和文件夹的管理。
4、学习使用回收站恢复和永久删除文件。
5、掌握Windows操作系统的文件搜索功能。
实验答案:完成以上步骤,并回答以下问题:
1、简述Windows操作系统的桌面组成。
2、列举Windows资源管理器的五大功能。
3、说明回收站的作用以及如何恢复和永久删除文件。
4、如何使用Windows操作系统的文件搜索功能?
实验2:Linux操作系统的安装与基本命令
1、准备一张Linux操作系统安装盘或安装程序。
2、学习使用光驱或U盘引导安装Linux操作系统。
3、学习Linux操作系统的基本命令,如ls、cd、mkdir、rm等。
4、学习使用vi编辑器进行文件编辑。
5、掌握Linux操作系统的常用配置文件和目录结构。
实验答案:完成以上步骤,并回答以下问题:
1、简述Linux操作系统的特点。
操作系统实验_实验1
实验目的:
本次实验的主要目的是掌握操作系统的基本概念和原理,并通过实际操作来加深对操作系统的理解和认识。
实验设备及环境:
本次实验需要使用一台运行Windows操作系统的计算机,并安装好虚拟机软件。
实验内容:
1、操作系统的基本概念
1.1 操作系统的定义
1.2 操作系统的功能
1.3 操作系统的分类
2、虚拟机的安装与配置
2.1 和安装虚拟机软件
2.2 创建一个新的虚拟机
2.3 配置虚拟机的硬件参数
2.4 安装操作系统
3、操作系统的启动过程
3.1 BIOS自检
3.2 引导程序的加载
3.3 操作系统内核的加载
4、进程管理
4.1 进程的概念
4.2 进程的状态转换
4.3 进程的调度算法
5、内存管理
5.1 内存的分段和分页
5.2 虚拟内存的概念
5.3 页面置换算法
6、文件系统
6.1 文件系统的基本概念 6.2 文件的组织和访问方式
6.3 文件的创建和删除
7、输入输出系统
7.1 输入输出设备的基本概念
7.2 设备驱动程序的作用
7.3 中断处理程序和设备控制块
附件:
本文档不涉及任何附件。
法律名词及注释:
1、操作系统:是一种控制和管理计算机硬件与软件资源的程序,是计算机系统的核心和基础。
2、虚拟机:是指在一台计算机上模拟出另一台计算机,可以在
同一台计算机上运行多个操作系统。
3、BIOS:基本输入输出系统(Basic Input Output System)
是连接计算机硬件与操作系统的软件的一部分,用于启动计算机和
加载操作系统。
4、引导程序:是计算机开机后最先执行的程序,用于加载操作
系统并初始化计算机硬件。
实验一进程控制与描述
一、实验目的
通过对Windows 2000编程,进一步熟悉操作系统的基本概念,较好地理解Windows 2000的结构。通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。
二、实验环境
硬件环境:计算机一台,局域网环境;
软件环境:Windows 2000 Professional、Linux Redhat 9.0操作系统平台,Visual C++ 6.0专业版或企业版。
三、实验内容和步骤
第一部分:
Windows 2000 Professional下的GUI应用程序,使用Visual C++编译器创建一个GUI 应用程序,代码中包括了WinMain()方法,该方法GUI类型的应用程序的标准入口点。
在“开始”菜单中单击“程序”-“附件”-“记事本”命令,将程序键入记事本中,并把代码保存为1-1.cpp。
程序参见实验指导书
也可以利用任何其他文本编辑器键入程序代码,如果这样,例如使用WORD来键入和编辑程序,则应该注意什么问题?
保存的时候注意保存为.cpp 类型
在“命令提示符”窗口运行CL.EXE,产生1-1.EXE文件:
C:\> CL 1-1.cpp
在程序1-1的GUI应用程序中,首先需要Windows.h头文件,以便获得传送给WinMain() 和MessageBox() API函数的数据类型定义。
接着的pragma指令指示编译器/连接器找到User32.LIB库文件并将其与产生的EXE文件连接起来。这样就可以运行简单的命令行命令CL MsgBox.CPP来创建这一应用程序,如果没有pragma指令,则MessageBox() API函数就成为未定义的了。这一指令是Visual Studio C++ 编译器特有的。