南京邮电大学操作系统实验报告

南京邮电大学操作系统实验报告

ID:14943061

大小:389.12 KB

页数:19页

时间:2018-07-31

南京邮电大学操作系统实验报告_第1页
南京邮电大学操作系统实验报告_第2页
南京邮电大学操作系统实验报告_第3页
南京邮电大学操作系统实验报告_第4页
南京邮电大学操作系统实验报告_第5页
资源描述:

《南京邮电大学操作系统实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、通信与信息工程学院2015/2016学年第二学期实验报告课程名称:操作系统实验名称:1、LINUX及其使用环境2、进程管理3、进程间通信4、文件的操作和使用班级学号专业电子信息工程学生姓名指导教师赵建立实验名称试验一LINUX及其使用环境实验类型验证实验学时1实验时间2016.6.2一、实验目的和要求1、了解UNIX的命令及使用格式。2、熟悉UNIX/LINUX的常用基本命令。3、练习并掌握UNIX提供的vi编辑器来编译C程序。4、学会利用gcc、gdb编译、调试C程序。二、实验环境WindowsXP+VMWare+RedHatEnterpriseLinux(RH

2、EL)4三、实验原理及内容1、熟悉LINUX的常用基本命令。如ls、mkdir、grep等,学会使用man、help等其它命令,掌握vi编辑器的使用。(1)显示目录文件ls例:ls-al显示当前目录下的所有文件(2)建新目录mkdir例:mkdirtest新建一个test目录(3)删除目录  rmdir(4)改变工作目录位置cd例:cdtest更改工作目录至test目录下(5)显示当前所在目录pwd(6)查看目录大小du(7)文件属性的设置chmod(8)命令在线帮助man2、设计一个实现文件拷贝功能的shell程序。(1)在文本编辑器里输入shell程序:#!/

3、bin/shecho“pleaseentersourcefile:”readsoucechopleaseenterdestinationfile:”readdestcp$souc$destls$dest将程序保存在主目录下,命名为shell.(2)打开终端,输入ls-l,显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。输入./shell,运行shell程序。输入源文件hello.c,目标文件B13011206.c。(3)输入ls-l,当前目录中包含B13011206.c目标文件。即完成从源文件拷贝至目标文件过程。3、LINUX下C语言程序的编译与调试

4、实验。(1)调试编译代码为了使gdb正常工作,必须使程序在编译时包含调试信息。调试信息里包含程序里的每个变量的类型和在可执行文件里的地址映射以及源代码的行号。gdb利用这些信息使源代码和机器码相关联,在编译时用–g选项打开调试选项。(2)gdb基本命令命令描述file装入欲调试的可执行文件kill终止正在调试的程序list列出产生执行文件的源代码部分next执行一行源代码但不进入函数内部step执行一行源代码并进入函数内部run执行当前被调试的程序quit终止gdbwatch监视一个变量的值而不管它何时被改变break在代码里设置断点,使程序执行到这里时被挂起ma

5、ke不退出gdb就可以重新产生可执行文件shell不离开gdb就执行UNIXshell命令(3)打开终端,输入gcchello.c,编译c程序。(4)编译无错后,输入./a.out,运行程序hello.c,显示运行结果“hello”。三、实验小结之前没有接触过Linux操作系统,刚开始用有点不习惯。虽然用起来磕磕绊绊,通过本次实验反而受益匪浅。通过这个实验我了解了UNIX的命令及使用格式,熟悉了UNIX/LINUX的常用基本命令,同时也了解了在LINUX系统下运行C语言程序的方法,掌握了C语言程序的编译与调试方法。实验名称试验二进程管理实验类型验证实验学时1实验时

6、间2016.6.2一、实验目的和要求1、掌握进程的概念,明确进程的含义2、认识并了解并发执行的实质二、实验环境WindowsXP+VMWare+RedHatEnterpriseLinux(RHEL)4三、实验原理及内容1.实验内容使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有两个父进程和两个子进程活动。每一个进程在屏幕上显示为:父进程1显示“(1)parentpidsay:A”,父进程2显示“(2)parentpidsay:A”,子进程(1.1)显示(1.1)pid1say:B,子进程(2.1)显示“(2.1)pid2say:C”。2、实验原理

7、fork():创建一个新进程。系统调用格式:pid=fork()参数定义:intfork()fork()返回值意义如下:0:在子进程中,pid变量保存的fork()返回值为0,表示当前进程是子进程。>0:在父进程中,pid变量保存的fork()返回值为子进程的id值(进程唯一标识符)。-1:创建失败。如果fork()调用成功,它向父进程返回子进程的PID,并向子进程返回0,即fork()被调用了一次,但返回了两次。此时OS在内存中建立一个新进程,所建的新进程是调用fork()父进程的副本,称为子进程。子进程继承了父进程的许多特性,并具有与父进程完全相同的用户级上下

8、文。父进程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。