《Linux操作系统》期末大作业任务书2019
大工19秋《操作系统》大作业题目及要求答案

学习中心:深圳市龙华区龙华街道成人文化技术学校奥鹏学习中心[43]专业:计算机科学与技术年级: 2019年春季学号: 191585307814学生:刘智明题目:操作系统1.谈谈你对本课程学习过程中的心得体会与建议?操作系统是网络工程专业的主要专业基础课和主干课。
操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。
通过模拟操作系统的全部或者部分功能的实现,加深对操作系统工作原理和操作系统实现方法的理解,达到练习编程的目的,提高学生运用理论知识分析问题、解决问题的能力,为学生从事科学研究和独立负担计算机及其应用方面的工作打好扎实的基础。
2.《操作系统》课程设计,从以下5个题目中任选其一作答。
题目三:进程同步与互斥生产者-消费者问题要求:(1)撰写一份word文档,里面包括(设计思路、流程(原理)图、基本内容、源代码)章节。
(2)设计思路:简单介绍生产者进程的功能以及消费者进程的功能。
(3)流程(原理)图:绘制流程图或原理图。
(4)基本内容:详细介绍生产者进程与消费者进程之间的同步与互斥关系。
(5)源代码:列出源代码,也可以仅列出伪代码。
答案:一、设计思路:生产者消费者问题是一个著名的进程同步问题。
描述的是有一群生产者进程在生产消息,并将此消息提供给消费者进程去消费。
为使生产者进程和消费者进程能并发执行,在它们之间设置了一个具有n 个缓冲区的缓冲池,生产者进程可将它所生产的消息放入一个缓冲区中,消费者进程可从一个缓冲区中取得一个消息消费。
尽管所有的生产者进程和消费者进程都是以异步方式运行的,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取消息,也不允许生产者进程向一个已装有消息且尚未被取走消息的缓冲区中投放消息。
二、流程图:生产者:消费者:三、基本内容:同步是一种时序关系。
如规定了进程1处理完事情A后,进程2才能处理事情B,经典的同步问题是生产者和消费者间的同步.互斥描述的是一种独占关系.如任一时刻,进城1和进程2中只能有一个写文件C.计算机系统中的每个进程都可以消费或生产某类资源。
Linux期末大作业

简单的IRC聊天程序—— Linux课程期末实验第一章概述【实验目的】综合应用Linux系统下的网络编程技术,使用C语言,结合软件工程思想,设计并实现一个简单的IRC聊天程序,具有服务器端和客户端,可以是终端字符界面,支持用户管理,用户名/密码注册和登录,支持版面聊天,用户可以选择进入某个版面,版面发言大家可以看到,同时支持点对点私聊,可以选择某个用户进行私聊。
从而熟悉在Linux系统所提供的网络通信接口及该系统下的编程思想,深入对计算机系统的理解,并切实提高软件设计开发的能力。
【实验原理】一个简单的聊天室,其功能是当这个聊天室中的任何一个用户输入一段字符后,室内的其他用户都可以看到这句话。
据此,聊天程序分为客户端和服务器端。
客户端对应每一个参加聊天的用户,完成从终端上输入采集并传递到服务器端和从服务器端接收信息输出显示的功能。
总体介绍该结构如下。
首先是初始化服务器,使服务器进入监听状态:sockfd = socket(AF_INET, SOCK_STREAM, 0);// 首先建立一个socket,族为AF_INET,类型为SOCK_STREAM。
// AF_INET = ARPA Internet protocols,即使用TCP/IP协议族。
// SOCK_STREAM类型提供了顺序的,可靠的,基于字节流的全双工连接。
// 由于该协议族中只有一个协议,因此第三个参数为0。
bind(sockfd, (struct sockaddr *)&servaddr,sizeof(serv_addr));// 再将这个socket与某个地址进行绑定。
// serv_addr 包括sin_family=AF_INET 协议族同socket。
// sin_addr.s_addr = htonl(INADDR_ANY)服务器所接收的所有其他地址// 请求建立的连接。
// sin_port = htons(SERV_TCP_PORT) 服务器所监听的端口。
Linux操作系统期末复习题(含答案)

Linux期末复习题(一)一、选择题(每小题2分,共50分)2. 在Ubuntu Linux 中,系统默认的(A)用户对整个系统拥有完全的控制权。
A. rootB. guestC. administratorD.supervistor.3. 当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B )A. NIDB. PIDC. UIDD. CID4. 下面哪个命令是用来定义shell的全局变量(D )A. exportfsB. aliasC. exportsD. export5. 哪个目录存放用户密码信息(B )A. /bootB. /etcC. /varD. /dev6. 默认情况下管理员创建了一个用户,就会在(B )目录下创建一个用户主目录。
A. /usrB. /homeC. /rootD. /etc7..当使用mou nt进行设备或者文件系统挂载的时候,需要用到的设备名称位于(D)目录。
A. /homeB. /binC. /etcD. /dev8. 如果要列出一个目录下的所有文件需要使用命令行(C )。
A. ls -B. lsC. ls -a(所有)D. ls -d9. 哪个命令可以将普通用户转换成超级用户(D )A. superB. passwdC. tarD. su10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下(D )A.用户目录B. home目录C. root目录D.当前目录A.行 B.变量 C.字D.字符11. 在vi编辑器里,命令"dd"用来删除当前的(A )14.按下(A )键能终止当前运行的命令A. Ctrl-CB. Ctrl-FC. Ctrl-BD. Ctrl-D17. 用"rm -i",系统会提示什么来让你确认(B )A.命令行的每个选项B.是否真的删除C.是否有写的权限D.文件的位置18. 以下哪个命令可以终止一个用户的所有进程(D )A. skillallB. skillC. killD. killall19. 在Ubuntu Linux 中,一般用(D )命令来查看网络接口的状态A. pingB. ipc onfigC. win ipcfg D ifconfig20. vi中哪条命令是不保存强制退出(C )(第五章)A. :wqB. :wq!C. :q!D. :quit22.在下列分区中,Linux默认的分区是(B)A. FAT32B. EXT3 C FAT .D NTFS24.如果用户想对某一命令详细的了解,可用(C)A. lsB. help (内部)C. man (列举的信息多)D dir二、填空题(每空1分,共10分)26.在Linux系统中,以—文件的—方式访问设备。
Linux 大作业

《信息技术》课程论文《Linux课程论文》学生姓名张振东学号5011210108专业计算机科学与技术班级计算机14-1所属学院信息工程学院塔里木大学教务处制引言Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux 继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
它主要用于基于Intel x86系列CPU的计算机上。
这个系统是由全世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。
它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
Linux是一种自由和开放源码的类Unix操作系统。
目前存在着许多不同的Linux,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。
Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。
严格来讲,Linux 这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
Linux得名于计算业余爱好者Linus Torvalds。
Linux操作系统,确切地说是GNU/Linux操作系统。
它的诞生、发展与UNIX、MINIX操作系统、GNU计划、POSIX标准以及Internet广泛应用有着极大的关系。
Linux 系统管理期末项目

网络技术专业期末项目考核任务书Linux 系统管理一. 项目背景 (2)二. 项目要求 (3)三.实验环境 (5)四.实验过程与步骤 (5)1.创建RAID5 (5)1).需求分析 (5)2).实验步骤 (6)3).问题解决 (10)2.创建磁盘配额 (11)1).需求分析 (11)2).实验步骤 (12)3).实验测试 (24)3.创建逻辑卷 (25)1).需求分析 (25)2).实验步骤 (25)4.创建备份 (30)1).需求分析 (30)2).实验步骤 (31)3).实验测试 (32)五.项目总结 (36)一. 项目背景Linux操作系统一直以高性能、高稳定和高安全性著称。
随着Linux在全球的快速普及,它在企业、政府、教育、制造、金融、媒体、移动通信等总舵行业应用十分广泛。
同时由于其开放源码这一特性,使其不仅在服务器端得到了广泛的应用,而且在嵌入式开放、虚拟化、存储等领域也有非常好的表现。
因此,社会对于Linux操作系统的管理及开发人员的需求量也越来越大。
本次项目是基于Linux系统管理日常管理维护遇到的一些问题展开。
二. 项目要求1. 在计算机上安装5块大小均为10GB的SCSI磁盘,其中一块磁盘安装了Linux操作系统,剩余的4块磁盘为有备用盘的RAID5。
因为RAID5要求RAID 的分区大小要相同,所以从这4块磁盘上个分出2GB空间的分区来加入RAID,每个磁盘剩余的8GB另作他用。
创建完RAID5后请查看磁盘空间的大小,并解释为什么该磁盘的容量仅为4GB左右?2. 最近公司新来了4名员工,他们的账号分别为:Tom、Jerry、John、Dion,密码都是P@ssw0rd。
请将这4个用户的家目录(/home/{tom,jerry,john,dion})分别放置4块硬盘(sdb2、sdc2、sdd2、sde2)。
同时为这4个员工的账号做磁盘容量限制:每个员工能够取得500M的磁盘使用量,文件数量则不予限制。
(完整版)Linux操作系统期末练习题最终版by枫叶

1.在Linux目录结构中目录中的文件是普通用户可以使用的可使用的可执行文件的目录是(B)19A./sbin B./bin C./usr D./lib2.在Linux目录结构中Linux的内核及引导程序所需要的文件位于(B)目录A./binB./bootC./rootD./proc3.在Linux目录结构中用来存放系统配置文件(D)目录A./libB./devC./procD./etc4.Linux三种特殊权限中仅用于目录文件的权限是(C)22A.SUIDB.SGIDC.黏滞位D.都可以5.Linux三种权限中允许进入目录的权限(C) 22A.r-可读B.w-可写C.x-可执行D.都不是6.下列脚本文件最先自动执行的是(A)24A./etc/rc.localB./etc/profileC.~/.bashrcD.~/.bash_logout7.下面通配符可匹配多个任意字符的通配符是(A)29A.*B. ?C.[abcde ]D.[!a-e]8.输出重定向符号右边的文件已经存在,不会覆盖文件而是追加的定向符是(B)A.>B.> >C. 2>D.&>9.表示用户家目录的是(B)A./home (所有用户家目录的父目录,+用户名才是用户家目录)B.~C. .D. ..10.可删除非空目录及其子目录的命令是(B)A. touchB.rm -rC.mkdirD.rmdir空目录11. 是强引用的符号(A)A. 单引号B.反引号C.双引号D.中括号12.可显示隐藏文件的ls命令形式选项是(A)A. ls -aB. ls -dC.ls -h D .ls -l13.可通过接受标准输入作为输出内容来创建简单文件的命令是(B)42A.touchB.catC.viD. gedit14.不带有编辑功能但有翻页、按行滚动、搜索功能的命令是(B)43A.catB.more和lessC.head 和tail D vi15.wc命令可统计文件的行数、字数和字节数。
《linux操作系统》期末试卷A及答案

《linux操作系统》期末试卷A及答案《Linux操作系统》期末试卷A及答案第一章:Linux操作系统概述⑴操作系统概述- 操作系统的定义和作用- 操作系统的分类及特点- Linux操作系统的历史和发展⑵ Linux操作系统的特点- 开源性质和GPL许可证- 多用户、多任务和多线程- 稳定性和安全性第二章:Linux安装与配置⑴安装Linux操作系统- 硬件要求和准备工作- 安装媒体的选择和准备- 安装过程的详细步骤⑵ Linux系统配置- 用户和组的管理- 网络配置和用户环境配置- 服务配置和文件系统管理第三章:Linux基本命令⑴ Linux命令的基本格式和使用方法- 命令的结构和参数选项- 文件和目录操作命令- 用户和权限管理命令⑵ Linux文件系统- 文件系统的组成和层次结构- 文件和目录的权限和属性- 文件系统的挂载和管理第四章:Linux系统管理与优化⑴进程管理- 进程的概念和类型- 进程状态和管理- 进程调度和监控⑵系统资源管理与优化- CPU和内存管理- 磁盘和文件系统的管理- 网络和用户资源的管理第五章:Linux网络与安全⑴网络配置和管理- TCP/IP协议和网络模型- IP地质和子网掩码的配置- 网络连接和路由设置⑵ Linux安全管理- 用户和访问控制- 防火墙和网络安全- 漏洞扫描和管理《Linux操作系统》期末试卷A答案:第一章:Linux操作系统概述⑴操作系统概述- 操作系统的定义和作用:操作系统是计算机系统中的核心软件,负责管理和控制硬件资源,为用户和应用程序提供服务。
- 操作系统的分类及特点:常见的操作系统分类有Windows、Linux、Unix等。
操作系统的特点包括多用户、多任务和多线程等。
- Linux操作系统的历史和发展:Linux操作系统最早由Linus Torvalds开发,是一款开源的操作系统,经过多年的发展和完善,成为全球最受欢迎的服务器操作系统之一。
LINUX程序设计期末大作业

LINUX程序设计期末大作业1、期末大作业的目的《Linux程序设计》大作业是在完成理论课程学习之后,通过大作业的方式对学生进行综合实践考核,在学生掌握Linux的基本编程知识及常用的操作命令基础上,提高学生对所学知识的应用能力,特别是:煅炼学生搜集有关Linux资料,在资料文档的帮助下,运用Linux的基本知识及常用的操作命令来解决问题的能力。
2、大作业的基本要求要求能完成给定的编程任务,并写出相应的大作业总结报告2.1、根据合理的进度安排,按照程序的流程及方法,踏实地完成期末大作业的任务安排。
2.2、按照任务要求,完成各个功能模块的功能划分和程序编写,调试代码并运行。
2.3、按要求撰写大作业报告。
3、大作业的主要内容3.1、作业题目1)平时成绩(30分)课堂点名占6分,每个实验报告占8分,本学期共3个实验报告,共24分;2)、shell编程(20分)要求:写出2个Shell程序,每个不少于15行(如实现自己模拟shell下的cd、ls指令等),说明程序主要功能,每行给出注释;3)、多选一(50分)a)设计并实现一个简单的聊天室程序,可以是终端字符界面,支持用户管理,用户名/密码注册和登录,客户端登陆到服务器聊天后,可以在聊天室内与其他用户交流(这个聊天室中的任何一个用户输入一段字符后,室内的其他用户都可以看到这句话)。
据此,聊天程序分为客户端和服务器端。
客户端对应每一个参加聊天的用户,完成从终端上输入采集并传递到服务器端和从服务器端接收信息输出显示的功能。
b) 很多公共服务场所都有取号机,用来给用户进行编号,如医院,银行等。
试编写一个socket客户机/服务器程序,用来模拟取号机。
实现的功能如下:(1)、客户机连接服务器(2)、服务器收到客户机连接请求后,返回服务选项给客户机,包括:(a) 购买;(b) 维修;(c) 其他;(3)、客户机接收到服务选项信息,在屏幕打印,并提示用户按服务编号进行选择(4)、用户输入自己想选择的服务编号,如果合法,客户机将客户的选择传送给服务器,如果不合法,则打印错误提示信息要求用户重新输入;(5)、服务器为该服务请求分配一个新的流水号,将时间、服务项目、流水号传递给客户机,并将此次请求的所有信息存入文件备案(6)、客户机收到服务器返回的信息后在屏幕输出,告知用户有关此次服务请求的相关内容(7)、客户机退出,服务器继续等待新请求3.2报告要求封面(见附件一)摘要(300~500字,单独一页)目录(自动生成)报告正文:大作业目的及要求(上面的1、2)作业题目1源代码运行截图作业题目2,源代码运行截图……小结(设计中的优点、不足及改进)参考文献大作业评分表(见附件二)注:报告正文小四号字,1.25倍行距,双面打印,16周周四提交报告打印版和电子版,报告不得雷同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大作业任务书课程名称:Linux操作系统题目:Linux期末大作业专业:计算机科学与技术班级:计算机185班学号:6109118148学生姓名:全昊完成人数:起讫日期:任课教师:李荣鑫职称:副教授完成时间:说明1.本任务书由任课教师填写后,下达到学生。
2.任务完成后,任课教师需填写小结表。
3.任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一并报送各教学研究部审核后转教务办。
4.另附一份全班大作业总结《Linux操作系统》期末大作业(要求将计算机名改为你的名字,以便命令行截图时能看到个人信息,shell编程题的源程序代码的第二行用注释给出个人信息。
)1. 写出完成下列操作的Linux命令(1)给shell脚本文件myshell.sh设置文件主和小组用户拥有可执行权限,其他用户无可执行权限。
(若无相应文件可以先创建)#sudo touch mashell.sh#sudo chmod 776 myshell.sh(2)将目录/home/ncu下的所有文件拷贝到/data。
(若无相应的目录可以先创建)#sudo cp /home/ncu/* /home/data拷贝前:(3)安装软件包apache2并查看启动状态。
# sudo apt-get install apache2(4)将/home/ncu目录打包压缩,生成ncu.tar.gz文件,并将此文件保存到/data目录#sudo tar -zcvf data/ncu.tar.gz ncu#tar默认使用的是相对路径,如果按照一般习惯书写绝对路径可能导致错误。
(5)删除目录/home/ncu及其下面所有文件。
#rm -rf /home/ncu(6)统计当前目录下普通文件的数目并显示结果。
#ls -lR |grep "^-"|wc -l(7)查询软件mysql是否安装,若没安装,请安装。
#service mysql status 检查数据库服务是否启动#sudo apt-get install mysql-server(8)将/etc下所有文件信息保存到~/etc.txt中。
#ls -al /etc >~/etc.txt(9)查找/home目录下所有空文件。
#find /home -type d -empty(10)将系统的日期设置为2018年12月20日8时30分。
#date -set “20181220 08:30:00”2. 建立以下用户、组并设置口令,写出相关的操作命令。
1)建立用户smith#sudo useradd smith2)建立组名sysadmin#sudo groupadd sysadmin3)将smith加入组sysadmin#sudo usermod -g sysadmin smith4)为smith设置口令654321#sudo passwd smith6543215)将文件myshell.sh的所有者设为smith. 所属组设为sysadmin.#sudo chown smith myshell.sh6)列出Linux系统下的所有可登录用户#cat /etc/passwd3.文件拷贝及相关问题,写出相关的操作命令。
1). 建立目录/option1#sudo mkdir optionl2)在目录/option1下生成一空文件empty,该文件拥用者为smith #touch empty#chown smith empty3)复制该文件到/tmp目录下的empty1文件,保留该文件的所有属性#cp -p /optionl/empty /tmp/empty14)软链接该文件到/tmp目录下的soft文件#sudo ln optionl/empty tmp/soft5)在用户自家目录下查找所有扩展名为.c和.h文件。
#find ./ -name “*.[ch]”4、网络相关操作命令(写出相关操作并截屏)1)查看虚拟机机的IP地址_ifconfig -a_________________。
2)尝试向网络上的另一台主机(另一台虚拟机或物理机)发送数据包,测试是否能够进行通讯(ping)。
#ping 119.3.235.179#IP是我的服务器IP3)使用ifconfig命令修改虚拟机的IP地址、子网掩码。
#sudo ifconfig ens33 202.196.233.5 netmask 255.255.255.0网卡设备名通过ifconfig获得4)使用route命令设置虚拟机的默认网关。
#sudo route add default gw 192.168.1.05)编辑/etc/resolv.conf文件,设置DNS,设置完毕重新启动网络服务,尝试向网关发送数据包测试网络配置是否正确,如不正确则重新配置直至网络连通。
(设置好后用ping 测试网络的连通性)之前的DNS如下图:先修改文件的权限,用gedit修改对应的DNS地址:修改后查看到的DNS地址:重启网络服务:尝试ping通:6)netstat命令的使用,监控网络的状态。
(1)显示所有TCP端口的信息。
(2)显示所有网络接口信息5.Shell编程题1)编写shell程序ex01.sh,用read 命令从键盘读入两个数到连个变量中,计算并输出这两个数的和与积。
# quanhao# edit at 2019-12-20# /bin/bashread -p "please input two numbers: " a bexpr $a + $b &>/dev/nullecho "a+b=$(($a+$b))"echo "axb=$(($a*$b))"echo "author quanhao"2)编写shell程序ex02.sh,计算两个数的和与积。
这两个数通过参数传入。
如执行ex02.sh 3 5 ,则输出8 和15.# quanhao# edit at 2019-12-20# /bin/bashecho "a+b=$(($1+$2))"echo "axb=$(($1*$2))"echo "author:quanhao"3)编写一个判断用户名和密码是否正确的shell程序ex03.sh,如用户名和密码都正确,则输出“YES!”,否则输出”NO!”.1.# quanhao2.# edit at 2019-12-203.# /bin/bash4.echo "input the username:"5.read u6.echo "input the password:"7.read p8.if test -r userinfo.dat9.then10.while read fn fp11.do12. #echo "$fn"13. #echo "$fp"14.if test "$fn" = "$u"15. then16.if test "$fp" = "$p"17. then18. echo "YES!"19.break20. fi21. fi22. done < userinfo.dat23.if test "$fn" != "$u"24. then25. echo "NO!"26. fi27.fi先编写用于比较的用户名和密码列表文件:4)编写一个程序ex04.sh,测试当前目录下一个文件是否存在,若存在输出“ YES!”,否则输出”NO!”. 文件名通过参数传入。
# quanhao# edit at 2019-12-20# /bin/bashif test -r $1thenecho "YES!"elseecho "NO!"fi5)编写shell程序ex05.sh, 完成根据实验的时间,分别给出:“上午好!”或者“下午好!”,或“晚上好!”的问候。
(提示:可用date +%H得到系统的小时)# quanhao# edit at 2019-12-20# /bin/bashtime=$(date "+%H")if [ "$time" -ge "6" ]&&[ "$time" -le "12" ]thenecho "now is $time"echo "good morning!"elif [ "$time" -gt "12" ]&&[ "$time" -le "18" ]thenecho "now is $time"echo "good aftnoon!"elif [ "$time" -gt "18" ]||[ "$time" -lt "6" ]thenecho "now is $time"echo "good night!"fi6. 设计一个shell程序,计算n的阶乘,要求:1)从命令行接收参数n; 2)程序运行后判断参数n的合法性,即是否有参数,如有,是否为正整数;若非法,给出错误提示信息。
3)最后输出计算结果。
# quanhao# edit at 2019-12-21# /bin/bashmultiply(){if [ $1 -gt 1 ]thenresult=$(($result*$1))next=$(($1-1))multiply $nextfi}if [ $# -ne 1 ]thenecho -e "please input a parameter!"echo "author:quanhao"exit 1firesult=1if [ $1 -ge 1 ]thenmultiply $1elseecho "Invalid input paramer!It must be a integer greater than 0"echo "author:quanhao"exit 1fiecho "$1! = $result"exit 07.编写Shell程序,程序功能,先建立一个学生组student,然后批量建立若干个学生用户,用户名的前导字符形如stu,再加数字序号,如stu20,用户名的前导字符和用户个数通过参数传递。