Linux课程设计论文
- 格式:doc
- 大小:1.37 MB
- 文档页数:27
专业方向课程设计任务书(嵌入式方向)题目: 基于linux嵌入式的聊天室系统设计初始条件:1. 软帝嵌入式ARM9开发教学设备;2. PC机及相关应用软件;要求完成的主要任务:1. 了解TCP方面socket编程。
2. 实现客户端与服务器端的聊天功能。
3. 撰写课程设计说明书。
4. 课程设计说明书要求:引言、设计要求、系统结构、原理设计、各个模块的设计与实现、软件设计、调试过程、体会及总结、参考文献、源程序。
说明书使用A4纸打印或手写。
指导教师签名:年月日摘要本系统建立在嵌入式系统网络平台上,系统的设计使用了面向对象技术和面向对象的设计原则。
系统采用C/S与B/S结合的结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。
使用嵌入式C++语言编写,开发工具采用linux下的Qt环境。
服务器设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。
大大增强了程序对服务器资源的利用。
在Linux下编写并调试服务器端程序和客户端程序,实现了客户、服务器之间的连接和通信。
关键字:Linux ;Qt;TCP/IP;多人聊天目录目录............................................................................................................................................. 3第一章总体方案设计 ................................................................................................................. 41.1 系统实现原理 ............................................................................................................ 41.2. 总体方案设计............................................................................................................. 41.2.1 服务器流程图.................................................................................................. 51.2.2 客户端流程图.................................................................................................. 6第二章软件功能实现 ................................................................................................................. 7............................................................................................................................................. 7网络套接字(socket).............................................................................................. 7C/S结构 ........................................................................................ 错误!未定义书签。
Linux操作系统毕业论文(1)Linux操作系统毕业论文随着互联网的普及和计算机技术的不断发展,操作系统作为计算机系统的核心组件,起着举足轻重的作用。
Linux作为一种开源的操作系统,其优越的性能和灵活的定制性已经得到了广泛的认可。
本文将探讨Linux操作系统的特点、应用和发展趋势。
一、 Linux操作系统的特点1.开源性:Linux操作系统的源代码完全公开,任何人都可以浏览、修改、复制和分发。
这种开放性不仅激发了广大开发者的热情,同时也为用户提供了更高的安全性保障。
2.多用户支持:Linux操作系统支持多用户模式,能够同时为多个用户提供服务。
每个用户拥有独立的用户帐号和家目录,保证了每个用户之间的数据私密性。
3.多任务支持:Linux操作系统具有非常出色的多任务支持,能够同时执行多个应用程序。
这种特点不仅提高了系统的效率,同时也为用户提供了更好的用户体验。
4.安全性:Linux操作系统拥有严格的访问控制模式,能够对系统资源和用户数据实现精密的管理和控制。
对于病毒和黑客攻击等威胁,Linux操作系统的安全性也较高。
二、 Linux操作系统的应用1.网络服务器:Linux操作系统被广泛用于搭建各种网络服务器,如Web服务器、邮件服务器、FTP服务器等。
这种应用领域不仅适用于企事业单位,而且适用于个人和小型团队。
2.桌面系统:Linux已经成为了一种成熟的桌面操作系统,如Ubuntu、Fedora、Debian等。
这些操作系统拥有丰富的应用程序和界面,可以满足大部分用户的各种需求。
3.嵌入式系统:Linux能够为嵌入式应用领域提供强大的支持,如路由器、IP电话、数字电视机顶盒等。
这些领域对于空间、功耗、安全性等多方面的要求较高,而Linux正是能够满足这些要求的操作系统。
三、 Linux操作系统的发展趋势1.云计算:随着云计算的普及,Linux作为云计算最为流行的操作系统之一,将会受到更广泛的应用。
远程管理Linux系统的设计与实现摘要将效仿Linux下的Terminal,也就是说,本文要完成的是一个伪终端的设计。
为了实现远程管理Linux系统,就需要有一种远程管理Linux的系统工具软件,Webmin就是一种比较好的B/S模式软件,而本课题以C/S模式实现,该工具仿照Linux下终端的工作方式,使用命令行对Linux系统进行管理,能够完成一定数量的管理功能。
该工具使用C/S模式设计,在客户端,使用GTK+编程编写用户界面,在服务器端,使用Linux下特殊函数完成对系统的管理操作,而服务器与客户机之间的通信则是通过socket网络编程实现的。
本文所设计的远程管理工具是在网络上由一台计算机(主控端/客户长久以来,Linux一直是应用比较广泛的操作系统之一,基于命令行的系统管理是管理Linux系统的一种重要手段。
本设计要完成的是一个基于Linux命令行的系统管理工具,它的外观和使用方法端)远距离的控制另一台计算机(被控端/服务器端),这里的远程不是字面意思的远距离,而是指通过网络控制远端计算机,大多数时候远程管理往往所指的是在局域网中的远程控制,当使用者坐在主控端计算机前面时,就如同坐在被控端计算机面前一样,可以关机、重启,可以查看并阅读某一路径下的文件等功能。
关键词系统管理;服务器;客户端The Design and Realization of RemoteManagement Linux SystemAbstractIn a pretty long time, Linux is always one of the most popular operating system. and people use command-line to perform management in this system.The aim of the design is a management tools based on the Linux command line system, it will follow the appearance and way of using the Linux Terminal. that is a pseudo Terminal design.We need a remote-system-managing tool in hand in order to manage the Linux system without standing in front of the Server. The Webmin has already been there as an example of the B/S model, but in this subject we will design a software according to the C/S model. This tool is modeled on the terminal-managing-tool of the Linux, and uses the command line on Linux system administration, to complete a certain number of management functions. The tool is designed in C/S model, so in the client side, we write the programming interface with GTK+, and in the server side, we use some special functions under the Linux system to complete management operations. Between server and client, socket network communication is through Programmatic.In this paper, the remote management tool is designed by a computer in the network (master server/client) remote control another computer (charged with client/server), the remote is not literally over a long distance, but to control the remote computer through the network, most of the time the remote management is often referred to in the local area network (LAN) remote control, when the user sitting in front of the main control computer, like sitting in front of accusedof client machines, you can shutdown, restart, can view and read a directory of files, and other functions.Keywords system management; server; client目录摘要 (I)Abstract (II)第1章绪论..................................................................................................... - 6 -1.1 课题背景.............................................................................................. - 6 -1.2 国内外发展现状.................................................................................. - 7 -第2章GTK编程............................................................................................. - 9 -2.1 GTK简介............................................................................................... - 9 -2.2 开发环境的搭建................................................................................ - 10 -2.3 常用的GTK构件................................................................................ - 12 -2.3.1 窗口构件..................................................................................... - 12 -2.3.2 组装盒控件和按钮控件............................................................. - 12 -2.3.3 编辑控件..................................................................................... - 13 -2.3.4 滚动条控件................................................................................. - 14 -第3章套接字编程....................................................................................... - 15 -3.1 套接字概述........................................................................................ - 15 -3.2 面向无连接的套接字通讯................................................................ - 15 -第4章多线程编程....................................................................................... - 17 -4.1 线程简介............................................................................................ - 17 -4.2 多线程优点........................................................................................ - 17 -第5章客户端程序设计............................................................................... - 20 -5.1 设计思路............................................................................................ - 20 -5.2 主界面各功能模块的实现................................................................ - 21 -5.3 客户端程序各功能函数介绍............................................................ - 27 -5.3.1 建立socket ................................................................................... - 27 -5.3.2 用于发送信息的函数................................................................. - 27 -5.3.3 用于接受信息的函数................................................................. - 27 -5.3.4 客户端图形界面初始化函数..................................................... - 27 -5.3.5 用于获得输入文本并发送的函数............................................. - 27 -5.3.6 用于显示接收信息的函数......................................................... - 28 -第6章服务器端程序设计........................................................................... - 29 -6.1 设计思路............................................................................................ - 29 -6.2 服务器程序各项功能实现................................................................ - 30 -6.2.1 通信实现..................................................................................... - 30 -6.2.2 字符操作..................................................................................... - 31 -6.2.3 文件读写..................................................................................... - 32 -6.2.4 数据传送..................................................................................... - 33 -结论............................................................................................................... - 35 -致谢............................................................................................................... - 36 -参考文献....................................................................................................... - 37 -附录A 客户端建立socket代码.................................................................... - 38 -附录B 向服务器发送信息函数代码 .......................................................... - 40 -附录C 客户端接收信息函数代码 .............................................................. - 41 -附录D 客户端图形界面初始化函数代码.................................................. - 42 -附录E 客户端获得输入文本并发送的函数代码 ...................................... - 46 -附录F 外文文献翻译................................................................................... - 48 -第1章绪论1.1课题背景Linux是目前应用最广泛前景最好的操作系统之一,它具有极其强大的网络功能和源代码开放的特点。
基于Linux的流媒体服务器的配置学生姓名:刘宇指导老师:周书仁摘要流媒体(Stream Media)指在Internet/Intranet中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。
Linux在网络应用中是先锋,作为流媒体平台的表现也不错。
本课程设计主要是完成在Linux操作系统下流媒体服务器的配置和应用,在课程设计中,系统的开发平台是Redhat Linux 11.0。
本文详细介绍了在Linux操作系统下实现流媒体服务器的配置过程。
关键字:流媒体;Linux ;服务器;配置Abstract Stream Media is time-base media that using streaming tech- nology in Internet / Intranet,such as audio, video or multimedia files. Linux is’not only a pioneer on network application but also as a good performance in streaming media. This course is designed for completing application and configuration of Stream Media in the Linux operating system.In this curriculum design, System development platform is Redhat Linux 11.0. This paper introduces the process of configuration of Stream Media server under the Linux operating system in detail.Key Words: Stream Media ;Linux; serve; configuration1引言1.1课程设计的目的随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。
学号课程论文题目:Linux嵌入式应用作者班级院部计算机学院专业计算机科学与技术指导教师职称完成时间2018年1月2日摘要进几年来,随着物联网的迅猛发展,嵌入式系统的应用在国也发展得如火如荼,尤其是Linux嵌入式系统。
Linux作为一套免费使用并自由传播的性能稳定的多用户的类Unix操作系统,正在向各个方面广泛扩展及改进应用,在目前嵌入式开发系统中,大约有一半以上使用的是Linux系统。
本文主要介绍嵌入式系统的应用现状,以及Linux系统在嵌入式开发中的优势、应用和前景。
关键词: 嵌入式;LinuxABSTRACTIn the past few years, with the rapid development of the Internet of things, the application of embedded system has also been developing at home, especially the Linux embedded system. The spread of Linux as a free of charge and free of stable performance of multi-user unix-like operating system, is widely extended in all directions and improve application, in the embedded development system, there are about more than half are using the Linux system. This paper mainly introduces the application status of embedded system and the advantages, application and prospect of Linux system in embedded development.Key words: Embedded; Linux1概述现如今,我们即将进入智能时代,智能设备越来越多,嵌入式的应用也越来越广泛,同时人们对于智能设备的要求越来越高,智能设备需要实现的功能也越来越复杂,嵌入式Linux系统将得到广泛应用。
实验报告课程名称Linux系统与编程实验项目Linux系统与编程小论文实验仪器系别___ 计算机学院______专业班级/学号学生姓名_____ ___ 实验日期成绩__ __________ _指导教师_ __ ________Linux系统编程小论文(1)——VFS简述如何在VFS中管理文件。
并说明相关shell命令及系统调用接口。
虚拟文件系统VFS作为内核子系统,为用户空间程序提供了文件系统相关的接口。
系统中所有文件系统不但依赖VFS共存,而且也依靠VFS系统协同工作。
通过虚拟文件系统,程序可以利用标准的UNIX文件系统调用对不同介质上的不同文件系统进行读写操作。
它负责完成所有安装文件系统的管理和控制,包括文件系统的安装,卸载等等。
它是一种软件机制,也许称它为Linux 的文件系统管理者更确切点,与它相关的数据结构只存在于物理内存当中。
所以在每次系统初始化期间,Linux 都首先要在内存当中构造一棵VFS 的目录树,实际上便是在内存中建立相应的数据结构。
VFS 目录树在Linux 的文件系统模块中是个很重要的概念。
VFS使得用户可以直接使用open()、read()和write()这样的系统调用而无需考虑具体文件系统和实际物理介质。
也许我们现在听起来这并没什么新奇的。
大部分人早就认为这是理所当然的。
但是,使得这些同通用的系统调用可以跨所有介质和文件系统执行,绝非是微不足道的成绩。
更为了不起的是,系统调用可以在这些不同的文件系统和介质之间执行——我们可以用标准的系统调用从一个文件系统拷贝或移动数据到另一个文件系统。
正是由于包括Linux在内的现代操作系统引入了抽象层,通过虚拟接口访问文件系统,才使得这种协作性和通用性成为可能。
VFS即虚拟文件系统是Linux文件系统中的一个抽象软件层;因为它的支持,众多不同的实际文件系统才能在Linux中共存,跨文件系统操作才能实现。
VFS借助它四个主要的数据结构即超级块、索引节点、目录项和文件对象以及一些辅助的数据结构,向Linux中不管是普通的文件还是目录、设备、套接字等都提供同样的操作界面,如打开、读写、关闭等。
Linux操作系统1. 引言Linux操作系统是一种开源的、免费的操作系统,具有稳定性、高性能和安全性等优点,因此在计算机领域得到广泛应用。
本文将着重介绍Linux操作系统的历史、特点、架构以及在实际应用中的优势。
2. 历史2.1 Unix操作系统的起源Linux操作系统起源于Unix操作系统,Unix操作系统由Ken Thompson和Dennis Ritchie在20世纪70年代初开发。
Unix操作系统成为了多用户、多任务操作系统的鼻祖,为后来的操作系统提供了参考和灵感。
2.2 Linux的开发与诞生Linux操作系统的开发始于1991年,当时Linus Torvalds在芬兰赫尔辛基大学上学时开始对自己的个人计算机编写一个操作系统内核。
他将自己的操作系统命名为Linux,并在全球范围内开放源代码,吸引了大量开发者对其进行改进和贡献。
2.3 Linux的发展与应用随着Linux的不断发展,越来越多的人开始使用和推崇Linux操作系统。
Linux操作系统广泛应用于服务器、嵌入式系统、超级计算机等领域,在互联网时代的推动下,Linux形成了一个强大的生态系统。
3. 特点Linux操作系统具有以下主要特点:3.1 开源和免费Linux操作系统是开源的,用户可以自由获取、使用和修改其源代码。
这使得用户能够根据自己的需求对系统进行定制和优化,同时也使得Linux操作系统成为了一种免费的选择。
3.2 稳定性与可靠性由于开源特性和全球开发者的共同努力,Linux操作系统具有出色的稳定性和可靠性。
相比其他操作系统,Linux在长时间运行和高负载情况下表现更好,稳定性得到了业界的广泛认可。
3.3 高度可定制化Linux操作系统提供了丰富的命令行工具和配置选项,使得用户可以根据自己的需要对系统进行高度定制。
这种可定制性使得Linux操作系统适用于各种不同的场景和应用。
3.4 安全性由于开放源代码和许多安全性功能的内置,Linux操作系统被认为是相对较安全的操作系统之一。
文件系统的概述:由于每个操作系统对于文件的描述方式不一致,通常描述一个文件的信息(权限、拥有者、时间等)有一个专有的名词叫做“元数据”,为了能够让操作系统管理存储在磁盘上的文件,需要对磁盘做一个格式化的操作,格式化操作会为某个磁盘/分区来部署一个文件系统,然后操作系统就可以通过文件系统来管理存储在磁盘上的文件了。
LinuxRPM、YUM的概念和操作及进程管理的概念及管理命令RPM即Red-Hat Package Manager●由Red Hat公司提出,被众多Linux发行版所采用●建立统一的数据库文件●详细记录软件包安装、卸载等变化信息●自动分析软件包依赖关系Yum(全称为 Yellow dog Updater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
基于RP M包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
rpm的简单查询指令·查询已安装的rpm列表:rpm -qa|grep xxrpm包名基本格式查询返回的结果为一个rpm包名:firefox-78.6.0-1.el7.centos.x86_64名称:firefox版本号:78.6.0-1适用操作系统:el7.centos.x86_64表示centos 7.x的64位操作系统如果是i686、i386表示32位操作系统,noarch表示通用基本指令·查询yum服务器是否有需要安装的软件o yum list|grep xx 软件列表·安装指定的yum包o yum install xxx 下载安装进程的基本介绍1)在 Linux 中,每个执行的程序(代码)都称为一个进程。
每一个进程都分配一个ID 号。
(2)每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。
例如www 服务器。
目录前言 2正文 31 课程设计的目的和意义 32 目标与总体方案 42.1课程设计的目标 42.2课程设计的总体方案 43 课程设计方法和内容 43.1 软硬件环境说明 43.2 常用网络操作命令 53.3 网络配置文件与配置方法 83.4 telnet 建立多帐户测试 93.5 配置NFS服务器,实现文件系统的远程挂载 113.6 配置samba服务器 144 Sell编程 185 gcc简单使用 226 ftp服务器配置 25致谢 27参考文献 28前言Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基于Intel x86系列 CPU的计算机上。
这个系统是由世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix兼容产品。
Linux的出现,最早开始于一位名叫 Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。
他的目的是想设计一个代替Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,UNIX特点:(1)模块化程度高Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特的模块机制可根据用户的需要,实时地将某些模块插入或从内核中移走,使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要.(2)源码公开由于Linux系统的开发从一开始就与GNU项目紧密地结合起来,所以它的大多数组成部分都直接来自GNU项目。
任何人、任何组织只要遵守GPL条款,就可以自由使用Linux 源代码。
(3)广泛的硬件支持Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多种体系结构的微处理器。
(4)安全性及可靠性好内核高效稳定Linux内核的高效和稳定已在各个领域内得到了大量事实的验证。
Linux下的简单网络管理控制系统的设计与开发摘要随着网络的逐步普及,网络的管理和控制的重要性已经越来越突出,它关系着网络的进一步发展和普及,甚至关系着网络的生存。
为了促进网络的发展,在现有的技术条件下,可以开发出成熟的网络控制系统对网络进行管理和控制。
可以通过对网络的管理和控制为本地网络和外部网络之间建立一道屏障,从而控制和管理进出网络的数据。
网络管理控制系统的核心是制定一套完整的网络控制指令集和设计控制管理的功能模块。
本系统在Linux-2.4.20-8内核下完成网络管理控制系统的设计,使用控制管理命令实现对网络数据的管理。
控制和管理模块的设计使用了netfilter数据控制过滤机制来实现对网络的管理。
模块可以实现对固定端口,网页访问以及不同数据协议类型的数据进行管理和控制。
从实际应用中可以得出结论在Linux-2.4.20-8的内核下可以成功的使用netfilter网络数据控制机制过滤和管理进出系统的网络数据。
本文首先介绍网络管理控制系统的一些基本概念以及一些在Linux下的C语言编译环境,其次介绍Linux netfilter控制模块在内核中的实现,在此着重介绍了netfilter在IPv4中的结构以及在Linux 2.4.x 内核中实现,最后介绍了网络数据管理的策略、模块编程以及如何设计网络管理控制的功能模块。
在了解这些技术的基础之上,成功的在Linux-2.4.20-8内核下开发出一套简单的网络管理控制模块。
这些模块通过程序发出的控制指令进行动态的插入和卸载。
这些模块分别实现了对ICMP网络数据,HTTP站点,FTP服务器的管理控制。
关键词:内核模块;数据包;netfilterDesign and Development of Simple Internet Management and Controlling System under LinuxAbstractWith the permeation of Internet,the importance of Internet management and controlling becomes more prominent, It is related to the further development and permeation even the existence of Internet. To promote the development of Internet, it is possible to develop a mature Internet controlling system which can be managed and controlled under the current technical conditions. It can build a natural defense between internal and external network through managing and controlling the data of Internet. It is the core of this system that builds an overall Internet controlling agreement and realizes the model function of controlling and management. This system realizes the management and controlling of Internet data successfully by doing its design whose modules mainly based on the data controlling and filtering mechanism of Netfilter, under Linux. The modules have success in realizing the data managements. From practice, it concludes that data controlling mechanism of Netfilter can succeed in managing and filtering the whole data under Linux. This thesis introduces some basic concepts of MCS and edition environment of C language under Linux, firstly. Then it introduced realization of controlling module of Linux, Netfilter in Kernel, which highlight the structure of Netfilter in IPv4 and realization of Linux. Lastly it mentioned the strategy of MCS modules edition and how to design the function modules of MCS. So one simple modules of MCS of which doing dynamic insertion and suddenly unloading through controlling agreement sent by programs is designed successfully under Linux, following these skills. These modules also realize the management and controlling of ICMP data, HTTP websites and FTP Servers, respectively.Key words:Kernel Module;Packet;Netfilter目录论文总页数:29页1 引言 (1)1.1课题背景 (1)1.2国内外研究现状 (1)1.3课题意义 (1)1.4本课题研究方法 (1)2 Linux开发环境介绍 (2)2.1Linux简介 (2)2.2Linux下的C语言开发环境 (2)2.3常用的网络数据控制工具介绍 (3)3 Linux网络管理控制核心技术 (5)3.1SOCKET网络编程 (5)3.1.1 Linux网络编程 (5)3.1.2基本套接字函数 (5)3.2基于TCP协议的通讯 (7)3.2.1 TCP传输协议简介 (7)3.2.2控制字符的制定 (7)4 NETFILTER-网络控制模块设计基础 (8)4.1netfilter介绍 (8)4.2netfilter中的重要返回值 (8)4.3netfilter在IPv4中的框架 (9)4.4netfilter核心模块 (10)4.5netfilter可以实现的基本控制功能 (11)5 测试Linux网络管理系统的设计实现 (13)5.1系统设计整体框架 (13)5.2用SOCKET实现控制端和管理端的通讯 (14)5.2.1管理端的设计与实现 (15)5.2.2控制端的设计与实现 (16)5.3用netfilter设计控制功能模块 (18)5.3.1设计控制ICMP数据报的模块 (18)5.3.2用netflter设计管理控制FTP服务器的模块 (20)5.3.3设计控制HTTP网站访问的模块 (22)5.4用GCC编译生成模块..........................................................................错误!未定义书签。
目录前言 (2)正文 (3)1 课程设计的目的和意义 (3)2 目标与总体方案 (4)2.1课程设计的目标 (4)2.2课程设计的总体方案 (4)3 课程设计方法和内容 (4)3.1软硬件环境说明 (4)3.2常用网络操作命令 (5)3.3网络配置文件与配置方法 (8)3.4 TELNET 建立多帐户测试 (9)3.5配置NFS服务器,实现文件系统的远程挂载 (10)3.6配置SAMBA服务器 (13)4 SELL编程 (17)5 GCC简单使用 (21)6 FTP服务器配置 (24)致谢 (26)参考文献 (27)前言Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基于 Intel x86系列 CPU的计算机上。
这个系统是由世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix兼容产品。
Linux 的出现,最早开始于一位名叫 Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。
他的目的是想设计一个代替 Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,UNIX特点:(1)模块化程度高Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特的模块机制可根据用户的需要,实时地将某些模块插入或从内核中移走,使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要.(2)源码公开由于Linux系统的开发从一开始就与GNU项目紧密地结合起来,所以它的大多数组成部分都直接来自GNU项目。
任何人、任何组织只要遵守GPL条款,就可以自由使用Linux 源代码。
(3)广泛的硬件支持Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多种体系结构的微处理器。
(4)安全性及可靠性好内核高效稳定Linux内核的高效和稳定已在各个领域内得到了大量事实的验证。
Linux中大量网络管理、网络服务等方面的功能,可使用户很方便地建立高效稳定的防火墙、路由器、工作站、服务器等。
为提高安全性,它还提供了大量的网络管理软件、网络分析软件和网络安全软件等。
(5)具有优秀的开发工具开发嵌入式系统的关键是需要有一套完善的开发和调试工具。
传统的嵌入式开发调试工具是在线仿真器(In Circuit Emulator,ICE),它通过取代目标板的微处理器,给目标程序提供一个完整的仿真环境,从而使开发者能非常清楚地了解到程序在目标板上的工作状态,便于监视和调试程序。
在线仿真器的价格非常高,而且只适合做非常底层的调试。
如果使用的是嵌人式Linux,一旦软硬件能支持正常的串口功能,即使不用在线仿真器,也可以很好地进行开发和调试工作,从而节省了一笔不小的开发费用。
嵌入式Linux为开发者提供了一套完整的工具链(Tool Chain),能够很方便地实现从操作系统到应用软件各个级别的调试。
由于UNIX系统对各种数据库,特别是关系型数据库管理系统提供了强大的支持能力,因此主要的数据库厂家,包括Oracle,Informix,Sybase,Progress等都将UNIX作为优选的运行平台,而且创造出极高的性能价格比。
正文Linux操作系统是多用户、多任务的操作系统,具有强大的可移植性、良好地编程环境和强大的网络工程。
Linux操作系统是一个免费的操作系统,由于Linux是由Linus开发的,故以Linux’s UNIX命名,简称Linux。
Linux内核是Linux的主体,内核负责控制硬件设备、文件系统和程序任务调度等工作,但不包括用户程序。
因为Linux内核是免费的,用户与厂商可自行配置应用程序。
Linux作为一个现代的操作系统,正在各个方面得到广泛的应用。
Linux在服务器、嵌入式等方面已经取得不俗的成绩,在桌面系统方面,也逐渐受到欢迎。
于是Linux的安全问题也逐渐受到人们的重视。
现在Linux已经在全球广泛普及开来,虽然在个人桌面版方面还逊色于Microsoft Windows系统,但在服务器领域以其良好的安全性和稳定性得到越来越多用户的认可,并被广泛使用由于Linux操作系统可在多种操作系统上运行,支持多平台,所以得到了广泛应用。
1 课程设计的目的和意义(1)Linux操作系统具有较好的可移植性、良好地编程环境和强大的网络工。
程,作为计算机专业的学生,Linux是一门非常重要的必修课,(2)通过这课程设计能够全面了解Linux的基本命令和基本操作,而且通过上机操作提高自己的编程能力、程序调试能力和应用能力。
(3)本次Linux课程设计的目的就在于通过一次实践性的活动加深对这门课程的理解,使我们在感性的认识上进一步升华为理性的认识。
为后继课程的学习打下坚实的基础。
(4)通过这次课程设计能够检测自己在这门课程上学习的好坏,这是这次课程设计的意义所在。
2 目标与总体方案2.1课程设计的目标(1)熟悉基本的网络命令以及他们的使用方法,例如ping、ifconfig、netstat 等网络命令。
(2)熟悉网络配置文件的配置方法。
(3)体会Linux多用户的特点,利用telnet进行。
每个人建立个自己的帐户进行测试。
(4)配置NFS服务器,实现文件系统的远程挂载。
(5)配置samba服务器,实现不同系统之间的文件共享。
(6)简单shell编程。
(7)gcc的简单使用。
2.2课程设计的总体方案(1)查阅相关资料,结合课本知识,对实习所涉及的知识有所了解(2)上机操作,通过实践,增强自己的动手能力,提高自己的编程、调试能力,更深层的理解和掌握Linux知识(3)写课程设计相关文档,总结在课程设计中自己的不足和自己所收获的知识,使自己对Linux 的理解更加清晰和有条理。
3 课程设计方法和内容3.1 软硬件环境说明微型计算机:HP笔记本电脑- Ubuntu 10.10 操作系统中央处理器:intel Core双核主存容量: 2G硬盘容量: 518G3.2 常用网络操作命令(1)ping命令执行ping命令,他会使用ICMP传输协议发出要求的回应信息,若远程主机的网络没什么问题,就会回应信息,因而得知该主机运行正常。
标准用法:ping (选项)主机名称或IP地址-c次数设置完成要求回应的次数-d 使用Socket的SO-DEBG功能-f 大量且快速的送网络封包给一台机器。
-i 指定发送信息的时间间隔-r 忽略网关,直接将数据包发送的远程主机上。
-q 不显示命令的执行过程只显示结果-v 详细显示命令的执行过程包括非回应信息的其他信息-s bytes 设置数据包的大小ping 命令执行后如图2-3-a所示:图3-2-a ping命令(2)netstata命令netstat命令的主要功能是给出Linux系统的网络情况用法:netstata (选项)netstat 命令各选项的含义如下-a 全部列出,包括正在等待的程序-c 持续列出网络状态-i 显示网络界面信息-n 使用网络IP地址代替名称,显示网络的连接情况-o 显示计时器-r 显示网络路径表-t 显示TCP协议的连接情-u 显示UDP协议连接情况-V 显示版本信息netstat命令执行后如图3-2-b所示:图3-2-b netstat命令(3)ifconfig命令ifconfig命令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可以使用它们。
除了上面介绍的这些用法之外,ifconfig命令用来监控和改变网络接口的状态,并且还可以带上很多命令行参数。
下面是一个ifconfig的通用调用执行ifconfig命令可以查看本地主机的网络配置信息,也可以用于配置网络硬件接口、IP地址、网络掩码、网关地址和广播地址等。
命令格式:ifconfig[interface]ifconfig interface [aftype] options | address …ifconfig命令执行后如图2-3-2-d所示:图3-2-c ifconfig命令3.3 网络配置文件与配置方法(1)/etc/hosts文件/etc/hosts也称为主机表,他的作用是为用户提供简单、直接的主机名到IP地址之间的转换。
用户在访问网络上某台主机时可以直接使用IP地址也可以使用主机名称,但使用主机名称时必须将它翻译成计算机能识别的IP地址,利用/etc/hosts文件可以实现1种比较简单的名字解析方法:用户也可使用域名服务器来完成主机名称到IP地址的转换。
(2)/etc/sysconfig/network-scripts/网络接口配置文件和启动脚本位于/etc/sysconfig/network-scripts/目录下。
网络接口配置文件的格式为ifcfg-ethN, N;表示第几块网卡,N是从0开始的数字。
例如第一块网卡是ifcfg-eth0,第二块网卡是ifcfg-eth1以此类推。
配置结果如图3-2-d所示:图 3-2-d 配置结果3.4 telnet 建立多帐户测试Linux开启telnet服务,linux提供服务是由运行在后台的守护程序来执行。
守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。
在C/S模式中,如果客户提请了1个连接,守护进程就创建(fork)子进程来响应这个链接,而父进程继续监听其他服务的请求。
步骤如图3-4-a、3-4-b、3-4-c所示3-4-a telnet 服务器的启动3-4-b 开启xinetd3-4-c 建立用户组3-4-d telnet建立多帐户测试3.5 配置NFS服务器,实现文件系统的远程挂载(1) 建立需要挂载文件夹,输入redhat-config-nfs命令启动redhat-config-nfsRPM 软件包,如图3-5-a3-5-a 启动redhat_config-nfsRPM软件包(2)添加NFS共享过程,如图3-5-b、3-5-c、3-5-d图3-5-b图3-5-c图3-5-d(3)启动nfs服务,如图3-5-e图3-5-e 启动nfs服务(4)输入命令 vi /etc/exports 控制NFS服务器要导出的目录,如图3-5-f图3-5-f 查看导出目录(5)使用mount 命令来挂载机器上的NFS文件系统,如图3-5-g图3-5-g 挂载NFS文件系统(6)验证挂载是否成功如图 3-5-h、3-5-i1、在被挂在的文件夹下建立2.txt文件图 3-5-h2、在挂载的目录下可以看到文件 2.txt图 3-5-i3、卸载挂载的NFS文件系统,如图3-5-j图3-5-j 卸载NFS文件系统3.6 配置samba服务器(1)输入redhat-config-samba命令启动redhat-config-samba PRM软件包,如图3-5-a图3-5-a 启动redhat-config-samba PRM软件包(2)启动sam服务,如图3-5-b图3-5-b 启动sam服务器(3)配置服务器设置,如图3-5-c、3-5-d图3-5-c图 3-5-d(4) 添加共享,如图3-5-e、3-5-f图3-5-e图3-5-f (5)管理Samba用户,如图3-5-g、3-5-h图3-5-g图3-5-h(6)在windows xp系统中查看samb共享文件夹,如图3-5-i图3-5-i 查看共享文件夹(7)将windows文件共享给Liunx系统,如图3-5-j、3-5-k、3-5-l、3-5-m、3-5-n、3-5-p图3-5-j图3-5-l图3-5-m图3-5-n图3-5-p4 shell编程1、写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:如果是目录,则列出该目录中的文件;如果是可执行的文件,则用shell执行之;如果是可读的文件,则分屏显示其内容。