时间管理实验报告

时间管理实验报告

一、实验目的

利用可靠的工作技巧,安排并引导自己及个人的生活,合理有效的利用可以支配的时间,通过计划保证各项事务完成的一系列管理活动,用最短的时间或在预定的时间内,把事情做好。时间管理所探索的是如何减少时间浪费,以便有效地完成既定目标。时间是指从过去,通过现在,直到将来,连续发生的各种各样的事件过程所形成的轨迹。它具有供给毫无弹性、无法蓄积、无法取代、无法失而复得的四大特性,有效的时间管理具有非常重大的意义。

二、实验步骤

1、了解时间管理

利用互联网,在万方等数据库中查阅国内外学者对时间管理的研究和探寻,了解时间管理的发展变革以及其对我们生活和工作的重要作用。

2、掌握时间管理的方法

(1)德鲁克时间管理方法

记录时间。保持一份时间记录,每月定时拿出来检讨。

管理时间。做系统的时间管理,可试问自己以下问题:时间记录上的哪些事不必做?如果不做,会有什么影响?如果认为没影响,就立刻取消。

统一安排时间。

注意:要保留适宜的“自由时间”,弹性安排。

(2)日事清——时间管理类软件 

日事清是一款简单好用的时间管理软件。它可以很好的解决时间管理中经常遇到的各种问题并提升效率,以便做到日事日清。

特点:

① 时间轴式工作计划:个人周计划不再需要用word、execl写了,在日事清中即可完成。时间轴的组织方式,也能让用户更好的延续自己的工作思路。

② 周计划自动分解到日程:日事清可以根据用户的周计划内容自动分解到相应的日程中,省去了用户添加的烦恼。

③ “GTD+时间四象限”的日程安排:通过把“日历、事物收集箱、重要紧急四象限”有机结合起来,用户可以自由拖曳安排工作,实现最大的灵活性。

④ 云端数据同步:日事清是跨平台服务,用户可以通过手机、pad、电脑随时随地查看自己的工作信息。

3、时间管理方法实践

                 

三、实验结论

生命的价值在于时间的利用。我们在短暂的一生中不可能什么事都去做,所以我们要想把自己的事做好,就要学会有效的时间管理,不要被无关紧要的事所影响。切记“浪费别人的时间等于谋财害命,浪费自己的时间等于慢性自杀”。每天合理安排时间,充分利用时间。绝不要虚度年华。因为时间我们的资产,所以我们一定要好好管理。决不能随便支配,一个对时间不负责任的人,就是一个对生命不负责任的人。虽然我们不能左右时间前进的步伐,但是我们可以让时间发挥到最高价值。

时间管理是一个概念,更是一种方法,每一个人都需要对自己进行时间管理,但是更需要时间管理的其实是企业,因为作为单个人员如果你没有时间管理的概念也可以去工作,个人还能应付的了自己的工作,但是作为企业管理,他需要的时间管理概念是一个整体,如果这整体出了问题那么整个公司就会处于不健康的状态,因为一个企业不是靠某一个人来运转的,而是要靠所有的员工高效率的配合才能产生最大的效益和价值。单个员工工作不进行时间管理看不来什么问题,但是如果所有的员工都没有时间管理的概念,那么对于公司来说将会造成巨大的损失。

四、实验总结

人的一天有24小时,每周有168小时。一般来说,人花在睡眠上有56小时,花费在吃饭和休息上有21小时,有些时间基本上是必须的,无法改变的,但还有大部分时间是可以自己管理的。如何管理这些时间将是我们要学习的,管理时间水平的高低决定个人事业和生活的成败,在意识到时间的重要性后,要学会分析“时间到哪里去了”,平常总有人说时间过得真快,但这些时间究竟花在什么地方去了,都干了些什么工作,却没有多少人能说清楚。这就需要我们认真分析时间是如何花费掉的,从中找到可以更好利用的部分,珍惜时间,提高时间的利用率。

很多人都明白时间管理的重要性,甚至还有人也实施过类似于学习计划等,却没有很大收获,为什么呢?因为有效实施时间管理存在很多需要克服的东西。这些需要克服的东西都存在于人的心中。有人认为,计划赶不上变化,时间不好控制;也有人认为,时间好象掌握在别人手中,自己没法控制;还有人认为,时间管理太麻烦,每个人都有自己的习惯,很难管理等都会导致时间管理失败。因此,时间管理需要很大的毅力和恒心,同时也要有强的时间管理意识,如果对时间的管理持无所谓的态度,那么就谈不上如何对时间进行管理了。 
  德鲁克认为,只有检查自己的时间用到哪里去了,才能清楚的认识自己在时间安排与分配上的不足。很多时间,用在哪里,并不如自己想象的那样,用到正事上去了。人的记忆并非是这么可靠。通过记录自己的时间耗用状况,可以推翻对自己在运用时间方面的良好印象,确确实实的清楚时间运用的状况,期待下次的改进。 

实行有效的时间管理,要确定目标,安排进度,反复练习,持之以恒;概括为16个字:珍惜、记录、诊断、分配、计划、节约、抓住、核算。最终达到管理时间把握人生。 

                        

 

第二篇:文件目录管理实验报告

操作系统课程设计报告

采用二级目录实现文件管理 

学    院:信息工程学院

班    级:计科1002班

姓    名:   杨辉  

学    号:101304230  

指导教师: 邹姝稚   

时    间:20131

成    绩:                 

        目录

一 设计目的 ···················3

二 课题任务 ···················3

三 课题相关知识 ·················4

四 课题设计 ···················6

五 设计内容 ···················8

六 运行与测试  ·················14

七 设计总结  ··················17

一.设计目的:

文件系统是现代OS用来存储和管理信息的机构,具有按名存取的功能,不仅能方便用户对信息的使用,也有效提高了信息的安全性。本课题模拟文件系统的目录结构,并在此基础上实现文件的各种操作方法。

通过课程设计, 深入理解文件目录的作用和功能,掌握文件打开结构,熟悉与文件有关的系统调用,从而更好的掌握文件系统的概念。

(1)掌握文件系统的基本原理、结构和实现方法。

(2)掌握文件系统中文件的建立、打开、读/写、执行、属性等系统调用的使用

(3)学会设计简单的文件系统并实现一组操作

(4)通过实验学习文件系统的系统调用命令,提高文件系统实现功能的理解和掌握。

二.课题任务

为简单起见,假设文件物理结构为连续结构,编程模拟一个简单的文件系统,实现对文件的各种管理和控制功能。

1.文件目录采用二级目录结构,第一级为文件目录MFD,如图1所示;第二级为用户文件目录UFD,如图2所示。

图1 MFD结构

图2 UFD结构

在UFD中,文件保护方式,用0表示文件可读;用1表示文件可读可写,执行,用2表示文件可写。

2.为加速文件存取,为每个用户建立一张用户打开文件表UOF,用以记录该用户当前正在使用的文件。假定最多允许打开4个文件,该表设置问4项,当打开文件个数超过4时,应给出出错信息。为此应该设置一个用户打开文件计数器,以控制文件打开个数,计数器初始化为0.UOF结构图如图3所示。

图3 UOF结构

在图3中,“文件操作方式”时指文件打开后要执行的操作,“状态”是指用户打开文件表的各个表象为空表目或被占用。读写指针用来指出文件的存取位置。出事状态下,读指针=1,写指针=文件长度,文件长度=0。

用户建立或打开一个文件时,将制定文件的说明信息登记在用户打开文件表中,其中为了给创建的文件分配磁盘空间,可引入一个计数器,用它来模拟磁盘使用情况,初始化为10。假定一个磁盘块大小为64个字节。

3.为该文件系统提供6条操作命令:创建、打开、读、写、关闭、删除、复制、粘贴等。要创建文件并向文件中保存信息时,用户程序应用create、write、close等3条命令来实现;当要读文件时,用户文件应使用open、read、close等3条命令来实现。

4.在该模拟系统中,应先建立主文件目录、用户文件目录和用户打开文件表,然后接受合法用户,给出一个菜单,按用户选择执行相应操作。

三.课题相关知识

    设计一个简单的二级文件系统

设计内容:

编写程序模拟实现一个简单的文件管理系统,方便用户使用。

设计方法:使用两个结构体,USD、LIST分别存储用户和文件两个层次的数据信息,LIST链表有两个指针child、next,分别存储下一级文件和其他同级文件而实现树型的多级文件存储和管理。

结构体如下:

typedef struct list LIST;

struct list

{

       char listname[10];///文件名长度

       int type;

       int length;/////文件长度

       int protect;/////保护模式,0为只读1为可读写

       int flag;//////标志,为0时创建文件夹,为1时创建文件

       int mark;///标志文件状态,是否忙碌

       char* content;

       struct list *parent;

       struct list *child;

       struct list *next;

};

typedef struct usd USD;

struct usd

{

    char username[10];////用户名长度

    LIST *list;

    struct usd *next;

};

除此以外,还用到一下自定义函数,其功能注释如下:

////函数声明/////

void displayusermenu();///用户管理界面菜单

void time();///系统时间

void displayfilemenu();///文件管理界面菜单

void creatuser();///新建用户

void deleteuser();///删除用户

void displayuser();///显示用户

void userhelp();///用户管理帮助

void filehelp();///文件管理帮助

void selectuser();///选择用户

void displaylist();///显示文件或者文件夹

void creatfile(LIST *qq,int flag);///创建文件(夹)

void deletefile(LIST *qq,int flag);///删除文件(夹)

void openfile();///打开文件

void readfile();  ///读取文件

void writefile(); ///写入文件

void closefile();///关闭文件

void next();///下一层文件夹

void back();//上一层文件夹

void copyfile();//复制文件

void pastedfile();///粘贴文件

void quit();///直接退出系统

void dispshow(LIST *qq);///显示用户下文件

四.课题设计

圆角矩形: 开 始1、系统执行流程图

 

文本框: 选择操作文本框: 新建用户,文本框: 删除用户,文本框: 选择用户,文本框: 列出用户,文本框: 帮助文档,文本框: 推出系统


2、创建文件(夹)

 


3、删除文件(夹)

 


五.设计内容:

主要链表:USD *user=NULL,*currentuser=NULL;

LIST *list=NULL,*currentlist=NULL,*copylist=NULL;

创建用户模块:

void creatuser()   ///创建用户

{

       int i;

       char s;

       USD *p,*q=user;

       system("cls");

       p=get(USD);

       for(i=1;q!=NULL;i++)q=q->next;     // i指示当前用户个数

       q=user;

       printf("\n创建一个新用户\n");

       printf("\n请输入第%d个用户名: ",i);

       scanf("%s",p->username);   //输入新用户的名字

       LIST *l=list;

       l=get(LIST);

       strcpy(l->listname,p->username);

       l->next=NULL;

       l->type=1;

       l->parent=NULL;

       l->child=NULL;

       p->list=l;

       p->next=NULL;

       if(user==NULL)

       {

              user=p;  //若user为空,则把P复给user

       }

       else  //若user不为空,则以有旧用户存在

       {                                 

              while(q->next!=NULL){            //寻找最后一个用户

                     if(strcmp(p->username,q->username)==0){             //比较,看系统是否已经存在该用户

                     printf("\n\tthe user has exit ! try again !\n\n");  ///提示出错信息

                            getchar();getchar();system("cls");

                            displayusermenu();

                     }

                     q=q->next;

              }

              if(strcmp(p->username,q->username)==0){///检查提示重名并提示信息

                     printf("\n该用户已经存在!无法创建该用户!\n\n");

                     getchar();getchar();system("cls");

                     displayusermenu();

              }

              q->next=p;        //继续寻找下一个字符           

       }

       printf("\n是否要再创建一个用户?(Y/N):");  //输入下一个用户

       scanf("%s",&s);

       switch(s){

       case 'y':creatuser();break;

       case 'Y':creatuser();break;

       case 'n':displayusermenu();break;

    case 'N':displayusermenu();break;

       default :displayusermenu();break;

       }

}

删除用户模块:

void deleteuser()      //删除用户

{

       char n[10];

       USD *p=user,*pre=NULL;

       displayuser();

       if(!p){printf("\n系统无用户可删除!\n");   //P为空,报错,必须先创建一个用户

       getchar();getchar();system("cls");

       displayusermenu();}  

       printf("\n\n请输入要删除的用户名:");

       scanf("%s",n);

       while(p!=NULL)

       {

              if(strcmp(p->username,n)==0)    //寻找所要删除的用户

              {

                     if(p==user)

                     {

                            user=user->next;    //若是第一个用户,则释放P      

                     }

                     else

                     {

                            pre->next=p->next;     

                     }    

                     free(p);

                     printf("\n\n\n^^已经成功删除用户[%s]!!!^^",n);

                     break;

              }

              else

              {

                     pre=p;

                     p=p->next;

              }

       }

       if(p==NULL)     //找不到用户

       {

              printf("\n\n找不到该用户!请确认该用户是否存在!\n");            

       }

       getchar();getchar();system("cls"); displayusermenu();

}

文件(夹)创建模块:

void creatfile(LIST *qq,int flag)        //创建文件(夹)

{

    LIST *temp;

       LIST *p=qq->child;

    LIST *q;

    temp=get(LIST);

loop:

       q=qq->child;

       if(flag==0)

    {

      printf("\n创建一个新文件\n");

         printf("\n请输入新建文件名: ");     //输入文件名

       }

       else

       {

         printf("\n创建一个新文件夹\n");

         printf("\n请输入新建文件夹名: ");     //输入文件名

       }

       scanf("%s",temp->listname);

       while(q!=NULL)

       {

              if(strcmp(temp->listname,q->listname)==0)

              {

                     printf("\n相同路径下有重名文件!请重新输入!");

                     goto loop;

              }

              q=q->next;

       }

       temp->content=NULL;

       printf("\n文件属性: 0]、只读Read\t\t1]、读和写Read&Write\t\t2]只写Write");     //设置保护模式

       printf("\n\n请根据提示选择保护模式(0/1/2)?: ");

       scanf("%d",&temp->protect);

       while(temp->protect!=0&&temp->protect!=1&&temp->protect!=2)

       { printf("\n\n你的选择有误!请重新输入(0/1)?: ");

       scanf("%d",&temp->protect);

       }

       if(flag==0)

       {

          printf("\n请输入该文件的长度: ");        //设置文件长度,供写入文件时会用到

           scanf("%d",&temp->length);

           temp->type=0; //0为文件

              temp->flag=0;

       }

       else

       {

        temp->length=0;

              temp->type=1;

              temp->flag=1;

       }

       temp->mark=0; //文件默认为关闭状态,以后需要时再打开

       temp->child=NULL;

       temp->next=NULL;

       temp->parent=currentlist;

       if(p==NULL)

    {qq->child=temp;}

       else

    {

              while(p->next!=NULL)

              {p=p->next;}

              p->next=temp;

       }

    getchar();

       displayfilemenu();

}

文件复制粘贴模块:

void copyfile()  //复制文件

{

       char n[10];

       LIST *p=currentlist->child;

       printf("\n[复制一个文件]\n");

       printf("\n请输入要复制的文件名: ");

       scanf("%s",n);

    while(p!=NULL)

       {

              if((strcmp(p->listname,n)==0)&&(p->type==0))

              {

            copylist=p;

                     printf("\n\n复制文件%s成功!!!\n",n);

                     break;

              }

        p=p->next;

       }

       if(p==NULL)

       {

              printf("\n\n找不到该文件!!!\n");

       }

       getchar();

       getch();

       displayfilemenu();//返回文件管理界面

}

void pastedfile()///粘贴文件

{

       LIST *temp,*q;

       LIST *p=currentlist->child;

       while(p!=NULL)

       {

              if(strcmp(p->listname,copylist->listname)==0)

              {

                     printf("\n\n无法粘贴该文件!该文件夹下有同名文件(夹)!!!\n");

                     break;

              }

              q=p;

        p=p->next;

       }

       temp=get(LIST);

       temp=copylist;

       if(p==NULL&&p!=currentlist->child)

       {

              q->next=temp;   

       }

       else

       {    

              currentlist->child=temp;

       }           

       temp->parent=currentlist;

       temp->child=NULL;

       temp->next=NULL;

       printf("\n\n粘贴文件%s成功!!!\n",copylist->listname);//提示

       getchar();//回车执行下一步///控制屏幕停留

       getchar();

       displayfilemenu();//返回文件管理界面

}

六.运行与测试

图1 系统主界面

通过此界面可以选择不同用户进入,从而进入管理文件

图2 用户选择界面

图3 文件管理主界面

图4 帮助与支持界面

总结了本系统所有的功能,对文件所有的操作管理说明

图5 用户个人文件清单

总结了个人用户下所有文件和文件夹,以及它们的主要基本信息

图6 给文件写入内容界面

图7 读出文件内容

图8 文件打开数目过多提示界面

当文件打开过多,本系统如果超过4个文件已经打开,系统提示关闭一些文件才能打开其他文件

七、设计总结:

在设计的过程中,我查询了不少相关资料,不断地发现问题、提出问题、解决问题。用C做程序开发语言,让我重新认识了C的基础,在新语言不断出现并发展迅速的今天,重新体会到C的基础性、重要性,以及面对过程,面对函数式的编程方式。

在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识,同时在编程时用到了模块化的设计思想,这种编程方法可以使我们的编程更简单,可以使我们的查错与纠错变得更加方便。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。

总的来说通过这次的设计学习使我学到了很多在平时的学习中学不到的很多东西,对操作系统有了更深一层的了解,同时也提高了C语言的能力,由于时间以及个人知识的问题,因此有很多的地方还需要改进。在以后的学习中还要更加努力。

相关推荐