




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 昆明理工大学信息工程与自动化学院学生实验报告昆明理工大学信息工程与自动化学院学生实验报告 2016 2017 学年学年 第第 二二 学期学期 课程名称 课程名称 LinuxLinux 操作系统及程序设计操作系统及程序设计 开课实验室 呈贡校区信自楼开课实验室 呈贡校区信自楼 20172017 年年 6 6 月月 3 3 日日 年级 专业 年级 专业 班班 学号学号 姓名姓名成绩成绩 实验项目名称实验项目名称 Linux Linux 操作系统及程序设计操作系统及程序设计 指导教师指导教师 欧阳鑫欧阳鑫 教教 师师 评评 语语 该同学是否了解设计原理 该同学是否了解设计原理 A A 了解了解 B B 基本了解基本了解 C C 不了解不了解 该同学的上机能力 该同学的上机能力 A A 强强 B B 中等中等 C C 差差 该同学的上机是否达到要求该同学的上机是否达到要求 A A 达到达到 B B 基本达到基本达到 C C 未达到未达到 上机报告是否规范 上机报告是否规范 A A 规范规范 B B 基本规范基本规范 C C 不规范不规范 上机过程是否详细记录 上机过程是否详细记录 A A 详细详细 B B 一般一般 C C 没有没有 注 5 个 A 为优 4 个 A 为良 3 个 A 为及格 其余为不及格 教师签名 教师签名 年年 月月 日日 目目录录 上机一 Linux 及开发环境安装 页 上机二 Linux 的文件及目录操作 1 页 上机三 Linux 的文件及目录操作 2 页 上机四 Linux 进程及网络开发 1 页 上机五 Linux 进程及网络开发 2 页 第 2 页 上机一 上机一 Linux 及开发环境安装及开发环境安装 一 实验目的及要求 实验目的及要求 安装虚拟机 并在虚拟机上安装 ubuntu 系统 二 实验环境和相关软件及版本二 实验环境和相关软件及版本 Windows7 VMware workstation full 10 0 4 2249910 vm10keygen ubuntu 16 04 desktop amd64 3 3 实验内容及步骤实验内容及步骤 一 安装虚拟机 一 安装虚拟机 双击打开下载好的双击打开下载好的 VMwareVMware WorkstationWorkstation 应用程序应用程序 第 3 页 弹出安装向导弹出安装向导 第 4 页 勾选我接受许可协议中的条款勾选我接受许可协议中的条款 第 5 页 选择典型安装选择典型安装 选择安装路径选择安装路径 第 6 页 点下一步继续进行安装点下一步继续进行安装 第 7 页 第 8 页 在桌面创建快捷方式在桌面创建快捷方式 第 9 页 点下一步继续点下一步继续 第 10 页 弹出注册码页面弹出注册码页面 第 11 页 打开打开 VMwareVMware 注册机并点击注册机并点击 GenerateGenerate 获取注册码获取注册码 输入注册码输入注册码 第 12 页 安装完成并打开安装完成并打开 第 13 页 2 2 安装安装 ubuntuubuntu 打开打开 VMwareVMware WorkstationWorkstation 并点击创建新的虚拟机并点击创建新的虚拟机 第 14 页 安装光盘映像文件安装光盘映像文件 第 15 页 设置用户名和密码设置用户名和密码 第 16 页 命名虚拟机命名虚拟机 第 17 页 制定磁盘容量制定磁盘容量 第 18 页 准备创建虚拟机准备创建虚拟机 第 19 页 安装中安装中 安装成功并登录安装成功并登录 第 20 页 4 4 实验结果 分析和结论实验结果 分析和结论 本次实验我成功安装了虚拟机 对 Linux 有了第一次比较接近的认识 在课上学习是比不上自己实际动手操作的 在这个过程中我感觉自己对 Linux 产生了一些兴趣 受益良多 上机二 上机二 Linux 的文件及目录操作的文件及目录操作 1 一 实验目的及要求 实验目的及要求 掌握文件及目录操作的基本命令 并在虚拟机上启动命令行加以实现 第 21 页 二 实验环境和相关软件及版本二 实验环境和相关软件及版本 Windows 7 VMware ubuntu 3 3 实验内容及步骤实验内容及步骤 1 用 ls 命令显示当前目录下的文件 2 用 mkdir 创建一个目录文件 第 22 页 3 用 rmdir 删除一个目录文件 删除空目录 第 23 页 删除非空目录 4 用 ls l 命令显示当前目录下的文件的文件属性 5 用 mv 命令改变文件名 第 24 页 6 用 chmod 命令改变文件属性 改为可执行文件 7 用 cp 命令复制文件 8 用 gzip 命令压缩文件成 gz 文件 9 用 gzip dv 命令解压文件 第 25 页 四 实验结果 分析和结论四 实验结果 分析和结论 通过这次实验 我第一次在 Linux 系统下使用命令 基本掌握了文件和目 录的创建和删除 文件复制 文件编辑 文件重命名 显示和改变文件属性 压缩文件和解除压缩等基本命令 但是对于这些命令还不熟悉 需要多加使用 以此巩固 上机三 上机三 Linux 的文件及目录操作 2 一 实验目的及要求 实验目的及要求 利用系统调用和标准函数库对文件和目录进行操作 二 实验环境和相关软件及版本二 实验环境和相关软件及版本 Windows 7 VMware ubuntu 三 实验内容及步骤三 实验内容及步骤 编写 C 文件 第 26 页 调用 C 文件 编译并运行 C 文件 READ 系统调用 编写 READ C 文件 READ 系统调用 编译 READ C 文件 第 27 页 4 4 实验结果 分析和结论实验结果 分析和结论 通过此次实验 我对在 Linux 系统中使用 C 语言操作和系统调用等有了 一定的了解 同时也遇到了一些难题 对很多函数库的用法以及深层次的文件 目录操作都很欠缺 对难题也没有很好地解决 还需要多加练习动手 这方面 的技术和能力还有待加强 上机四 上机四 Linux 进程及网络开发 1 一 实验目的及要求 实验目的及要求 利用 Fork Thread 等系统调用进行网络开发 二 实验环境和相关软件及版本二 实验环境和相关软件及版本 Windows 7 VMware ubuntu 三 实验内容及步骤三 实验内容及步骤 程序 1 fork 进程控制 include main 第 28 页 int p1 p2 i if p1 fork for i 0 i 500 i printf child d n i else if p2 fork for i 0 i 500 i printf son d n i 编写编译运行的过程如下 第 29 页 程序 2 include include int main pid t fpid 第 30 页 printf fork printf fork n fpid fork if fpid 0 printf error in fork1 else if fpid 0 printf I am the child process my process id is d n getpid else printf I am the parent process my process id is d n getpid return 0 编写编译运行的过程如下 第 31 页 4 4 实验结果 分析和结论实验结果 分析和结论 通过此次实验我对在 Linux 中的进程调控有了一些认识 并且基本掌握 了进程调控的一些方法 只是学习还很浅 需要不断深入加强 上机五 上机五 Linux 进程及网络开发进程及网络开发 2 一 实验目的及要求 实验目的及要求 开发一个 Linux 命令行基于 C S 结构的 TCP IP 的即时聊天程序 2 2 实验环境和相关软件及版本实验环境和相关软件及版本 Windows 7 VMware ubuntu 三 实验内容及步骤三 实验内容及步骤 1 客户端设计流程 第 32 页 第 33 页 2 服务端设计流程 3 编写服务端收发消息程序 server c include include include 数据类型 定义 include include 定义数 据结构 sockaddr in include 提供 socket 函数及数据结构 include include 第 34 页 include include include include include define PERM S IRUSR S IWUSR define MYPORT 3490 宏定义定义 通信端口 define BACKLOG 10 宏定义 定义 服务程序可以连接的最大客户数量 define WELCOME Welcome to the chat room 宏定义 当客户端连接服务端时 想 客户发送此欢迎字符串 转换函数 将 int 类型转换成 char 类型 void itoa int i char string int power j j i for power 1 j 10 j 10 power 10 for power 0 power 10 string 0 i power i power string 0 得到当前系统时间 void get cur time char time str time t timep struct tm p curtime char time tmp time tmp char malloc 2 memset time tmp 0 2 memset time str 0 20 time p curtime localtime strcat time str itoa p curtime tm hour time tmp strcat time str time tmp strcat time str itoa p curtime tm min time tmp strcat time str time tmp strcat time str itoa p curtime tm sec time tmp strcat time str time tmp strcat time str free time tmp 创建共享存储区 key t shm create key t shmid shmid shmget IPC PRIVATE 1 024 PERM if shmid shmget IPC PRIVATE 1 024 PERM 1 fprintf stderr Create Share Memory Error s n a strerror errno exit 1 return shmid 端口绑定函数 创建套接字 并绑定 到指定端口 int bindPort unsigned short int p ort int sockfd struct sockaddr in my addr sockfd socket AF INET SOCK S TREAM 0 创建基于流套接字 my addr sin family AF INET IPv4 协议族 my addr sin port htons port 端口转换 第 35 页 my addr sin addr s addr INAD DR ANY bzero if bind sockfd struct sockadd r exit 1 printf bing success n return sockfd int main int argc char argv int sockfd clientfd sin size r ecvbytes 定义监听套接字 客户套接字 pid t pid ppid 定义父子线 程标记变量 char buf r addr w addr temp time str 0 定义临时存 储区 struct sockaddr in their addr 定义地址结构 key t shmid shmid shm create 创建共 享存储区 temp char malloc 255 time str char malloc 20 sockfd bindPort MYPORT 绑 定端口 while 1 if listen sockfd BACKLOG 1 在指定端口上监听 perror listen exit 1 printf listening n if clientfd accept sockfd struct sockaddr exit 1 printf accept from d n in et ntoa their addr sin addr send clientfd WELCOME strlen WELCOME 0 发送问候信息 buf char malloc 255 ppid fork 创建子进程 if ppid 0 printf ppid 0 n pid fork 创建子进 程 while 1 if pid 0 父进程用于接收信息 memset buf 0 255 printf recv n sleep 1 if recvbytes recv c lientfd buf 255 0 0 perror recv1 close clientfd raise SIGKILL exit 1 write buf s data to share memory w addr shmat shmid 0 0 memset w addr 0 1024 strncpy w addr buf 1 024 get cur time time str strcat buf time str printf s n buf 第 36 页 else if pid 0 子进程用于发送信息 scanf s buf sleep 1 r addr shmat shmid 0 0 printf s n r addr printf cmp d n st rcmp temp r addr if strcmp temp r addr 0 strcpy temp r addr get cur time time st r strcat r addr time s tr printf discriptor d n clientfd if send clientfd b uf strlen buf 0 1 if send clientfd r a ddr strlen r addr 0 1 perror send memset r addr 0 1024 strcpy r addr temp else perror fork printf n free buf close sockfd close clientfd return 0 第 37 页 第 38 页 4 编写客户端收发消息程序 client c include include 定义数据结构 sockaddr in include 提供 socket 函数及数据结构 include 数据类型定义 include include include include include include int main int argc char argv struct sockaddr in clientaddr 定义地址结构 pid t pid int clientfd sendbytes recvbytes 定义客户端套接字 struct hostent host char buf buf r if argc h addr bzero if connect clientfd struct sockaddr exit 1 buf char malloc 120 第 39 页 memset buf 0 120 buf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双减后小学作业管理制度
- 不合格食品处置管理制度
- 孵化器设施设备管理制度
- 公司车辆加油员管理制度
- 智慧园区员工管理制度
- 培训中心住宿楼管理制度
- 学校四级网格化管理制度
- 二级医院门急诊管理制度
- 景观改造工程管理制度
- jyp公司人员管理制度
- 敦煌学智慧树知到期末考试答案章节答案2024年西北师范大学
- YYT 0698.5-2009 最终灭菌医疗器械包装材料 第5部分:透气材料与塑料膜组成的可密封组合袋和卷材 要求和试验方法
- 广东省佛山市南海区2021-2022学年八年级下学期期末数学试题
- JT-T-1302.1-2019机动车驾驶员计时培训系统第1部分:计时终端技术要求
- 糖尿病家庭医生:签约讲座计划
- 报关部报关员岗位月度KPI绩效考核表
- 呼吸衰竭诊疗规范
- MOOC 化工热力学-盐城师范学院 中国大学慕课答案
- (高清版)DZT 0064.88-2021 地下水质分析方法第88部分:14C的测定合成苯-液体闪烁计数法
- 《农村小学生自主阅读能力培养的策略研究》课题结题报告
- 2024年汽车驾驶员(技师)理论考试题及答案
评论
0/150
提交评论