新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

 

暨南大学本科实验报告专用?/p>

 

一、实验目?/p>

 

通过进程的创建?/p>

撤销和运行加深对进程概念和进程并发执行的理解?/p>

明确进程

与程序之间的区别?/p>

 

二、实验环境及设备

 

(一)实验室名称:计算机实验?/p>

 

(二)主要仪器设备:

PC

机?/p>

Linux

操作系统环境

 

三、实验内?/p>

 

?/p>

1

)编写一段程序,使用系统调用

fork()

来创建两个子进程,并由父进程重复

显示字符某字符串和自己的标识数,

而子进程则重复显示某字符串和自己的标?/p>

数?/p>

 

?/p>

2

)编写一段程序,使用系统调用

fork()

来创建一个子进程。子进程通过系统调用

exec()

更换自己的执行代码,显示新的代码后,调用

exit()

结束。而父进程则调?/p>

waitpid()

等待子进程结束,

并在子进程结束后显示子进程的标识符,然后正常结束?/p>

 

四、实验调试分?/p>

 

1

、实验函数说?/p>

 

?/p>

1

?/p>

fork

()创建新进?/p>

 

要创建一个进程,

最基本的系统调用是

fork

?/p>

系统调用

fork

用于派生一个进程,

 

头文件:

#include <unistd.h> 

 

 

 

函数定义

?/p>

int fork( void ); 

 

 

 

返回值:

子进程中返回

0

,父进程中返回子进程

ID

,出错返?/p>

-1 

 

 

 

函数说明?/p>

一个现有进程可以调?/p>

fork

函数创建一个新进程。由

fork

创建的新

进程被称为子进程?/p>

child process

?/p>

?/p>

fork

函数被调用一次但返回两次。两次返?/p>

的唯一区别是子进程中返?/p>

0

值而父进程中返回子进程

ID

。子进程是父进程?/p>

副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的?/p>

上述存储空间?/p>

?/p>

副本

?/p>

?/p>

这意味着父子进程间不共享这些存储空间?/p>

它们之间?/p>

享的存储空间只有代码段?/p>

 

?/p>

2

?/p>

exec

函数?/p>

 

头文件:

#include <unistd.h> 

函数族:

 

int execl(const char *path, const char *arg, ...); 

int execlp(const char *file, const char *arg, ...); 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

 

暨南大学本科实验报告专用?/p>

 

一、实验目?/p>

 

通过进程的创建?/p>

撤销和运行加深对进程概念和进程并发执行的理解?/p>

明确进程

与程序之间的区别?/p>

 

二、实验环境及设备

 

(一)实验室名称:计算机实验?/p>

 

(二)主要仪器设备:

PC

机?/p>

Linux

操作系统环境

 

三、实验内?/p>

 

?/p>

1

)编写一段程序,使用系统调用

fork()

来创建两个子进程,并由父进程重复

显示字符某字符串和自己的标识数,

而子进程则重复显示某字符串和自己的标?/p>

数?/p>

 

?/p>

2

)编写一段程序,使用系统调用

fork()

来创建一个子进程。子进程通过系统调用

exec()

更换自己的执行代码,显示新的代码后,调用

exit()

结束。而父进程则调?/p>

waitpid()

等待子进程结束,

并在子进程结束后显示子进程的标识符,然后正常结束?/p>

 

四、实验调试分?/p>

 

1

、实验函数说?/p>

 

?/p>

1

?/p>

fork

()创建新进?/p>

 

要创建一个进程,

最基本的系统调用是

fork

?/p>

系统调用

fork

用于派生一个进程,

 

头文件:

#include <unistd.h> 

 

 

 

函数定义

?/p>

int fork( void ); 

 

 

 

返回值:

子进程中返回

0

,父进程中返回子进程

ID

,出错返?/p>

-1 

 

 

 

函数说明?/p>

一个现有进程可以调?/p>

fork

函数创建一个新进程。由

fork

创建的新

进程被称为子进程?/p>

child process

?/p>

?/p>

fork

函数被调用一次但返回两次。两次返?/p>

的唯一区别是子进程中返?/p>

0

值而父进程中返回子进程

ID

。子进程是父进程?/p>

副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的?/p>

上述存储空间?/p>

?/p>

副本

?/p>

?/p>

这意味着父子进程间不共享这些存储空间?/p>

它们之间?/p>

享的存储空间只有代码段?/p>

 

?/p>

2

?/p>

exec

函数?/p>

 

头文件:

#include <unistd.h> 

函数族:

 

int execl(const char *path, const char *arg, ...); 

int execlp(const char *file, const char *arg, ...); 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

 

暨南大学本科实验报告专用?/p>

 

一、实验目?/p>

 

通过进程的创建?/p>

撤销和运行加深对进程概念和进程并发执行的理解?/p>

明确进程

与程序之间的区别?/p>

 

二、实验环境及设备

 

(一)实验室名称:计算机实验?/p>

 

(二)主要仪器设备:

PC

机?/p>

Linux

操作系统环境

 

三、实验内?/p>

 

?/p>

1

)编写一段程序,使用系统调用

fork()

来创建两个子进程,并由父进程重复

显示字符某字符串和自己的标识数,

而子进程则重复显示某字符串和自己的标?/p>

数?/p>

 

?/p>

2

)编写一段程序,使用系统调用

fork()

来创建一个子进程。子进程通过系统调用

exec()

更换自己的执行代码,显示新的代码后,调用

exit()

结束。而父进程则调?/p>

waitpid()

等待子进程结束,

并在子进程结束后显示子进程的标识符,然后正常结束?/p>

 

四、实验调试分?/p>

 

1

、实验函数说?/p>

 

?/p>

1

?/p>

fork

()创建新进?/p>

 

要创建一个进程,

最基本的系统调用是

fork

?/p>

系统调用

fork

用于派生一个进程,

 

头文件:

#include <unistd.h> 

 

 

 

函数定义

?/p>

int fork( void ); 

 

 

 

返回值:

子进程中返回

0

,父进程中返回子进程

ID

,出错返?/p>

-1 

 

 

 

函数说明?/p>

一个现有进程可以调?/p>

fork

函数创建一个新进程。由

fork

创建的新

进程被称为子进程?/p>

child process

?/p>

?/p>

fork

函数被调用一次但返回两次。两次返?/p>

的唯一区别是子进程中返?/p>

0

值而父进程中返回子进程

ID

。子进程是父进程?/p>

副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的?/p>

上述存储空间?/p>

?/p>

副本

?/p>

?/p>

这意味着父子进程间不共享这些存储空间?/p>

它们之间?/p>

享的存储空间只有代码段?/p>

 

?/p>

2

?/p>

exec

函数?/p>

 

头文件:

#include <unistd.h> 

函数族:

 

int execl(const char *path, const char *arg, ...); 

int execlp(const char *file, const char *arg, ...); 

Ͼλ">
Ͼλ
Ŀ

操作系统实验?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

 

暨南大学本科实验报告专用?/p>

 

一、实验目?/p>

 

通过进程的创建?/p>

撤销和运行加深对进程概念和进程并发执行的理解?/p>

明确进程

与程序之间的区别?/p>

 

二、实验环境及设备

 

(一)实验室名称:计算机实验?/p>

 

(二)主要仪器设备:

PC

机?/p>

Linux

操作系统环境

 

三、实验内?/p>

 

?/p>

1

)编写一段程序,使用系统调用

fork()

来创建两个子进程,并由父进程重复

显示字符某字符串和自己的标识数,

而子进程则重复显示某字符串和自己的标?/p>

数?/p>

 

?/p>

2

)编写一段程序,使用系统调用

fork()

来创建一个子进程。子进程通过系统调用

exec()

更换自己的执行代码,显示新的代码后,调用

exit()

结束。而父进程则调?/p>

waitpid()

等待子进程结束,

并在子进程结束后显示子进程的标识符,然后正常结束?/p>

 

四、实验调试分?/p>

 

1

、实验函数说?/p>

 

?/p>

1

?/p>

fork

()创建新进?/p>

 

要创建一个进程,

最基本的系统调用是

fork

?/p>

系统调用

fork

用于派生一个进程,

 

头文件:

#include <unistd.h> 

 

 

 

函数定义

?/p>

int fork( void ); 

 

 

 

返回值:

子进程中返回

0

,父进程中返回子进程

ID

,出错返?/p>

-1 

 

 

 

函数说明?/p>

一个现有进程可以调?/p>

fork

函数创建一个新进程。由

fork

创建的新

进程被称为子进程?/p>

child process

?/p>

?/p>

fork

函数被调用一次但返回两次。两次返?/p>

的唯一区别是子进程中返?/p>

0

值而父进程中返回子进程

ID

。子进程是父进程?/p>

副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的?/p>

上述存储空间?/p>

?/p>

副本

?/p>

?/p>

这意味着父子进程间不共享这些存储空间?/p>

它们之间?/p>

享的存储空间只有代码段?/p>

 

?/p>

2

?/p>

exec

函数?/p>

 

头文件:

#include <unistd.h> 

函数族:

 

int execl(const char *path, const char *arg, ...); 

int execlp(const char *file, const char *arg, ...); 



ļ׺.doc޸Ϊ.docĶ

  • -ʮʽִ Ʒ
  • VoLTEϸ
  • ٽϾ
  • 21λʯĽ̰
  • ѧУʷ
  • ѧ´ҵ𰸡ǻ
  • 2017˽̰PEP꼶Ӣϲиϰ
  • ҽƼٴӦ
  • ѧ⼰
  • ѧӢ鷶

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)