作系统》课程实验指导

作系统》课程实验指导
作系统》课程实验指导

《操作系统》课程实验指导

·实验一UNIX或Linux操作系统的实际使用

·实验二进程调度

·实验三作业调度设计

·实验四存储管理设计

·实验五进程管理设计

·实验六可变分区内存管理

实验一 UNIX或Linux操作系统的实际使用

1.目的

通过本实验熟悉UNIX或Linux操作系统的命令操作使用.

2.内容

参见Linux有关简要使用说明.

3.要求

⑴熟悉开机后登录进入系统和推出系统.

⑵常用命令的操作使用.

⑶全屏幕编译器vi的熟悉使用.

⑷为以后的上机实验作好充分准备.

4.说明

在有条件的学习环境,建议学员自己先学习Linux操作系统的安装,可以购买一张某一种品牌的相应Linux光盘,在PC机(甚至486机型都可以)上用Partition Magic这一类工具软件在硬盘上分出一块至少大于200MB以上的非DOS分区(原有硬盘上的重要软件数据最好事先做好备份),然后按照光盘上安装说明逐步进行。

[ 返回 ] 实验二进程调度

题目:单处理机系统的进程调度

要求:用实验方法模拟单处理机系统的进程调度,并采用时间片轮转调度算法作为进程调度算法。

预备知识:

1、进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。

进程控制块的作用和结构,进程控制块的链表组织。

进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。

2、进程调度程序流程图:

[ 返回 ] 实验三作业调度设计

1、目的

作业管理是用户与操作系统的接口。作业调度的主要功能是检查系统是否能满足用户作业的资源要求以及按照一定的算法选取作业。

本实验的目的是通过模拟作业调度算法的设计加深对作业管理基本原理的理解。

2、内容

⑴在后备作业队列中,输入5个作业各自运行所需要的时间及存储空间。

①按先来先服务的原则进行调度,输出作业调度的顺序及等待的时间。

②按最短作业(即运行时间最短)优先的原则进行调度,输出作业调度的顺序及等待时间。

③按最小作业(即存储空间最小)优先的原则进行调度,输出作业调度的顺序及等待的时间。根据运行情况,比较各种算法。

⑵在后备作业队列中,先输入5个作业各自运行所需要的时间,然后每输入一个作业的运行时间,就按响应比高优先的原则进行调度,直到输入作业的运行时间为0时,依次输出响应比高的其它作业。

3、要求

⑴对输入的每个作业必须编号,输出时要有作业序号、运行时间、存储空间及等待时间(包括总的等待时间);

⑵实验报告中的运行情况要包括输入和输出情况;

⑶比较上面几种调度算法的优劣。

4、思路

⑴输入格式:要求有序号、运行时间、存储空间。

例:num runtime storage

1 20 30

2 40 15

3 50 90

4 20 10

5 35 60

⑵输出格式:要求有序号、运行时间、存储空间、等待时间及总的等待时间,并注明是何种调度。

例:FCFS

num runtime storage waittime

1 20 30 0

2 40 15 20

3 50 90 60

4 20 10 110

5 35 60 130

The whole waiting time is:320

⑶响应比 Rp=1+作业等待时间/运行时间

运行时首先输出5个作业中运行时间最短的作业,然后每输入一个作业,计算响应比,输出最高者。输入要求有序号、运行时间;输出要求有序号、运行时间、等待时间。

5、举例

建主程序、三个子程序(例如:先来先服务FCFS、最短作业优先LSFS、最短运行时间作业优先SRFS)、打印程序及原始数据。

五个作业运行时间,建文件DATA.DAT,其中包含num、runtime、storage、waittime 和The waiting time。

6、作业调度流程图示例

[ 返回 ] 实验四存储管理设计

1、目的

存储管理的主要功能之一是合理地分配存储空间。请求页式存储管理是常用的虚拟存储技术。

本实验的目的是通过请求页式管理中页面置换算法了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。

2、内容

⑴通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:

①一半的指令是顺序执行的;

②四分之一的指令是均匀分布在前地址部分;

③四分之一的指令是均匀分布在前地址部分。

具体的实施办法是:

①在[0,319]之间选一起点m;

②顺序执行一条指令,即m+1条;③向前地址[0,m—1]中执行一条指令m';

④顺序执行一条指令,即m'+1条;

⑤向后地址(m'+2,319]执行一条指令m''

⑵将指令序列变换成为页地址流。

假设:

①页面大小为1KB;

②用户实寸容量为4页到32页;

③用户虚存容量为32KB。

用户虚存容量32KB,每1KB中放10条指令,共320条指令(0~319)。其中0~9为0页,10~19为1页…310~319为31页。

⑶使用不同的页面调度算法处理缺页中断,并计算不同实存容量下(4~32KB)的命中率。

①先进先出算法(FIFO);

②最近最少使用算法(LRU);

③最佳淘汰算法(OPT);先淘汰最不常用的页地址;④最少访问页面算法(LFU)。

命中率的算法为:

命中率=缺页中断次数/页地址流长度

3、要求

⑴实验报告中要有程序的详细框图,特别是有关算法本身的框图;

⑵实验报告中要有程序清单及执行的结果;

⑶对不同算法的性能进行评价。

4、思路

关于随机数的产生办法。首先要初始化设置随机数,产生序列的开始点,例如,通过下列语句实现:

srand(400)

⑴计算随机数,产生320条指令序列

m=160

for(i=0;i<80;i++)

{

j=i*4;

a[j]=m;

a[j+1]=m+1;

a[j+2]=a[j]*1.0*rand( )/32767;

a[j+3]=a[j+2]+1;

m=a[j+3]+(319-a[j+3]*1.0*rand( )/32767;

}

⑵将指令序列变换成为页地址流

for (k=0;k<320;k++)

{ pt=a[k]/10;

}

⑶计算不同算法的命中率

rate=1—1.0*U/320;

其中U为缺页中断次数,320是页地址流长度。

⑷输出格式

k fifo lru

4 0.23 0.25

………

32 1.0 1.0

5、页面调度模拟算法流程图示例(1)

6、页面调度模拟算法流程图示例(2)

[ 返回 ] 实验五进程管理设计

1、目的

通过进程的创建、控制和通讯的设计达到下述目的:

⑴加深对进程概念的理解,明确进程和程序的区别;

⑵进一步认识并发(共行)执行的概念,区别顺序执行和并发(共行)执行;

⑶分析进程争用临界资源的现象,学习解决进程互斥的方法;

⑷了解UNIX或Linux系统中进程通讯的基本原理。

2、内容

⑴进程的创建

编制一段程序,使用系统调用fork( )创建两个子进程,这样在此程序运行时,在系统中就有一个父进程和两个自进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,自进程分别显示字符 b和字符c。试观察、记录并分析屏幕上进程调度的情况。

如果在程序中使用系统调用nice( )来改变各进程的优先级,会出现什么现象?

⑵进程的控制

修改已编制的程序,将每个进程输出一个字符修改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象。并分析出现问题的原因。进一步理解各个进程争夺临界资源的情况。

如果在程序中使用系统调用locking( )来给每一个进程加锁,可以实现进程之间的互斥,试观察并分析出现的现象。

⑶进程的软中断通讯

编制一段程序,实现进程的软中断通讯:使用系统调用fork( )创建两个子进程;再使用系统调用。signal( )让父进程捕捉键盘上来的中断信号(即按Del键);在捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发信号;子进程捕捉到信号后分别输出下列信息后终止:

child process1 is killed by parent!

child process2 is killed by parent!

父进程等待两个子进程都终止以后,输出如下信息后终止。

parent process in killed!

⑷进程的管道通讯

编制一段程序,实现进程的管道通讯:使用系统调用pipe()建立一条管道线;两个子进程分别循环向这条管道写一句话:

child 1 is sending a message!

child 2 is sending a message!

而父进程则循环从管道中读出信息,显示在屏幕上。

用管道进行通讯,实质上是一个多生产者单消费者的问题,必须考虑其中都有哪些同步和互斥,同时向管道输入端写的字节数必须和从输出端读的字节数一致,若不一致,则会出现什么问题。

3、要求

⑴仔细观察实验中的各种现象及出现的问题。分析产生各种现象的原因。寻找解决问题的办法。

⑵实验报告应至少包括带注释的程序清单、输出的结果及对各种现象的分析意见。

4、思考

⑴系统调用fork( )是怎样创建进程的?

⑵当首次调用新创建的子进程时,其入口在哪里?

⑶为什么各进程占用的处理机时间不等?

⑷进程通讯有什么特点?

⑸含有进程调用的程序与没有进程调用的程序在执行过程中有什么不同?如何体现进程的动态特征?

5、进程管理实验内容示例

(1)用4个基本系统调用实现进程的创建、执行和自我终止:

①fork()。创建一个子进程。用它创建的子进程是fork调用者进程(即父进程)的复制品,即进程映象。除了进程标识数以及与进程特性有关的一些参数外,其它与父进程相同,与父进程共享文本段和打开的文件,并都受进程调度程序的调度。

如果创建进程失败,则fork()返回值为-1:若创建进程成功,则从父进程返回值是子进程号,从子进程返回的值是0,返回值在R0。m=fork()。

②wait()。父进程处于阻塞(或等待)状态,等待子进程执行完成终止后继续工作。其返回值R0为等待子进程的子进程号。n=wait()。

③exit()。子进程自我终止,释放所占资源,通知父进程可以删除自己。此时它的状态变成P_state=SZOMB。

④getpid()。获得进程的标识数(进程号),一般是正整数。P=getpid()。

编程示例:

例1、编写一个程序,父进程生成一个子进程,父进程等待子进程wait(),子进程执行完成后自我终止exit(),并唤醒父进程。父、子进程执行时打印有关信息。

main()

{ int i,j,k;

if (i=fork()) // 非零值

{ j=wait();

printf(“Parent process!\n”);

printf(“i=%d k=%d\n,i,k);

}

else

{ k=getpid();

printf(“Child process!\n”);

printf(“i=%d k=%d\n,i,k);

}

}

例2.编写一个程序,输入两个整数并求和输出,然后创建一个子进程,当进程调度程序调度到父进程或子进程时特输出不同的信息。

main()

{ int i,j,k,sum;

scanf(“%d%d”,&j,&k);

sum=j+k;

printf(“sum=%d\n”,sum);

while((i=jork())==-1)

printf(“i=%d\n,i);

if (i) printf(“It is parent process!\n”);

else printf(“It is Child process!\n”);

}

实验题1. 编写一个程序,用fork()创建2个子进程。让每个进程在屏幕上显示一个字符:父进程显示字符a,子进程分别显示字符b和字符c。先对例1和例2进行运行,了解各个系统调用的使用,再做本实验题1。观察、记录并分析屏幕上进程调度的情况。

(2)进程的“软中断”通信

它可用于同一用户的进程之间通信。其方式是:一个进程通过系统调用

kill(pid,sig) 向同一用户的其它进程pid发送一个软中断信号:另一进程通过系统调用signal(sig,func)捕捉到信号sig后,执行予先约定的动作func,从而实现这两个进程间的通信。

①发送信号kill(pid,sig),本进程将指定信号sig发送给指定进程pid,其中参数为pid进程号,pid与sig均为整数值。

②接收信号signal(sig,func),本进程接收到其它进程发送给它的信号后,完成指定的功能func。func一般是函数。例3. 编写一个程序,父进程生成子进程,父进程发送信号并等待,子进程接收信号并完成某种功能,然后自我终止并唤醒父进程。

int func();

main()

{ int i,j:

signal(17,func);

if(i=fork())

{ printf(“Parent: Signal 17 will be send to Child! \n”);

kill(i,17);

wait(0);

printf(“Parent: finished! \n”)”

}

else

{

sleep(10);

printf(“Child: A signal from my Parent is received! \n”)

exit();

}

}

func()

{printf(“It is signal 17 processing function! \n”;)

执行结果如下:

Parent: Signal 17 will be send to Child!

It is signal 17 processing function!

Child: A signal from my Parent is received!

Parent: finished!

在程序中系统调用sleep(second)用于进程的同步与互斥,自变量是暂停秒数。其功能是使现行进程暂停执行由自变量规定的秒数。

类似的系统调用有pause(),它的功能是暂停执行本进程,等待kill发来的信号,收到信号后再继续执行。

在特殊情况下,常用到如下语句signal(SIGINT,SIG_IGN)。它表示遇到了中断信号SIGINT(按Del键)。本进程不做任何动作,即勿略该中断信号对本进程的影响。

实验题2. 编写一个程序,实现进程的“软中断”通信。使用系统调用fork()创建2个子进程,再使用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Del键),在捕捉到中断信号后,父进程用系统调用kill()向2个子进程发信号,子进程捕捉到信号后分别输出下列信息后终止:

Child process 1 is killed by parent !

Child process 3 is killed by parent !

父进程等待2个子进程都终止后,输出如下信息后终止:

Parent process is killed !

(3)进程的控制

利用系统调用locking(fd,mode,size),对指定文件的指定区域(由size指示)进行加锁或解锁,以实现进程的同步与互斥。其中fd是文件描述字;mode是锁定方式,=1表示加锁,=0表示解锁,size是指定文件fd的指定区域,用0表示从当前位置到文件尾。

常用程序段

fd = open( “a.out”,2 );

i = fork();

if( i==0 )

{ locking(fd,1,0);

………

locking(fd,0,0);

}

例4. 编写一个程序,创建一个文件,文件名为lock.dat,同时父进程创建2

个子进程,通过系统调用locking(),分别让2个子进程对文件加锁,再输出有关信息,然后解锁。

char buf[]={“check lock!\n”};

main()

{ int i,p1,p2,fd;

fd=creat(“lock.dat”,0644);

write(fd,buf,20);

while((p1=fork())==-1);

if(p1==0)

{ locking(fd,1,0);

for (i=1;i<=3;i++=

printf(“child1!\n”);

locking(fd,0,0);

}

else

{ while((p2=fork())==-1);

if (p2==0)

{ locking(fd,1,0);

for (i=1;i<=4;i++=

printf(“child2!\n”);

locking(fd,0,0);

}

else printf(“parrent!\n”);

}

close(fd);

}

实验题3. 编写一个程序,用系统调用fork()创建2个子进程。让每个进程输出一句话。并利用系统调用locking在各进程执行时摈制加锁。观察程序执行时屏幕上出现的现象,并说明原因。(注:有的系统中locking()形式是lockf()。)

(4)进程管道的通信

建立进程间的管道,格式为:

pipe(fd);

int fd[2];

其中,fd[1] 是写端,向管道中写入;

fd[0] 是读端,从管道中读出;

本质上将其当作文件处理。进程间可通过管道,用write与read来传递数据,但write与read不可以同时进行,在管道中只能有4096字节的数据被缓冲。

例5. 编写一个程序,建立一个pipe,同时父进程产生一个子进程,子进程向pipe中写入一个字符串,父进程从中读出该字符串,并每隔3秒种输出打印一次。

main()

{ int x,fd{2};

char S[30];

pipe(fd);

for (;;)

{ x=fork();

if (x==0)

{ sprintf(S,”Good-night!\n”);

write(fd[1],S,20);

sleep(3);

exit(0);

}

else

{ wait(0);

read(fd[0],S,20);

printf(“**********\n”,S);

}

}

}

实验题4. 编写一段程序,实现进程的管道通信。使用系统调用pipe()建立一条子管道线,2个子进程分别循环向这条管道写一句话:

child1 is sending a message!

Child2 is sending a message!

而父进程则循环从管道中读出信息,显示在屏幕上。

[ 返回 ] 实验六可变分区内存管理

1.基本思想

可变分区是指系统不预先划分固定分区,而是在装入程序的时候划分内存区域,使得为程序分配的分区大小恰好等于该程序的需求量,且分区的个数是可变的。显然可变分区有较大的灵活性,较之固定分区能获得好的内存利用率。

2.数据结构

可变分区管理可以用两种数据结构实现,一种是已分配区表和空闲区表,也就是用预先定义好的系统空间来存放空间分配信息。请参见教材P101页图4-10。

另一种也是最常用的就是空闲链表,由于对分区的操作是动态的,所以很难估计数据结构所占用的空间,而且空闲区表会占用宝贵的系统空间,所以提出了空闲链表的概念。其特点是用于管理分区的信息动态生成并和该分区在物理地址上相邻。这样由于可以简单用两个空闲块之间的距离定位已分配空间,不仅节约了系统空间,而且不必维持已分配空间的信息,。下图是空闲链表的示意图。

3.实习要求

请同学们实现一个完整的可变分区管理器,包括分配,回收,分区碎片整理等。希望同学们考虑如下问题:

?容错性,当操作出现错误,比如空间不足,空指针引用等的情况下的处理。

?空闲块的合并。

?已分配空间的跟踪。当做碎片整理时,需要跟踪分配的空间,修改其引用

以保证引用的正确性。

操作系统-Linux课程实验报告

实验、 Linux Ubuntu的安装、创建新的虚拟机VMWare 实验 Shell编程 1.实验目的与内容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include<> #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error"); } esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); }

close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验内核模块 实验步骤: (1).编写内核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。 (2).编译内核模块Makefile文件 # Makefile under ifneq ($(KERNELRELEASE),) #kbuild syntax. dependency relationshsip of files and target modules are listed here. obj-m := else PWD := $(shell pwd) KVER ?= $(shell uname -r) KDIR := /lib/modules/$(KVER)/build all: $(MAKE) -C $(KDIR) M=$(PWD) modules clean: rm -rf .*.cmd *.o *. *.ko .tmp_versions *.symvers *.order endif 编译完成之后生成模块文件。 (3).内核模块源代码 #include #include #include #include #include #include #define MODULE #define MODULE_VERSION "" #define MODULE_NAME "clock" struct proc_dir_entry* my_clock; int read_clock(char* page, char** start, off_t off, int count, int* eof, void* data) { int len; struct timeval xtime;

操作系统课程试验

第3章处理机管理 7.1实验内容 处理机管理是操作系统中非常重要的部分。为深入理解进程管理部分的功能,设计几个调度算法,模拟实现处理机的调度。 7.2实验目的 在多道程序或多任务系统中,系统同时处于就绪状态的进程有若干个。也就是说能运行的进程数远远大于处理机个数。为了使系统中的各进程能有条不紊地运行,必须选择某种调度策略,以选择一进程占用处理机。要求学生设计一个模拟单处理机调度的算法,以巩固和加深处理机调度的概念。 7.3实验题目 7.3.1设计一个按先来先服务调度的算法 提示 (1)假设系统中有5个进程,每个进程由一个进程控制块(PCB)来标识。进程控制块内容如图7-1所示。 进程名即进程标识。 链接指针:按照进程到达系统的时间将处于就绪状态的进程连接成一个就绪队列。指针指出下一个到达进程的进程控制块首地址。最后一个进程的链指针为NULL。 估计运行时间:可由设计者指定一个时间值。 达到时间:进程创建时的系统时间或由用户指定。调度时,总是选择到达时间最早的进程。 进程状态:为简单起见,这里假定进程有两种状态:就绪和完成。并假定进程一创建就处于就绪状态,用R表示。当一个进程运行结束时,就将其置成完成状态,用C表示。 (2)设置一个队首指针head,用来指出最先进入系统的进程。各就绪进程通过链接指针连在一起。 (3)处理机调度时总是选择队首指针指向的进程投入运行。由于本实验是模拟实验,所以对被选中进程并不实际启动运行,而只是执行: 估计运行时间减1 用这个操作来模拟进程的一次运行,而且省去进程的现场保护和现场恢复工作。 (4)在所设计的程序中应有显示或打印语句,能显示或打印正运行进程的进程名,已运行是、还剩时间,就绪队列中的进程等。所有进程运行完成是,给出各进程的周转时间和平均周转时间。 先来先服务(FCFS)调度算法 /*源程序1.cpp,采用先来先无法法在Visual C++ 6.0下调试运行*/ /*数据结构定义及符号说明*/ #include #include

《管理信息系统》课程设计实验报告

《管理信息系统》课程设计实验报告 课程名称:管理信息系统 指导老师: ******* 院系:商学院 专业班级: ******** 姓名: ******** 学号: ******** 实验日期: 2011.7.11 实验地点:一机房

《管理信息系统》课程设计任务书 一.课程设计目的及意义: 《管理信息系统》课程设计是在完成《管理信息系统》课程学习之后的一次实践性教 学,是本课程理论知识的一次综合运用。通过本课程设计,能够进一步加深对信息、信息系 统、管理信息系统等基础理论知识的理解,能初步掌握结构化的生命周期法、面向对象法等 系统工程方法,进一步加强熟练应用管理信息系统的操作技能,并能够借助于管理信息系统 解决实际问题。 二.课程设计要求: 1.本课程设计时间为一周。 2.本课程设计以教学班为单位进行上机操作及实验。 3.按照任务要求完成课程设计内容。 三.课程设计任务要求: 1.任务内容:进入山东轻工业学院主页,在“网络资源”区域进入“网络教学平台”,输入各自的用户名和密码(学生学号及密码),进入本网络教学平台系统,在充分熟悉本系统 的前提下,完成下列任务要求。 2.任务要求: ①按照课程讲解的系统分析步骤和理论对本系统进行系统分析。 ②绘制不少于 3 个的主要业务流程图。 ③描述上述主要业务流程图的逻辑处理功能。 ④分析本系统的优缺点,提出改进意见,并描述改进的逻辑处理功能,绘制业务流 程图。 四.课程设计评分标准: 按照《管理信息系统课程设计大纲》的要求,本课程 1 学分,采用百分制计分,其中 任务要求②占30 分,任务要求③占30 分,任务要求④占30 分,考勤及实践表现占10 分。五.本课程设计自2011 年 6 月 27 日至 2011 年 7 月 1 日。

计算机操作系统实验课实验报告

实验报告 实验课程: 计算机操作系统学生姓名:XXX 学号:XXXX 专业班级:软件 2014年12月25日

目录 实验一熟悉Windows XP中的进程和线程.. 3实验二进程调度 (7) 实验三死锁避免—银行家算法的实现 (18) 实验四存储管理 (24)

实验一熟悉Windows XP中的进程和线程 一、实验名称 熟悉Windows XP中的进程和线程 二、实验目的 1、熟悉Windows中任务管理器的使用。 2、通过任务管理器识别操作系统中的进程和线程的相关信息。 3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。 三、实验结果分析 1、启动操作系统自带的任务管理器: 方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。

2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并 完成下表: 表一:统计进程的各项主要信息 3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。再

从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程, 原因是该系统是系统进程。 4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所 有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。 5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进 程“explorer.exe”的各项信息,并填写下表: 进程:explorer.exe 中的各个线程

《管理信息系统》课程设计分析方案

管理信息系统设计报告 实验题目:航班售票管理系统设计报告 院系班级: 姓名: 学号: 辅导老师:徐恒 完成日期:2018年5月17日

目录 一、实验题目3 二、实验目的3 三、实验内容3⑴.系统分析:3 <一)必要性分析3 <二)可行性分析3 <三)航班售票管理系统业务流程分析3 <四)航班售票管理系统数据流图5 <五)航班售票管理系统数据字典5 ⑵.系统设计:8 <一)功能模块设计8 <二)代码设计9 <三)系统运行环境与数据库设计9 <四)输入输出设计11 四、总结与体会16 参考书目:18

一、实验题目:航班售票管理系统设计报告 二、实验目的: 1.能够正确运用网络数据库课程的基本理论和知识,结合本课题,复习巩固提高数据库反感设计,论证和分析方法; 2.熟悉关系数据库规范化设计理论,根据实验要求设计并建立 科学合理的数据库,正确建立数据库中表与表之间的关系; 3. 熟悉业务流程图,数据流程图,数据字典的绘制; 4. 熟悉数据存储设计,输入输出设计等环节; 5. 进一步树立正确的系统设计,实施思想,培养分析能力和解 决问题能力,提高查询信息和撰写书面文件的能力。 三、实验内容 ⑴.系统分析: <一)必要性分析 国际民航业的激烈竞争又迫使担负国际航线运输任务的航空公司必须尽快推出自己的因特网售票系统,而这些又必须由一个安全

的网上订票与支付系统作支持。更重要的还要提供票务管理。面对不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。航空业身处信息时代的电子商务大潮中,加之传统的售票方式已经不能满足现今航空业的发展,于是航空售票管理系统就自然而然被应用。 <二)可行性分析 由于本系统管理主要是对机票的管理,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且航空公司用于机票管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有相关参考文献,还有就是网上资料,特别是参考其它程序的功能,因此完全可以实现系统的投资约50万元,待5年后更新,年使用费约10万元,在经济上是可行的。 <三)航班售票管理系统业务流程分析 航班售票系统主要有以下几项管理功能: <1)订票管理:根据乘客的订票信息查询航班信息,查看是否还有余票未售出,为乘客订票,备份数据。当需要修改订票记录时,查找原订票记录,找到后修改订票记录,备份数据。 <2)退票管理:根据乘客提供的证件号码查找相应乘客信息,若找到,为其退票。 <3)综合查询:根据乘客的要求和提供的信息,检索航班信息数据表,查询航班信息。

操作系统实验心得(精选多篇)

操作系统实验心得 每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会都非常珍惜。不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。但是每完成一个任务我都兴奋不已。一开始任务是任务,到后面任务就成了自己的作品了。总体而言我的课设算是达到了老师的基本要求。总结一下有以下体会。 1、网络真的很强大,用在学习上将是一个非常高效的助手。几乎所有的资料都能够在网上找到。从linux虚拟机的安装,到linux的各种基本命令操作,再到gtk的图形函数,最后到文件系统的详细解析。这些都能在网上找到。也因为这样,整个课程设计下来,我浏览的相关网页已经超过了100个(不完全统计)。当然网上的东西很乱很杂,自己要能够学会筛选。不能决定对或错的,有个很简单的方法就是去尝试。就拿第二个实验来说,编译内核有很多项小操作,这些小操作错了一项就可能会导致编译的失败,而这又是非常要花时间的,我用的虚拟机,编译一次接近3小时。所以要非常的谨慎,尽量少出差错,节省时间。多找个几个参照资料,相互比较,慢慢研究,最后才能事半功倍。 2、同学间的讨论,这是很重要的。老师毕竟比较忙。对于课程设计最大的讨论伴侣应该是同学了。能和学长学姐讨论当然再好不过了,没有这个机会的话,和自己班上同学讨论也是能够受益匪浅的。

大家都在研究同样的问题,讨论起来,更能够把思路理清楚,相互帮助,可以大大提高效率。 3、敢于攻坚,越是难的问题,越是要有挑战的心理。这样就能够达到废寝忘食的境界。当然这也是不提倡熬夜的,毕竟有了精力才能够打持久战。但是做课设一定要有状态,能够在吃饭,睡觉,上厕所都想着要解决的问题,这样你不成功都难。 4、最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。比如当时我遇到我以前从未遇到的段错误的问题,让我都不知道从何下手。在经过大量的资料查阅之后,我对段错误有了一定的了解,并且能够用相应的办法来解决。 在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的 1)访问系统数据区,尤其是往系统保护的内存地址写数据,最常见就是给一个指针以0地址 2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域 3)其他 例如: <1>定义了指针后记得初始化,在使用的时候记得判断是否为 null <2>在使用数组的时候是否被初始化,数组下标是否越界,数组元素是否存在等 <3>在变量处理的时候变量的格式控制是否合理等

操作系统课程设计实验报告

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号2011482370 姓名耿雪涛 指导教师朱亮 2013 年6月19日

主要内容 一、设计目的 通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 二、设计思想 实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 设计模板如下图: 注:本人主要涉及设备管理模块

三、设计要求 设备管理主要包括设备的分配和回收。 ⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。 ⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。 ⑶屏幕显示 注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。 设备管理模块详细设计 一、设备管理的任务 I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O 设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。 二、设备管理函数的详细描述 1、检查设备是否可用(主要代码) public bool JudgeDevice(DeviceType type) { bool str = false; switch (type) { case DeviceType.a: {

实验报告管理系统报告

实验报告管理系统报告文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

软件项目设计报告 实验报告管理系统 所在班级12计卓 小组成员 江灵瞳201印海平201钱晨晨 学院名称信电工程学院 专业名称计算机科学与技术 指导教师胡局新 起止日期 2015年1月15日 目录

1 绪论 开发背景 实验教学是学生技能培养的重要环节之一,学生实验报告的质量在一定程度上反映了实验教学的质量,实验报告管理水平也反映了实验教学管理水平。目前,大部分学校所提交的实验报告大多还停留在以纸为介质的方式上,这将严重制约着实验教学的开展。首先,很多课程的实验结果在纸质实验报告中不能表现或不能完全表现,其次纸质实验报告的批改和分析也是实验授课老师的一个很重负担,如何提高学生实验报告的表象能力,提高教师批改实验报告的效率并及时发现和纠正实验报告中存在的问题是许多课程实验授课教师所面对的一个难题。 本次设计完成的工作 老师登录该系统可以上传、下载实验报告、查看学生做的实验报告并给学生打分、老师可以查看实验验课程、实验课程列表、查看实验提交情况等。 学生登录该系统可以上传、下载实验报告、查看实验课程和实验课程列表。 任务分工 组织结构:为了完成学生信息管理系统的项目开发,班级组成了一个项目团队,人员分工:为了明确项目团队中每个人的任务分工,现制定人员分工,如下表所示: 任务 我们三个人各自分工完成自己的模块内容,首先,江灵瞳构造整个系统的框架,然后印海平设计数据库,在我们一起先设计前台界面,之后我们就各自实现各自模块的功能。

2 系统分析 需求分析 1)实验课程设置,设置课程编号、课程名、时间、次数、老师编号、老师名、实验班级; 2)实验列表设置,设置实验编号、实验名、班级、学生学号、学生名、老师名、实验路径、提交状态、分数; 3)树型类别设置,设置编号、名字、路径、学生名、老师名、树的状态。 可行性分析 编写目的: 背景: 徐州工程学院是一所培养应用型人才的普通高等学院。为了完善管理学校实验报告太多没有地方保存了,经决定开发实验报告管理系统。 要求: 实验报告系统必须提供学生信息和教师信息的基础设置;提供强大的条件搜索功能个实验课程查询、实验列表出现等管理功能;可以分不同权限、不同用户对该系统进行操作。另外,该系统还必须保证数据的安全性、完整性和准确性。 目标: 实验报告管理系统的目标是实现学生的纸质的实验报告太多没有地方长期保存,这样用一个系统可以将一个课程所有学生的实验报告进行管理方便存放。 条件、假定和限制: 时间的限制,我们必须在两周的时间里完成项目,在这期间系统分析员需要整理好分析结果,分配各组员的任务,每天需要人员跟踪记录整理文档。程序开发人员须在5天的时间里进行系统设计、程序编码、系统测试、程序调试。期间,还包括一个双休日假期。 根据上面的分析,在技术上不会存在什么问题,因此项目延期的可能性很小。只要在分配的时间里都能顺利地完成任务,再加上团队的凝聚力齐心协力,相信在这两周内会获得一个满意的结果。 用例图 图用例图

管理信息系统实验课程教案

《管理信息系统》 实验

《管理信息系统》实验教案 课程概况: 《管理信息系统》实验课程是会计学、财务管理、市场营销专业的专业实验课程。总学时:18学时。 本课程的教学对象是会计学、财务管理、市场营销专业的本科学生,学生在学习本课程时应具有《管理学基础》、《财务会计》、《计算机基础》、《企业管理》、《数据库理论与应用》等课程方面的知识。 本课程着重于通过上机实习,培养和提高学生实际应用计算机的基本技能,使学生通过系统开发方法与使用技术的学习,提高运用计算机来处理管理业务的能力,使之成为管理信息系统系统的维护员、操作员,并具有成为系统管理员和分析设计员的持续学习能力。 本课程的主要任务是使学生掌握管理信息系统系统基本操作方法与技能,培养和提高学生实际应用的技能。 实验主要内容 实验一系统管理 实验二基础档案设置 实验三总账管理系统初始设置 实验四总账管理系统日常业务处理 实验五总账管理系统银行对账 实验六总账管理系统期末处理 实验七 UFO报表管理(一) 实验八 UFO报表管理(二) 实验九 UFO报表管理(三) 实验一系统管理 【实验目的】 掌握用友ERP-U8软件中有关财务管理系统中的系统管理的相关内容,理解系统管理在整个财务管理系统中的作用及重要性,充分理解财务分工的意义。 【实验内容】 1. 建立单位账套 2. 增加操作员 3. 进行财务分工 4. 备份账套数据 5.账套数据引入 6.修改账套数据 【实验资料】 1. 建立新账套 (1) 账套信息

账套号:001;账套名称:北京光明科技有限公司;采用默认账套路径;启用会计期:2006年1月;会计期间设置:1月1日至12月31日。 (2) 单位信息 单位名称:北京光明科技有限公司;单位简称:光明公司。 (3) 核算类型 该企业的记账本位币为人民币(RMB);企业类型为工业;行业性质为新会计制度;账套主管为学生本人;按行业性质预置科目。 (4) 基础信息 该企业有外币核算,进行经济业务处理时,需要对存货、客户、供应商进行分类。 (5) 分类编码方案 科目编码级次:42222 其他:默认 (6) 数据精度 该企业对存货数量、单价小数位定为2。 2. 财务分工 (1) 学号的后4位学生本人(口令:1)--账套主管 负责财务软件运行环境的建立,以及各项初始设置工作;负责财务软件的日常运行管理工作,监督并保证系统的有效、安全、正常运行;负责总账系统的凭证审核、记账、账簿查询、月末结账工作;负责报表管理及其财务分析工作。 具有系统所有模块的全部权限。 (2) 002 陈亮(口令:2)--出纳 负责现金、银行账管理工作。 具有“总账-凭证-出纳签字”权限,具有“总账-出纳”的全部操作权限。 (3) 003 赵红(口令:3)--会计 负责总账系统的凭证管理工作以及客户往来和供应商往来管理工作。 具有“总账-凭证-凭证处理”的全部权限,具有“总账-凭证-查询凭证、打印凭证、科目汇总、摘要汇总表、常用凭证、凭证复制”权限,具有“总账-期末-转账设置、转账生成”权限。 【实验要求】 1. 以系统管理员Admin的身份注册系统管理。 【操作指导】 1. 启动系统管理 执行“开始”|“程序”|“用友ERP-U8”|“系统服务”|“系统管理”命令,进入“用友ERP-U8〖系统管理〗”窗口。 2. 登录系统管理 (1) 执行“系统”|“注册”命令,打开“注册〖系统管理〗”对话框。

操作系统实验四

青岛理工大学课程实验报告

算法描述及实验步骤 功能:共享存储区的附接。从逻辑上将一个共享存储区附接到进程的虚拟地址空间上。用于建立调用进程与由标识符shmid指定的共享内存对象之间的连接。 系统调用格式:virtaddr=shmat(shmid,addr,flag) 该函数使用头文件如下: #include #include #include (8)shmdt( ) 功能:用于断开调用进程与共享内存对象之间的连接,成功时返回0,失败返回-1。 系统调用格式: int shmdt(shmaddr) char *shmaddr;/*采用shmat函数的返回值*/ (9)shmctl( ) 功能:共享存储区的控制,对其状态信息进行读取和修改。用于对已创建的共享内存对象进行查询、设置、删除等操作。 系统调用格式:shmctl(shmid,cmd,buf) 该函数使用头文件如下: #include #include #include 2、步骤: (1)定义进程变量(2)定义两个字符数组 (3)创建管道(4)如果进程创建不成功,则空循环(5)如果子进程创建成功,pid为进程号(6)锁定管道 (7)给Outpipe赋值(8)向管道写入数据 (9)等待读进程读出数据(10)解除管道的锁定 (11)结束进程等待子进程结束(12)从管道中读出数据 (13)显示读出的数据(14)父进程结束 创建jincheng.c 插入文字

调 试 过 程 及 实 验 结 果 运行: 运行后: 总 结 (对实验结果进行分析,问题回答,实验心得体会及改进意见) 虽然对pipe()、msgget()、msgsnd()、msgrcv()、msgctl()、shmget()、shmat()、 shmdt()、shmctl()的功能和实现过程有所了解,但是运用还是不熟练,过去没 见过,所以运行了一个简单的程序。 利用管道机制、消息缓冲队列、共享存储区机制进行进程间的通信,加深了对 其了解。 (1)管道通信机制,同步的实现过程:当写进程把一定数量的数据写入pipe, 便去睡眠等待,直到读进程取走数据后,再把它唤醒。当读进程读一空pipe 时,也应睡眠等待,直到写进程将数据写入管道后,才将之唤醒,从而实现进 程的同步。 管道通信的特点:A管道是半双工的,数据只能向一个方向流动;需要双方通 信时,需要建立起两个管道;B. 只能用于父子进程或者兄弟进程之间(具有亲 缘关系的进程);C.单独构成一种独立的文件系统:管道对于管道两端的进程而

操作系统-Linux课程实验报告

实验 1.1、1.2 Linux Ubuntu的安装、创建新的虚拟机VMWare

实验1.3 Shell编程 1.实验目的与容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error");

} esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); } close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验2.3 核模块 实验步骤: (1).编写核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。 (2).编译核模块Makefile文件 # Makefile under 2.6.25

管理信息系统实验报告

《管理信息系统》实验报告 实验项目:教务处排课系统分析 实验学时:18学时 姓名: 学号: 专业班级: 实验时间: 实验成绩:

东北财经大学 《管理信息系统》实验报告实验项目名称:

管理系统实验报告 实验小组成员: 实验对象:教务处排课信息系统 实验对象背景介绍:教务管理系统是一个庞大而复杂的系统,它包括:学生学籍管理 系统、排课系统、教师管理系统、学生成绩系统、系统设置、班级信息系统、教学培养计划管理系统、教学资源管理系统、招生系统教务信息发布系统和事务处理系统。随着科学技术的进步与相应的管理信息系统的升级,教务系统管理平台充分利用互联网络B/S管理信息模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统。教务管理系统内部子系统多样庞杂,今天我们主要讨论的研究对象是排课管理信息系统。 排课管理系统是每个学校必不可少的内容,它的优劣直接学校教学工作质量和学校的正常教学活动秩序。随着现在生源数量的不断增长以及各行业竞争日益激烈,为了满足中国社会主义事业发展对高素质人才的需求,各大高校都在尽自己努力,以本校现状及需求作为基础,以科技发展进步作为依托,发展完善一个功能完整,操作简单快捷,高效率,与本校其他教务管理系统良好适应的排课系统与之配套,使教师等教学资源利用达到最大化,为学生提供优良的教育环境。因此,东北财经大学作为一个知名的财经类高校,要达到适应教育现状及提高自身教育层次的目标,完善教务排课管理系统显得尤为重要。 系统功能简述 排课管理系统需要合理调配各个班级专业所需的专业课程选修必修课程,相应教师,教师及上课班级,尽可能全面的考虑到教师的身体状况,工作条件,家庭状况甚至与学校距离,教师及学生时间,各种课程按重要程度以及学生兴奋点和接受能力合理排序,教师的容量用途,学校集体活动或教师会议等多方面因素,以计算机安排为主,手工调整为辅的方式做出各个院系各个专业各个班级的课程安排。 排课管理系统的目标不仅是对于原有系统进行改进提高,还使课程管理科学化系统化准确化,减少手工录入的误差可能性,方便操作者的随时添加、查询、修改,是统计表格格式规范化统一化,提高工作效率,降低人工成本,提高处理数据能力与速度,提高教学质量,优化学校教务管理系统,为学校的进一步发展提供技术支持与可能性。 系统分析 (1)系统分析任务:根据系统设计任务书所确定的范围,并在充分认识原有系统的基础上进行详细的调查分析,通过问题识别、可行性分析、详细调查、系统化分析,进而确定新系统的基本目标和逻辑功能结构,最后完成新系统的逻辑方案设计。 (2)可行性分析和详细调查概述:由于实验的限制,假定建立排课管理信息系统在管理上、技术上、经济上都是可行的。而详细调查采用一定的调查方法发现了现行系统有以下优缺点: 现有系统优缺点分析 1.选课分为预选、正选、补退选,一定程度上完善了选课系统。 2.在选课中,按年级差异区分次序,一定程度上缓解短时间内系统压力,保证了高年级学生顺利完成课业。

操作系统_课程实验指导书

《—操作系统—》 实验指导书 洪朝群编写 适用专业:计算机(嵌入式) 厦门理工学院计算机科学与信息工程学院 2015年9 月

实验指导书前言内容要求 前言 本课程的基本内容介绍,通过学习学生需要掌握的基本知识。 为了使学生更好地理解和深刻地把握这些知识,并在此基础上,训练和培养哪些方面的技能,设置的具体实验项目,其中哪几项实验为综合性、设计性实验。 各项实验主要了解、掌握的具体知识,训练及培养的技能。 本指导书的特点。 对不同专业选修情况说明。

实验一:Linux操作系统的安装过程与界面 实验学时:4 实验类型:验证 实验要求:必修 一、实验目的 通过本实验的学习,使学生掌握Linux操作系统的安装方法,并且了解Linux 界面的基本使用方法。 二、实验内容 实验内容:用vmware workstation安装Ubuntu12.10系统。 三、实验原理、方法和手段 无 四、实验组织运行要求 以学生自主训练为主的开放模式组织教学 五、实验条件 无 六、实验步骤 1、下载Ubuntu12.10桌面版安装镜像, https://www.360docs.net/doc/a416979985.html,/download/desktop 2、打开vmware,建立虚拟机镜像 3、安装过程参考(“VMWare8.0安装Ubuntu12.04教程.pdf”文件),注意使用虚拟机的时候把镜像文件放在最后一个盘。 4、(可选步骤)如果本机上的wmware版本在安装系统的过程中出现问题,可下载新版进行安装。https://www.360docs.net/doc/a416979985.html,/d/FWACAQQFRTZQ?p=09122 七、思考题 Linux与Windows有何不同?

操作系统实验报告

操作系统教程 实 验 指 导 书 姓名: 学号: 班级:软124班 指导老师:郭玉华 2014年12月10日

实验一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 运行结果 (如果运行不成功,则可能的原因是什么?) : 有可能是因为DOS下路径的问题 (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 因为程序是个死循环程序 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环: 屏蔽j循环: _______________________________________________________________________________调整循环变量i的循环次数:

操作系统课程实验

《操作系统》课程实验 实验1:安装Linux系统(4学时) 目的:1.学会在操作系统安装之前,根据硬件配置情况,制订安装计划。 2.学会在安装多操作系统前,利用硬盘分区工具(如PQMagic)为Linux准备分区。 3.学会Linux操作系统的安装步骤和简单配置方法。 4.学会Linux系统的启动、关闭步骤,初步熟悉Linux系统的用户界面。 内容:1.安装并使用硬盘分区工具(如PQMagic),为Linux准备好分区。 2.安装Linux系统(如红旗Linux桌面版)。 3.配置Linux系统运行环境。 4.正确地启动、关闭系统。 5.对图形界面进行一般操作。 要求:1.制订安装计划。 2.如果在机器上已安装了Windows系统,而且没有给Linux预备硬盘分区,则安装硬盘分区工具(如PQMagic),运行它,为Linux划分出一块“未分配”分区。 3.在光驱中放入Linux系统安装盘,启动系统。按照屏幕提示,选择/输入相关参数,启动安装过程。 4.安装成功后,退出系统,取出安装盘。重新开机,登录Linux系统。 5.对Linux系统进行配置,如显示设备、打印机等。 6.利用鼠标对图形界面进行操作。 说明:1.本实验应在教师的授权和指导下进行,不可擅自操作,否则可能造成原有系统被破坏。 2.如条件不允许每个学生亲自安装,可采用分组进行安装或课堂演示安装的方式。 实验2:Linux 应用及shell编程(4学时) 目的:1.掌握Linux一般命令格式和常用命令。 2.学会使用vi编辑器建立、编辑文本文件。

3.了解shell的作用和主要分类。 4.学会bash脚本的建立和执行方式。 5.理解bash的基本语法。 6.学会编写简单的shell脚本。 内容:1.正确地登录和退出系统。 2.熟悉使用date,cal等常用命令。 3.进入和退出vi。利用文本插入方式建立一个文件。 4.学会用gcc编译器编译C程序。 5.建立shell脚本并执行它。 6.学会使用shell变量和位置参数、环境变量。 7.学会使用bash的特殊字符和一般控制结构编写shell脚本。 要求:1.登录进入系统,修改个人密码。 2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。 3.进入vi。建立一个文件,如file.c。进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。最后,将该文件存盘。回到shell状态下。 4.运行gcc file.c -o myfile,编译该文件,会发现错误提示。理解其含义。 5.利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行该脚本。 6.对主教材第2章中的适当例题进行编辑,然后执行。从而体会通配符、引号、输入输出重定向符、成组命令的作用;能正确使用自定义变量、位置参数、环境变量、输入/输出命令;能利用if语句、while语句、for语句和函数编写简单的脚本。 实验3:进程管理(4学时) 目的:1.加深对进程概念的理解,明确它与程序的区别,突出理解其动态性特征。 2.学会使用ps命令观察进程的状态,并分析进程族系关系。 3.学会使用系统调用对进程进行控制。

操作系统实验报告心得体会

操作系统实验报告心得体会 每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会都非常珍惜。不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。但是每完成一个任务我都兴奋不已。一开始任务是任务,到后面任务就成了自己的作品了。总体而言我的课设算是达到了老师的基本要求。总结一下有以下体会。 1、网络真的很强大,用在学习上将是一个非常高效的助手。几乎所有的资料都能够在网上找到。从linux虚拟机的安装,到linux的各种基本命令操作,再到gtk的图形函数,最后到文件系统的详细解析。这些都能在网上找到。也因为这样,整个课程设计下来,我浏览的相关网页已经超过了100个(不完全统计)。当然网上的东西很乱很杂,自己要能够学会筛选。 不能决定对或错的,有个很简单的方法就是去尝试。就拿第二个实验来说,编译内核有很多项小操作,这些小操作错了一项就可能会导致编译的失败,而这又是非常要花时间的,我用的虚拟机,编译一次接近3小时。所以要非常的谨慎,尽量少出差错,节省时间。多找个几个参照资料,相互比较,

慢慢研究,最后才能事半功倍。 2、同学间的讨论,这是很重要的。老师毕竟比较忙。对于课程设计最大的讨论伴侣应该是同学了。能和学长学姐讨论当然再好不过了,没有这个机会的话,和自己班上同学讨论也是能够受益匪浅的。大家都在研究同样的问题,讨论起来,更能够把思路理清楚,相互帮助,可以大大提高效率。 3、敢于攻坚,越是难的问题,越是要有挑战的心理。这样就能够达到废寝忘食的境界。当然这也是不提倡熬夜的,毕竟有了精力才能够打持久战。但是做课设一定要有状态,能够在吃饭,睡觉,上厕所都想着要解决的问题,这样你不成功都难。 4、最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。比如当时我遇到我以前从未遇到的段错误的问题,让我都不知道从何下手。在经过大量的资料查阅之后,我对段错误有了一定的了解,并且能够用相应的办法来解决。 在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的 1)访问系统数据区,尤其是往系统保护的内存地址写数据,最常见就是给一个指针以0地址 2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域

管理信息系统课程实验指导书2017版

《管理信息系统》课程 上机指导书 学生姓名 指导教师 所属学院 专业班级 经济与管理学院 2017年2月16日

实验一 认识管理信息系统 一、实验目的 (1)能够对管理信息系统有初步的认识; (2)通过网络了解管理信息系统的应用动态。 二、实验内容 (1)网络搜索管理信息系统的动态,以一个系统为主,熟悉该系统的功能 (2)分析各模块中应设计的数据表。 (5)提交书面实验报告。 四、实验步骤 1、根据网上搜索,选定一个具体管理信息系统作为对象(如淘宝平台,本校图书管理系统,教务管理系统); 2、了解各模块的功能并分析各模块中具有的数据表。 五、实验环境(硬/软件要求):微机:每人1台 六、实验报告要求 (1)每个学生完成一份实验报告; (2)实验报告的内容包括:实验内容及目的,操作步骤及运行结果; (3)在实验报告的最后写明实验体会和实验中存在的问题。

实验一 ***管理信息系统规划 一、实验目的 通过对*管理信息系统开发,让学生了解管理信息系统规划工作的重点,掌握系统规划报告说明书的写作能力。 二、实验内容 (1)根据网上搜索了解管理信息系统的应用动态(如淘宝平台,本校图书管理系统,教务管理系统),选定一个具体管理信息系统作为后续研发对象。 (2)进行***管理信息系统总体规划工作:以整个系统为分析对象,确定系统的总体目标、总要求、主要功能结构、性能要求、投资规模、资源分配、可行性等,对系统进行全面规划。本规划内容要求完成以下内容: (1)背景 (2)现行业务状况,存在的问题 (3)说明项目开发的目标(功能、服务范围和质量) (4)项目的可行性分析 (5)拟采用的信息系统的方法 (6)项目小组的角色分配 (7)项目开发过程时间进度、人员、资金安排 三、实验环境 硬/软件要求:微机:每人1台;软件:Windows XP,Office2003或以上(包括Access)四、实验报告 学生提交一份***管理信息系统系统规划书 规划书提交要点: 一、背景 二、现行业务状况,存在的问题 三、说明项目开发的目标和约束 四、项目的可行性分析 五、拟采用的信息系统的方法 六、项目小组的角色分配 七、项目开发过程时间进度、人员、资金安排

相关文档
最新文档