1、操作系统课程设计 操作系统课程设计任务书操作系统课程设计任务书 学 院 计算机与信息工程学院 专 业 网络工程 课程名称 操作系统 题 目 进程通信 完成期限 2013 年 6 月 3 日-2013 年 6 月 30 日共 4 周 内 容 及 任 务 一、项目的目的 实现一个简单的聊天程序 二、项目任务的主要内容和要求 (1)根据进程通信的方式和类型,以及进程通信的实现方法,实现 一个简单的聊天程序,聊天程序包括客户端与服务器两部分。 (2)按照要求撰写课程设计报告。 三、项目设计(研究)思路 分析课题要求、了解进程通信原理、设计通信界面、编写代码。 四、具体成果形式和要求 可以在一个计算机上
2、通信,也可以在两个计算机上通信。 进 度 安 排 起止日期 工作内容 2013.6.3-2013.6.5 分析课题要求,找出解决方案 2013.6.6-2013.6.25 根据方案了解通信原理,对课题进行设计 2013.6.25-2013.6.30 根据设计分析,进行代码编写和测试 主 要 参 考 资 料 1赵生慧. Java 面向对象程序设计(第二版)M.北京:中国水利 水电出版社,2010. 2(美)卡尔弗特,多纳霍,周恒民译. Java TCPIP Socket 编程(原 书第 2 版)M.北京:机械工业出版社,2011. 指导教师 意见 (签字) : 年 月 日 系(教研 室)主任 意
3、见 (签字) : 年 月 日 操作系统课程设计 第一部分:正文部分第一部分:正文部分 一、选题背景一、选题背景 为了提高计算机系统的效率。增强计算机系统内各种硬件的并行操作能力。 操作系统要求程序结构必须适应并发处理的需要,为此引入了进程的概念。进程 是操作系统的核心,所有基于多道程序设计的操作系统都建立在进程的概念之 上。 目前的计算机系统均提供了多任务并行环境。 无论是应用程序还是系统程序, 都需要针对每一个任务创建相应的进程。进程是设计和分析操作系统的有力工 具。然而不同的进程之间,即使是具有家族联系的父子进程,都具有各自不同的 进程映像。由于不同的进程运行在各自不同的内存空间中,一方对
4、于变量的修改 另一方是无法感知的。因此,进程之间的信息传递不可能通过变量或其它数据结 构直接进行,只能通过进程间通信来完成。要实现实现进程通信有多种方法,在 课程设计中,使用 Socket 通信方式进行通信,实现两台计算机之间的进程通信。 二、设计理念二、设计理念 课程设计要求根据进程通信的方式和类型,以及进程通信的实现方法,实现 一个简单的聊天程序,聊天程序包括客户端与服务器两部分。首先要满足在同一 个计算机上可以进行通信,在这个基础上可以实现一对一两台计算机之间的通 信。 2.12.1 整体设计需求分析整体设计需求分析 根据课题要求:根据进程通信的方式和类型,以及进程通信的实现方法,实 现
5、一个简单的聊天程序,聊天程序包括客户端与服务器两部分。 要选择合适的通信方式能够使客户端和器端断建立连接, 聊天就需要有聊天 界面,使用户可以通过界面进行通信。 2.22.2 服务器端需求分析服务器端需求分析 服务器端需要建立一个端口提供给客户端监听, 在建立端口后不断进行监听 是否有客户端连接或者断开连接, 若有客户端监听其端口, 便建立连接进行通信。 要使用 Java 设计编程实现聊天界面,当有客户端进行连接之后,显示是哪一台 计算机与服务器端进行连接通信。 2.32.3 客户端需求分析客户端需求分析 操作系统课程设计 1 客户端应该完成的工作包括: 与服务器端建立通信通道,向服务器端发送
6、信息。 接收来自服务器的信息。 2.42.4 聊天界面需求分析聊天界面需求分析 聊天界面首先显示是服务器端还是客户端,聊天界面中要有输入文本域,在 文本域中可以显示当前输入端聊天内容,在文本域下端有文本框,可以显示服务 器与客户只见到聊天记录。 三、过程论述三、过程论述 3.13.1 进程通信方式及进程通信方式及 SocketSocket 通信原理通信原理 进程通信的方进程通信的管道、消息、Socket 、共享内存、文件、信号等。 本次课程设计使用的 Socket 通信方式。 Socket 用于在两个基于 TCP/IP 协议的应用程序之间相互通信。最早出现在 UNIX 系统中,是 UNIX 系统主要的信息传递方式。在 Windows 系统中,Socket 称 为 winsock。其有两个基本概念:客户端和服务端。当两个应用之间需要采用 Socket 通信时,首先需要在两个应用之间(可能位于同一台机器,也可能位于 不同的机器)建立 Socket 连接,发起呼叫连接请求的一