当前位置:首页 » 存储配置 » 操作系统存储管理实验报告

操作系统存储管理实验报告

发布时间: 2022-08-01 23:22:26

Ⅰ 操作系统大型实验,求个用C++实现的文件系统代码+实验报告,

首先研究linux源代码树的顶层目录,它通常(但不总是)位于/usr/src/linux-。我们不会研究得过于详细,因为Linux源代码经常会发生变化,但是,我们将尝试让给出的信息足以找出特定驱动程序或函数的位置。Makefile:这个文件是整个源代码树的顶层makefile。它定义了很多实用的变量和规则,比如默认的gcc编译标记。Documentation/:这个目录中包含很多关于配置内核、运行ramdisk等任务的实用信息(但通常是过时的)。不过,与不同配置选项相应的帮助条目并不在这里——它们在每个源代码目录的Kconfig文件中。arch/:所有与体系结构相关的代码都在这个目录以及include/asm-目录中。在此目录中,每种体系结构都有自己的目录。例如,用于基于PowerPC的计算机的代码位于arch/ppc目录中。在这些目录里,可以找到底层内存管理、中断处理、早期初始化、汇编例程,等等。crypto/:这是内核本身所用的加密API。drivers/:按照惯例,在此目录的子目录中可以找到运行外围设备的代码。包括视频驱动程序、网卡驱动程序、底层SCSI驱动程序,以及其他类似的驱动程序。例如,在drivers/net中可以找到大部分网卡驱动程序。将一类驱动程序组合在一起的某些更高层代码,可能会(也可能不会)像底层驱动程序本身那些包含在同一目录中。fs/:通用文件系统的代码(称做VFS,即VirtualFileSystem)和各个不同文件系统的代码都可以在这个目录中找到。ext2文件系统是在Linux中最常广泛使用的文件系统之一;在fs/ext2中可以找到读取ext2格式的代码。并不是所有文件系统都会编译或运行;对某些寻找内核项目的人而言,更生僻的文件系统永远都是理想的候选者。include/:在.c文件的开头所包含的大部分头文件都可以在这个目录中找到。asm-目录下是与体系结构相关的包含(include)文件。部分内核构建过程创建从asm指定asm-的符号链接。这样,无需将其固定编码到.c文件#include就可以获得用于那个体系结构的正确文件。其他目录中包含的是非-体系结构-相关的头文件。如果在不只一个.c文件中使用了某个结构体、常量或者变量,那么它可能应该放入其中一个头文件中。init/:这个目录中的文件包括main.c、创建早期用户空间(earlyuserspace)的代码,以及其他初始化代码。可以认为main.c是内核“粘合剂(glue)”。在下一部分将深入讨论main.c。早期用户空间提供了Linux内核引导起来时所需要的功能,而这些功能并不需要在内核本身运行。ipc/:IPC的意思是进程间通信(interprocesscommunication)。它包含了共享内存、信号量以及其他形式IPC的代码。kernel/:不适合放在任何其他位置的通用内核级代码位于此处。这里有高层系统调用代码,以及printk()代码、调度程序、信号处理代码,等等。文件名包含很多信息,所以可以使用lskernel/,并非能常准确地猜到每个文件的功能。lib/:这里是对所有内核代码都通用的实用例程。常见的字符串操作、调试例程,以及命令行解析代码都位于此处。mm/:这个目录中是高层次内核管理代码。联合使用这些例程以及底层的与体系结构相关的例程(通常位于arch//mm/目录中)来实现虚拟内存(Virtualmemory,VM)。在这里会完成早期内存管理(在内存子系统完全建立起来之前需要它),以及文件的内存映射、页高速缓存管理、内存分配、RAM中页的清除(还有很多其他事情)。net/:这里是高层网络代码。底层网络驱动程序与此层次代码交换数据包,这个层次的代码可以根据数据包将数据传递给用户层应用程序,或者丢弃数据,或者在内核中使用它。net/core包含大部分不同的网络协议都可以使用的代码,和某些位于net/目录本身中的文件一样。特定的网络协议在net/的子目录下实现。例如,在net/ipv4目录中可以找到IP(版本4)代码。scripts/:这个目录中包含的脚本可用于内核的构建,但并不将任何代码加入到内核本身之中。例如,各种配置工具可以将它们的文件放在这里。security/:在这里可以找到不同Linux安全模型的代码,比如NSASecurity-EnhancedLinux以及套接字和网络安全钩子函数(hooks),以及其他安全选项。sound/:这里放置的是声卡驱动程序和其他与声音相关的代码。usr/:此目录中的代码用于构建包含root文件系统映像的cpio-格式的归档文件,用于早期用户空间。

Ⅱ 计算机操作系统基本操作及常见命令的实验报告

搜索有很多大纲的:对具体步骤:
举例:查看硬件信息;
办法一:右击桌面上的我的电脑,属性,常规选项卡有cpu.和内存信息;
办法,右击我的电脑,管理,设备管理器,所有硬件都可见:网卡是什么,显卡是什么,硬盘多大,光驱叫什么;

Ⅲ 求高人帮做操作系统的实验报告,只需把实验内容写下即可

#include<algorithm>
#include<iomanip>
#include<conio.h>
using namespace std;
struct PCB
{
string p_name;//程序名
int super;//优先级
double ndtime;//需要时间
double runtime;//运行时间
string state;//状态
bool operator<(const PCB& nd)
{
return super>nd.super ;
}
};
int main()
{
int n,i,j,nn=0;
cout<<"\n请输入进程总个数?";
cin>>n;
PCB *PB=new PCB[n];
for(i=0;i<n;i++)
{
cout<<"\n\n进程号No."<<i<<":"<<endl;
cout<<"\n输入进程名:";
cin>>PB[i].p_name ;
cout<<"\n输入进程优先级数<0~99>:";
cin>>PB[i].super ;
cout<<"\n输入进程运行时间:";
cin>>PB[i].ndtime ;
nn +=PB[i].ndtime ;
PB[i].runtime =0;PB[i].state ="W";
}
sort(PB,PB+n);
int k=PB[0].super ;
queue<PCB> *que=new queue<PCB>[k+1];
for(i=0;i<n;i++)
que[PB[i].super ].push (PB[i]);
cout<<setfill(' ');
cout<<setiosflags(ios::left);
for(i=0;i<nn;i++)
{
PCB PP=que[k].front() ;
int kk;
for(kk=0;kk<n;kk++)
if(PP.p_name ==PB[kk].p_name) break;
PB[kk].state ="R";
cout<<"\n\n按任意键继续......";
getch();
cout<<"\n\n*-*-*-*-*-*-*-* The excute number:"<<i+1<<" *-*-*-*-*-*-*-*";
cout<<"\n\n*-*-*-*-*-*-* 当前正在运行的进程是: "<<PP.p_name <<" *-*-*-*-*-*-*";
cout<<"\n\np_name state super ndtime runtime";
cout<<"\n |"<<setw(10)<<PP.p_name <<" |"<<setw(6)<<PB[kk].state <<" |"<<setw(6)
<<PP.super <<" |"<<setw(11)<<PP.ndtime <<" |"<<PP.runtime ;
PP.runtime +=1;PB[kk].runtime +=1;
if(PB[kk].super >0) PB[kk].super -=1;
que[k].pop ();
cout<<"\n\n*-*-*-*-*-*-* 当前就绪队列状态为: *-*-*-*-*-*-*";
for(j=0;j<n;j++)
if(PB[j].state =="W")
{
cout<<"\n\np_name state super ndtime runtime";
cout<<"\n |"<<setw(10)<<PB[j].p_name <<" |"<<setw(6)<<PB[j].state <<" |"<<setw(6)
<<PB[j].super <<" |"<<setw(11)<<PB[j].ndtime <<" |"<<PB[j].runtime ;
}
if(PP.runtime ==PP.ndtime )
{
PB[kk].state ="F";
cout<<"\n\n时间片到期,此时进程["<<PB[kk].p_name <<"]已完成.";
if(que[k].empty ()&&k>0) k--;
}
else
{
PB[kk].state ="W";
if(k>0) que[k-1].push (PB[kk]);
else que[k].push (PB[kk]);
if(que[k].empty ()&&k>0) k--;
}
}
cout<<"\n\n进程已全部完成."<<endl<<endl;
return 0;
}

整个程序都是模拟“最高优先级”进程调度算法的程序啊
我是用C++写的 你用编译器编译下 然后运行下 就知道怎么回事了

轮转法很简单,,,就不写了
不给我分数我觉得很冤枉 因为为了这个程序我写了1个多小时
没有功劳也会苦劳啊

Ⅳ 操作系统题目

1A.为内外存容量之和

Ⅳ 操作系统 设备管理 实验报告

本书根据计算机操作系统课程的教学大纲要求,结合目前高校使用的主要教材,全面11.4.5实验报告 11.5实验四设备管理实验 11.5.1实验目的与要求 11.5.

Ⅵ linux操作系统实验总结报告怎么写好看

1) 启动vmware虚拟机
2) 单击“文件—>新建?虚拟机”,出现“安装虚拟机向导”对话框,单击“下一步”,选“典型”;
3)“客户机操作系统”选择安装Linux,版本选“RedHat Linux”,单击“下一步”;
4) 在“虚拟机名称”处:输入“LINUX”, 创建指定位置(不要选择在C盘)的磁盘映像文件linux.vmx单击“下一步”,出现“网络连接” 设置界面,选择“使用桥接网络” 单击下一步;
5) 磁盘容量为8G, 单击“完成”;
6)编辑虚拟机设置:
双击设备栏“CD-ROM”,选择“使用ISO镜像”;指定镜像文件路径,例如: D:\RedHatLinux_ISOFiles\RedHatLinux9_i386_disc1.iso ;
Floppy设备栏取消“打开电源时连接“
7) 配置步骤完成,启动系统。

热点内容
诺基亚密码忘了打什么电话 发布:2024-09-17 03:27:09 浏览:555
树深度优先算法 发布:2024-09-17 03:26:58 浏览:472
跳转页源码 发布:2024-09-17 03:13:05 浏览:543
html文件上传表单 发布:2024-09-17 03:08:02 浏览:785
聊天软件编程 发布:2024-09-17 03:00:07 浏览:726
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662