假象

 

也许是我太过多心,多心到喜欢用别人的一切来惩罚自己。

有些人,从2011年4月26日后,便没有再登陆过了。

我又何必在意些什么呢?

是的,不必在意,有些人甚至觉得我不值得她为我写下只言片语——无论是刚开始,还是最终。

是的,我确实不是一个好的男朋友——也许三年了,某些人还没有真正认为我是男朋友过。

 

失眠的这些天来,一种错觉涌上心头。

我们,曾经那么欢乐过、开心过,走过旅程,度过生活……

曾经在梦里、在半梦半醒之间觉得过去的一切都是那么真实。

然而,一切都只是假象而已。

当我认真回想,原来,过去的种种,

因为某人快乐,所以我快乐。

我并没有得到我想要的快乐。

难道不是吗?

连某人的“爱”字也是千辛万苦被逼说出来的。

甚至到最后,我还错误地觉得我是某人的男朋友。

其实,我从来没有被承认过。

我不值得,不爱我……

既然没有爱过,某人又何苦说不愿意失去?

 

是我不够狠心,一次次地,我被某人模棱两可的态度伤害过后,还要以犯错的态度追回。

也许早在两年前、一年半前、一年前,我们,就应该各奔天涯了。

我们在半年前,就已经没有以后了。

是我不够狠心,对不起,我该狠心点的。

无论某人说还是我说,我,从第一次开始,就应该狠下心来的。

 

我从来都是一个狠心的人。

我能在某一个时刻狠心彻底。

无论后来我如何心慈手软,也无论我后来如何思想反复。

我的狠心,在这一刻,能彻彻底底!

 

从今天起,剪断过去所有快乐,剪断所有回忆。

模拟Linux件系统。在任一OS下,建立一个大文件,把它假象一张,在其中实现一个简单的 模拟Linux件系统 在现有机器硬上开辟20M的硬空间,作为设定的硬空间。 2. 编写一管理程序对此空间进行管理,以模拟Linux件系统,具体要求如下: (1) 要求块大小1k 正规件 (2) i 结点件类型 目录件 (共1byte) 块设备 管道件 物理地址(索引表) 共有13个表项,每表项2byte 件长度 4byte 。联结计数 1byte (3)0号块 超级块 栈长度50 空闲块的管理:组链接 ( UNIX) 位示图法 (Linux) (4)每建一个目录,分配4个物理块 件名 14byte (5)目录项信息 i 结点号 2byte (6)结构: 0#: 超级块 1#-20#号为 i 结点区 20#-30#号为根目录区 3. 该管理程序的功能要求如下: (1) 能够显示整个系统信息,源件可以进行读写保护。目录名和件名支持全路径名和相对路径名,路径名各分量间用“/”隔开。 (2) 改变目录:改变当前工作目录,目录不存在时给出出错信息。 (3) 显示目录:显示指定目录下或当前目录下的信息,包括件名、物理地址、保护码、件长度、子目录等(带/s参数的dir命令,显示所有子目录)。 (4) 创建目录:在指定路径或当前路径下创建指定目录。重名时给出错信息。 (5) 删除目录:删除指定目录下所有件和子目录。要删目录不空时,要给出提示是否要删除。 (6) 建立件(需给出件名,件长度)。 (7) 打开件(显示件所占的块)。 (8) 删除件:删除指定件,不存在时给出出错信息。 4. 程序的总体流程为: (1) 初始化件目录; (2) 输出提示符,等待接受命令,分析键入的命令; (3) 对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键入EXIT退出为止。
在任一OS(Window或者Dos;也可以是在Linux下,但要求能将结果演示给老师看)下,建立一个大文件,把它假象一张,在其中实现一个简单的模拟OS件系统。 1、在现有机器硬上开辟10M(共10000个块,每块大小为1k)的硬空间(生一个10M的用户件SDisk.dat即可),作为设定的硬空间。 2、编写一管理程序SDisk,对此空间进行管理,以模拟OS件系统,要求: ⑴、块大小1k ⑵、空闲块的管理:采用位示图法 ⑶、件空间管理:采用FAT(件分配表),每个块号占2个字节 ⑷、目录项管理: ①、每个目录项占用32字节,其中前8个字节(0-7)为件名,之后跟3个字节(8-10)的扩展名,26-27字节,存放件的第一个块号,最后四个字节(28-31),存放件长度(如果目录项对应的是下一级子目录(件),其件长度部分为0) ②、目录按件方式管理,每个目录仅用一个块(即1k,最多装32个目录项) ③、第0个目录项为本目录,即“.”,第0个字节为“.”,即0x2E,第26-27字节指明本目录所在块。 ④、第1个目录项为父目录,即“..”,第0,1个字节为“..”即0x2E,0x2E,第26-27字节指明父目录所在块。 ⑤、每个目录实际能放下件或子目录30项。 ⑸、件系统空间分配: ①、第0个块(1k)存放磁信息(可以设定为格式说明“FAT32”、块大小,块数等内容) ②、第1个块起,至125块,共125个块(125k)存放FAT内容 ③、第126、127(2个)块,存放位示图 ④、从第128块至10000块,皆为数据(区)块,其逻辑编号从0开始,至9872号数据块,即第0数据块为128号块,第1数据块为129号块,… ⑤、第0数据块(即128号块),存放根目录(同样只用一个块作根目录),由于第0、1目录项为“.”(本目录), “..”(父目录),因此根目录下同样只能存放30个件或目录,并且从第2个目录项开始。 ⑥、件或子目录数据,放在第1数据块及以后的数据块中,由用户按需要使用。
在任一OS下,建立一个大文件,把它假象一张,在其中实现一个简单的模拟Linux件系统。 1. 在现有机器硬上开辟100M的硬空间,作为设定的硬空间。 2. 编写一管理程序simdisk对此空间进行管理,以模拟Linux件系统,要求: (1) 块大小1k (2) 空闲块的管理:Linux位图法 (3) 结构:超级块, i结点区, 根目录区 3. 该simdisk管理程序的功能要求如下: (1) info: 显示整个系统信息(参考Linux件系统的系统信息),件可以根据用户进行读写保护。目录名和件名支持全路径名和相对路径名,路径名各分量间用“/”隔开。 (2) cd …: 改变目录:改变当前工作目录,目录不存在时给出出错信息。 (3) dir …: 显示目录:显示指定目录下或当前目录下的信息,包括件名、物理地址、保护码、件长度、子目录等(带/s参数的dir命令,显示所有子目录)。 (4) md …: 创建目录:在指定路径或当前路径下创建指定目录。重名时给出错信息。 (5) rd …: 删除目录:删除指定目录下所有件和子目录。要删目录不空时,要给出提示是否要删除。 (6) newfile …: 建立件。 (7) cat …: 打开件。 (8) copy …: 拷贝件,除支持模拟Linux件系统内部的件拷贝外,还支持host件系统与模拟Linux件系统间的件拷贝,host件系统的件命名为…,如:将windows下D:件\data\sample\test.txt件拷贝到模拟Linux件系统中的/test/data目录,windows下D:的当前目录为D:\data,则使用命令: simdisk copy D:\data\sample\test.txt /test/data 或者:simdisk copy D:sample\test.txt /test/data (9) del …: 删除件:删除指定件,不存在时给出出错信息。 (10) check: 检测并恢复件系统:对件系统中的数据一致性进行检测,并自动根据件系统的结构和信息进行数据再整理。 4. 程序的总体流程为: (1) 初始化件目录; (2) 输出提示符,等待接受命令,分析键入的命令; (3) 对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键入EXIT退出为止。
共两个不同设计例子,都含详细的档资料。 任务2.设计一个简单的二级件系统 设计要求: 在任一OS下,建立一个大文件,把它假象,在其中实现一个简单的模拟件系统。 编写一管理程序对此空间进行管理,要求: 1. 实现块管理 2. 实现件的读写操作 3. 每组最多2人,小组内要有明确分工,课程设计报告中设计部分可以相同,个人实现部分不同 参考建议: 将模拟硬件空间划分为目录区,件区;采用位示图进行空间管理,块的分配使用显示链接(FAT表)的方式。 设计技术参数(数据结构)参考: #define MaxSize 100 #define Disk 512 //每个块大小为512bit #define NumDisk 2048 //有2048个块,既可分配空间为 1M /*************目录和件的结构定义***********************/ struct DirectoryNode { char name[9]; /*目录或件的名字*/ int type; /*0代表目录,1代表普通件*/ struct DirectoryNode *next; /*指向下一个兄弟结点的指针*/ struct DirectoryNode *preDirFile; /*指向父结点的指针*/ struct DirectoryNode *subFile; /*指向第一个子结点的指针*/ int size; /*如果是件则表示件的大小*/ int first; /*起始块号*/ int last; /*末尾块号*/ int order; /*备用*/ }; //连续分配 struct FileSys { int VacTable[NumDisk]; //空闲表,0为空闲,1为被用 struct DirectoryNode root; //根目录 struct DirectoryNode Directory[NumDisk]; } *filesys; typedef struct { struct DirectoryNode *DirFile; char name[9]; }DataType; //包含一个指向目录的指针和名字 typedef struct { //队列结构的实现 DataType data[MaxSize]; int front,rear; //分别表示队列的头结点和尾结点 }Tp; void InitQueue(Tp *sq) //队列初始化 int EnAddQueue(Tp *sq,DataType data) //在队列中增加元素 DataType EnDelQueue(Tp *sq) //从队列中删除一个元素 int Empty(Tp *sq) //判断队列是否为空,返回0表示队列为空 ①.Dir:显示目录内容命令,显示当前目录下的件和子目录。 ②.Md:创建目录操作。 ③.Create:创建件,在当前目录下创建一个件。 ④. all:显示从根目录开始的所有目录和件及其层次结点。 ⑤.Cd:改变目录。 ⑥.Del:删除件操作。 ⑦. Rd:删除目录操作,删除当前目录下的子目录。 ⑧. Ren:重命名函数 ⑨. Exit:退出命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值