操作系统实验指导书
操作系统实验指导书
《操作系统》课程实验指导书一.实验总学时(课外学时/课内学时):4/8 总学分:8/44必开实验个数: 4 选开实验个数:0二.适用专业:网络工程、计算机科学与技术2007级三.考核方式及办法:在规定实验时间内完成实验要求,依据实验过程及实验结果在实验现场逐一检查考核。
四.配套的实验教材或指导书:自编实验指导书五. 实验项目:实验1 SHELL命令的使用1、实验目的通过对LINUX的系统启动、注销、关闭和关机,帐号管理,文件系统的日常管理,文件系统的权限控制等常用基本命令的使用及与Windows下DOS SHELL的比较,了解现代操作系统SHELL的特点和功能。
了解编辑器vi的使用方法。
2、实验工具及环境LINUX系统网络环境或单机,Windows系统网络环境或单机。
3、实验计划学时2学时上机实际操作。
4、实验内容及操作步骤⑴系统启动和关闭①使用自己的账户登录UNIX系统,查看系统提示符确定自己使用的shell程序类型别。
◎开机后,系统自检启动后提示login:(输入:root↙)password:(输入:用户口令↙,root用户为redhat)◎查看/etc/passwd文件可以获得用户使用的shell#grep $LOGNAME /etc/passwd↙可能的显示为:user001:*:200:50::/usr/user001:/bin/sh请思考上述命令怎样得到了当前使用的shell类型的?使用下面的命令也可以查看当前shell:#echo $SHELL②注销和关机命令。
◎用户注销使用:$exit↙或$<ctrl>+<D>↙或$logout↙◎超级用户关机使用:#shutdown↙该命令将结束所有的进程,当执行此命令后系统提示“Safe to Power off or Press Any Keyto Reboot”时可以关闭电源或按任一键重启系统。
◎haltsys(halt),reboot只能由超级用户在单用户模式下使用。
操作系统实验指导书-final
中央民族大学操作系统实验指导书目录前言 (3)实验总体要求 (4)实验格式 (5)实验一:Linux的初步认识 (6)实验二: 系统调用实验 (9)实验三:进程同步实验 (16)实验四:进程通信实验 (21)实验五:页面调度算法模拟 (28)实验六:虚拟文件系统 (31)实验七:Linux Socket编程 (79)附加实验:linux的深入认识 (86)前言《操作系统》课程是计算机科学与技术专业的主干课。
操作系统是现代计算机系统中必不可少的基本系统软件,对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。
《操作系统》课程是一门理论和实践相结合的课程。
通过《操作系统》实验教学,可以是使学生深入地掌握操作系统的基本概念、基本原理,同时也可以使学生能够运用《操作系统》提供的方法与技巧对实际问题进行算法设计和程序设计,即能更好地实现与课程同步练习,又进一步深化理解和灵活掌握教学内容;又能培养学生程序设计及上机调试的能力。
这将为其后继课程如《计算机体系结构》、《计算机网络》等打下必要的基础,同时也为今后在相关领域开展工作打下坚实的基础。
《操作系统》课程含有18学时的实验内容,要求学生完成linux的初步认识、进程同步、进程通信、页面调度算法模拟等实验,使学生了解和掌握操作系统的基本原理,掌握常用操作系统的使用和一般的管理方法等内容。
通过《操作系统》实践环节,培养学生认真分析问题、解决问题的能力,同时培养学生面对问题勤于思考及团队合作的意识,最终使学生达到理论与实践相结合的目的。
《操作系统》实验教学计划安排7个实验项目。
由于每个项目都是一个综合训练,仅仅依靠上机三个学时是远远不够的,尤其是实验6和实验7,具有很大的难度,教师可以根据学生的实际情况调整实验内容。
这里要求每个同学上实验课前必须做好充分的准备,如问题的分析、数据类型和系统的设计以及程序的编写、初步的调试等等,上机实验课主要是教师和同学们一起讨论和交流,共同解决系统设计和调试中的问题。
操作系统实验指导书(07)
《操作系统》——实验指导书编者:陈洺均桂林电子科技大学信息科技学院二00九年三月实验一Windows线程的创建与撤销一、实验目的1.熟悉Windows系统提供的线程创建与撤销系统调用。
2.掌握Windows系统环境下线程的创建与撤销方法。
二、实验预备内容(1)阅读Windows源码文件,加深对线程管理概念的理解;(2)CreateThread( )调用,创建一个线程;ExitThread ( )调用,撤销当前线程;TerminateThread( )终止线程;Sleep( )用于挂起当前正在执行的线程。
三、实验内容正确使用CreateThread()、ExitThread ( )及Sleep( )等系统调用,进一步理解进程与线程理论。
用系统调用CreateThread( )创建一个子线程,并在子线程序中显示:Thread is Runing!。
为了能让用户清楚地看到线程的运行情况,使用Sleep( )使线程挂起5S,之后使用ExitThread (0)撤销线程。
运行结果如下图所示:<参考程序 >// ThreadCreate.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ThreadCreate.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// The one and only application objectCWinApp theApp;using namespace std;void ThreadName1();static HANDLE hHandle1=NULL; //用于存储线程返回句柄的变量。
《计算机操作系统》实验指导书
《计算机操作系统》实验指导书(适合于计算机科学与技术专业)湖南工业大学计算机与通信学院二O一四年十月前言计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。
要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。
同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。
为了收到良好的实验效果,编写了这本实验指导书。
在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。
任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。
进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。
实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。
实验成绩考核:实验成绩占计算机操作系统课程总评成绩的20%。
指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。
操作系统原理实验指导书课案
操作系统原理实验指导书广东东软学院计算机系网络工程教研室编目录第一部分基础知识篇第一章安装Ubutnu8.04 (1)第二章Linux常用命令手册 (13)第二部分基本实验篇实验一UNIX/Linux操作系统的实际使用 (17)实验二命令解释程序 (24)实验三进程管理 (34)实验四处理器调度 (42)实验五存储管理 (46)第三部分综合实验篇实验六简单的数据库管理系统设计 (53)实验七输入/输出管理 (78)实验八Linux文件系统设计 (83)附录: (93)第一章安装Ubutnu8.041、备份资料如果以前没有安装过Ubuntu的可以跳过这一步。
如果你没有把/home目录单独挂载出来,建议你把他备份到一个安全的地方,至于其他系统分区、软件分区、都可以不管,保留软件设置比软件重要。
2、准备分区这是问题最多的地方,如果你以前使用Windows,那么你需要单独给Ubuntu 划分一个空白分区,可以使用Windows 自带的分区工具,也可以使用PQ分区管理工具。
建立Linux 分区的操作建议在Ubuntu安装过程中进行。
如果还是对硬盘分区有疑问的可以参考这里关于最简单可行的分区方法1、先在windows 下,我的电脑上点右键-----管理------磁盘管理-----删除最后一个分区(先备份再做,也可以进行先删除分区后再调整下分区大小,保留一个分区未分就行)2、安装desktop 版ubuntu,安装的时候让它自动分区并钩选最大的连续空闲空间。
3、详细安装步骤做好了上面的准备,就可以插入光盘开始安装了,在这里强烈建议在安装前把先把网线拔了,这样后面安装出错的机会大幅降低。
做好了上面的3 个准备,现在就可以插入光盘开始安装了。
见到这个画面时候记得按F2 选择语言为中文:选择第一项“试用 Ubuntu 而不改变计算机中的任何内容”,进入 live 桌面后点击“安装”图标。
1)选择语言,可以根据你自己的喜好选择,当然是选择中文(简体)了。
操作系统实验指导书
操作系统实验指导书一、实验说明1、实验目的实验是操作系统原理课程中不可缺少的重要教学环节,实验目的是使学生理论联系实际,使学生在实践探索中去发现问题、去解决问题,提高了学生获取知识和应用技术的能力,培养了学生分析和解决问题的能力。
《操作系统原理》要求理论与实践相结合,本门实验课程是对《操作系统原理》课堂教学的一个重要补充,与理论学习起着相辅相成的作用,是实施《操作系统原理》教学的一个重要组成部分。
通过本实验课的实践学习,可以增强本专业的学生对系统实现的认识。
对加深理解和掌握操作系统相关原理有重要帮助。
2、实验要求进一步了解和掌握操作系统原理,提高系统设计的能力。
对每一实验题目,应独立完成,并要求:·上机前,学生必须做好充分的实验准备工作,掌握与实验相关的背景知识,用任一种高级语言编写程序。
·上机时,认真调试,并观察、记录程序运行过程中出现的现象和问题。
·上机后,分析实验结果并写出实验报告。
3、实验报告要求每个实验(包括选做的)均应编写实验报告,学生实验后要写出严谨的、实事求是的、文字通顺的、字迹公整的实验报告。
实验报告应包括以下内容:(1)实验题目(2)实验目的(3)实验内容●程序中使用的数据结构及符号说明●流程图●源程序清单并附上注释(4)实验结果及分析●运行结果(必须是上面程序清单所对应输出的结果)●对运行情况所作的分析以及本次调试程序所取得的经验。
如果程序未能通过,应分析其原因。
二、实验内容实验一熟悉使用计算机系统一、实验名称:熟悉使用计算机系统二、实验目的与要求通过对Windows操作系统的使用,熟悉Windows操作系统中的基本概念,如单用户、多任务、进程和文件等,熟悉Windows中命令行方式下常用命令的使用方法;进一步熟悉TC语言与开发环境,为以后的实验打好基础。
三、实验内容1.开机后,熟悉Windows的界面(桌面、任务栏、开始按钮<点击后出现“开始”菜单>、我的电脑图标、回收站、我的文档)。
《Linux操作系统》实验指导书.v1.2
# 根据实际情况修改(红色处改为自己的学号后两位)。
eth1 的配置如下:(/etc/sysconfig/network-scripts/ifcfg-eth1) DEVICE=eth1 BOOTPROTO=dhcp ONBOOT=yes
(2)配置 DHCP 服务器(/etc/dhcpd.conf) ddns-update-style interim;
# service network restart (2)安装 samba 文件
(A)检测系统内部是否已经安装好 samba 文件 # rpm -qa | grep samba
(B)如果显示类似如下的版本信息,则证明系统内已经安装好 samba 服务 samba-common-3.0.33-3.14.el5
4、实验步骤 (1)配置两块网卡 eth0 和 eth1(均使用 bridge 方式连接)
eth0 的配置如下:(/etc/sysconfig/network-scripts/ifcfg-eth0)
DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.16.1 NETMASK=255.255.255.0 ONBOOT=yes
# getenforce 如果输出“Enforcing”,则输入下面的命令
# setenforce 0 (B)通过 Windows 访问 Linux
右击“我的电脑”,左键单击映射网络驱动器,在文件夹方框内按如下格式填写
\\192.168.0.253\share 如果下次需要映射其它用户的文件,可以先断开原来的映射,然后通过修改“其它
# smbclient -L //192.168.0.1 -U 用户 1 # 列出用户 1 的所有共享信息 # smbclient //192.168.0.1/共享名 - U 用户 1 # 访问用户 1 的“共享名”目录
操作系统实验
武汉纺织大学数学与计算机学院操作系统实验指导书——Windows 2000/XP目录实验一 Windows中的进程初识 (1)实验二 Windows中进程的创建、运行和终止 (6)实验三 Windows线程间的通信 (18)实验四 Windows的内存结构 (24)实验总体安排实验环境操作系统:Windows2000 / XP / Vista编程工具:Visual C++6.0实验一 Windows中的进程初识(一)Windows中的进程对象_获取当前运行进程的优先级操作系统将当前运行的应用程序看作是进程对象。
利用系统提供的惟一的称为句柄(HANDLE) 的号码,就可与进程对象交互。
这一号码只对当前进程有效。
本实验表示了一个简单的进程句柄的应用。
在系统中运行的任何进程都可调用GetCurrentProcess() API函数,此函数可返回标识进程本身的句柄。
然后就可在Windows需要该进程的有关情况时,利用这一句柄来提供。
步骤1:登录进入Windows Professional。
步骤2:运行Visual C++ 6.0,在“文件”菜单中依次点击“新建”-“工程”-“Win32Console Application”命令,输入工程名,例如“1_1”,进入下一个对话框,选择“An empty project”,点击“完成”按钮,将建立一个使用控制台的工程。
步骤3:在“文件”菜单中依次点击“新建”-“文件”-“C++Source File”,输入文件名,例如“1_1”,点击“确定”按钮,将建立一个名为“1_1.cpp”的源文件并添加到上面建立的工程里面。
步骤4:将清单1_1中的程序键入1_1.cpp中。
清单1_1 获得和使用进程的句柄// prochandle项目#include<windows.h>#include<iostream>// 确定自己的优先权的简单应用程序void main(){// 从当前过程中提取句柄HANDLE hProcessThis=::GetCurrentProcess();// 请求内核提供该过程所属的优先权类DWORD dwPriority=::GetPriorityClass(hProcessThis);// 发出消息,为用户描述该类std::cout<<"current process priority:";switch(dwPriority){case HIGH_PRIORITY_CLASS:std::cout<<"High";break;case NORMAL_PRIORITY_CLASS:std::cout<<"Normal";break;case IDLE_PRIORITY_CLASS:std::cout<<"Idle";break;case REALTIME_PRIORITY_CLASS:std::cout<<"Realtime";break;default:std::cout<<"<unknow>";break;}std::cout<<std::endl;}清单1_1中列出的是一种获得进程句柄的方法。
操作系统实验指导书(新)
目录实验一 WINDOWS进程初识 (3)1、实验目的 (3)2、实验内容和步骤 (3)3、实验结论 (5)4、程序清单 (5)实验二进程管理 (6)背景知识 (6)1、实验目的 (12)2、实验内容和步骤 (12)3、实验结论 (16)4、程序清单................... 错误!未定义书签。
实验三进程同步的经典算法 .. (17)背景知识 (17)1、实验目的 (19)2、实验内容和步骤 (19)3、实验结论 (22)4、程序清单................... 错误!未定义书签。
实验四存储管理 (23)背景知识 (23)1、实验目的 (31)2、实验内容和步骤 (31)3、实验结论 (48)4、程序清单................... 错误!未定义书签。
实验五文件和设备管理 (49)背景知识 (49)1、实验目的 (53)2、实验内容与步骤............. 错误!未定义书签。
3、实验结论................... 错误!未定义书签。
实验一WINDOWS进程初识1、实验目的(1)学会使用VC编写基本的Win32 Consol Application (控制台应用程序)。
(2)掌握WINDOWS API的使用方法。
(3)编写测试程序,理解用户态运行和核心态运行。
2、实验内容和步骤(1)编写基本的Win32 Consol Application步骤1:登录进入Windows,启动VC++ 6.0。
步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。
创建一个新的控制台应用程序工程。
步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。
操作系统实验指导书---精品模板
《操作系统原理》实验指导书羊四清编写适用专业:计算机科学与技术网络工程湖南人文科技学院计算机科学技术系2008年8 月前言操作系统是计算机的核心和灵魂.操作系统软件的设计对整个计算机的功能和性能起着至关重要的作用,所以此门课也是必不可少的,是面向计算机科学与技术、网络工程、软件工程等大多数计算机专业本科生开设的一门计算机专业课程。
操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课.本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。
操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。
作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。
操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:理解操作系统的设计和实现思路,掌握典型算法。
基本要求是:理解进程的概念,理解死锁,掌握银行家算法;掌握请求页式存储管理的实现原理及页面置换算法。
学生应具有高级语言编程能力、具有数据结构等基础知识。
说明:本实验指导书所提供的源程序均已在VC6.0下调试运行过.目录实验一进程创建模拟 (1)实验二进程撤销模拟 (9)实验三P、V 原语的模拟实现 (10)实验四带优先级的时间片轮换的进程调度算法的实现 (16)实验五银行家算法模拟 (26)实验六连续动态内存管理模拟实现 (29)实验七请求页式存储管理中常用页面置换算法模拟 (31)实验八SCAN 磁盘调度模拟实现 (36)实验九UNIX基本操作 (37)实验一进程创建模拟实验学时:2实验类型:验证实验要求:必修一、实验目的1)理解进程创建相关理论;2)掌握进程创建方法;3)掌握进程相关数据结构。
二、实验内容本实验针对操作系统中进程创建相关理论进行实验.要求实验者输入实验指导书提供的代码并进行测试。
代码简化了进程创建的多个步骤和内容。
操作系统实验指导1
操作系统实验指导书楚雄师范学院计算机科学系操作系统课程组2011-9-20第一部分操作系统上机指导Linux操作系统环境:RedHat Enterprise Linux ES release 3 (Taroon Update 1) (2.4.21-9.EL)Red Flag Linux release 4.0 (HOT) (2.4)登录到系统常用命令练习:用root账号(超级用户)注册,口令为jkxroot(注意大小写)。
注册成功出现#号(超级用户系统提示符,普通用户的系统提示符为$)。
注销(退出)系统:logout 或exit3.练习使用命令ls(注意Linux命令区分大小写。
)使用ls 查看当前目录内容;使用ls 查看指定目录内容,如/目录,/etc目录使用ls –all 查看当前目录内容;使用dir 查看当前目录内容4.使用cd改变当前目录cd .. 回到上层目录;cd / 回到根目录5.pwd 显示当前路径6.建立目录mkdirmkdir 目录名;mkdir /home/s2001/newdir7.删除目录:rmdir;8.复制文件cp:如cp 文件名1 文件名29.移动文件或目录: mv10.删除文件rm11. 显示文件内容:more (分页显示);12. 显示文件:cat 文件名建立文件:cat >文件名,ctrl+d结束输入使用编辑器vi 编辑文件进入linux的文本模式之后,在命令行键入vi filename.c 然后回车。
下面作一些简单的解释:首先vi命令是打开vi编辑器。
后面的filename.c是用户即将编辑的c文件名字,注意扩展名字是.c;当然,vi编辑器功能很强,可以用它来编辑其它格式的文件,比如汇编文件,其扩展名字是.s;也可以直接用vi打开一个新的未命名的文件,当保存的时候再给它命名,只是这样做不很方便。
最基本的命令I :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的I键(insert),插入的意思,就可以进入编辑模式了。
Linux操作系统实验指导书.doc
《Linux操作系统》实验指导书主编教师:王振目录实验一Linux操作系统的安装 (3)【实验目的】 (3)【实验环境】 (3)【实验重点及难点】 (3)【实验内容】 (3)实验二常用命令的使用(一) (5)【实验目的】 (5)【实验环境】 (5)【实验重点及难点】 (5)【实验内容】 (5)实验三常用命令的使用(二) (9)【实验目的】 (9)【实验环境】 (9)【实验重点及难点】 (9)【实验内容】 (9)实验四VI编辑器的使用 (14)【实验目的】 (14)【实验环境】 (14)【实验重点及难点】 (14)【实验内容】 (14)实验五Linux系统管理与配置 (15)【实验目的】 (15)【实验环境】 (16)【实验重点及难点】 (16)【实验内容】 (16)(一)命令行管理 (16)(二)图形界面管理 (17)实验六shell编程(一) (19)【实验目的】 (19)【实验环境】 (19)【实验重点及难点】 (19)【实验内容】 (19)实验七shell编程(二) (23)【实验目的】 (23)【实验环境】 (23)【实验重点及难点】 (23)【实验内容】 (23)实验八FTP服务器的配置 (25)【实验目的】 (25)【实验环境】 (25)【实验重点及难点】 (25)【实验内容】 (25)实验九NFS服务器 (26)【实验目的】 (26)【实验环境】 (26)【实验重点及难点】 (26)【实验内容】 (26)实验十配置Samba服务器 (28)【实验目的】 (28)【实验环境】 (28)【实验重点及难点】 (28)【实验内容】 (28)实验一Linux操作系统的安装【实验目的】1.掌握Linux操作系统的安装;2.通过安装,学习Linux操作系统与其他操作系统的区别。
【实验环境】1、Linux操作系统安装;2、虚拟机软件;3、计算机内存配置要求512M以上。
【实验重点及难点】Linux操作系统安装过程。
操作系统实验
《操作系统》实验指导书德州学院计算机系实验一理解和认识操作系统的三种接口1.目的和要求MS-DOS和Windows是市场上普及率很高的操作系统,本实验的目的是让读者从操作系统理论的观点加深对现代操作操作系统的接口设计的理解。
2.实验内容①熟悉DOS的基本命令,包括md,cd,copy,move,del,deltree,type 等的使用a、当前目录下建立子目录MYTEMP和MYTEMP2,将当前目录设定为MYTEMP;b、在当前目录下创建新文件B.BAT,其内容为:清除屏幕内容,显示当前DOS版本;c、使用type命令显示B.BAT的内容,检查正确后,执行它;d、拷贝B.BAT到路径MYTEMP中;e、删除MYTEMP2中的文件B.BAT,删除目录MYTEMP2;f、使用deltree命令删除MYTEMP②理解WINDOWS下的编程接口原理,了解WINAPI,利用WINAPI实现WINDOWS 下的打印。
a、登录进入Windowsb、在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”-“MicrosoftVisual C++ 6.0”命令,进入Visual C++ 窗口。
c、在File菜单单击New Workspace...命令,创建PrintApp.dsw项目文件。
d、在File菜单单击New C++ Soure file命令,创建新的原文件。
e、输入如实验运行结果中所示的源代码,调试、编译并运行。
f、观察执行结果,理解各个函数的功能。
3.实验环境Windows操作系统和Visual C++6.0专业版或企业版实验二复习用C语言编制程序一、实验内容选择一个计算机系统,熟悉该系统的操作命令,且掌握该计算机系统的使用方法。
二、实验目的配合操作系统课程的学习,模拟实现操作系统的功能,有助于对操作系统的理解。
操作系统功能的模拟实现可以在计算机系统的终端上进行,也可以在一台微型计算机上进行。
《操作系统》实验教学大纲
《操作系统》实验教学大纲实验名称:操作系统实验实验课程:计算机科学与技术、软件工程、电子信息工程实验学时:24学时(12次课程实验)实验目的:1.通过操作系统实验,学生将深入了解操作系统的原理和设计。
2.学生将掌握操作系统的基本概念和常用技术。
3.提高学生的实践能力和创新能力,培养学生的团队合作精神。
实验内容:1.实验一:操作系统基本概念-实验介绍:了解操作系统的基本概念和基本功能。
-实验要求:学生通过阅读文献或参考书籍,掌握操作系统的基本概念。
-实验过程:学生通过讨论或小组讨论的方式,给出操作系统的定义和基本功能列表。
2.实验二:进程管理-实验介绍:通过实验来学习进程管理的基本概念和常用算法。
-实验要求:学生通过自己编写程序,实现进程的创建、销毁和调度。
-实验过程:学生根据给定的问题,设计进程模型并实现相应的程序。
3.实验三:内存管理-实验介绍:了解内存管理的基本概念和常用算法,学习虚拟内存技术的原理。
-实验要求:学生通过编写程序,实现内存分配和回收的算法。
-实验过程:学生通过模拟内存分配和回收的过程,理解内存管理的基本原理。
4.实验四:文件系统-实验介绍:了解文件系统的基本概念和常用算法,学习文件管理的基本原理。
-实验要求:学生通过编写程序,实现文件的创建、删除和查找。
-实验过程:学生通过模拟文件的创建、删除和查找的过程,理解文件管理的基本原理。
5.实验五:设备管理-实验介绍:通过实验学习设备管理的基本概念和常用算法,了解设备驱动程序的实现原理。
-实验要求:学生通过编写程序,模拟设备的控制和管理。
-实验过程:学生通过模拟设备的请求、分配和释放的过程,理解设备管理的基本原理。
6.实验六:作业调度-实验介绍:通过实验学习作业调度的基本概念和常用算法。
-实验要求:学生通过编写程序,实现作业的调度。
-实验过程:学生通过输入作业和作业调度算法,模拟作业调度的过程。
实验评定:-实验报告:60%-实验成果:20%-实验操作:20%实验环境:- 操作系统:Linux、Windows实验要求:-学生需认真完成实验任务,编写实验报告。
操作系统指导书
《计算机操作系统》实验指导书适用专业:计算机科学与技术信息与计算机江南大学物联网工程学院2015年4月前言计算机操作系统(Operating System简称OS)是计算机中最重要的系统软件,也是最活跃的学科之一,是计算机相关本科专业的核心课程。
通过本课程的学习使学生掌握操作系统的基本概念、技术、原理,具备一定的从不同层次分析与使用操作系统功能的能力。
了解计算机操作系统方面的新技术、新理论与新发展。
本实验指导书,是根据《操作系统》课程教学大纲的要求而编写的,目的是让学生能够进一步了解操作系统的基本概念、原理,通过综合性、验证性和设计性等实验,熟练掌握操作系统的运行机理和各种算法思想,尤其是操作系统的核心功能。
同时还希望通过实验进一步提高学生的动手能力和综合运用先修课程的能力。
由于编写仓促,难免有错误和不足之处,恳请读者不吝赐教。
目录前言 (1)实验一进程调度 (3)实验二作业调度实验 (6)实验三银行家算法 (9)实验四存储管理 (13)实验一进程调度实验学时:4学时实验类型:设计实验要求:必修一、实验目的多道程序设计中,经常是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理机。
因而引起进程调度。
本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。
二、实验内容1.优先权法、轮转法简化假设1)进程为计算型的(无I/O)2)进程状态:ready、running、finish3)进程需要的CPU时间以时间片为单位确定2.算法描述1)优先权法——动态优先权当前运行进程用完时间片后,其优先权减去一个常数。
2)轮转法三、流程图产生n 需的时间片数,已占用CPU 的时间片数置为0按进程产生的先后次序拉成就绪队列链=0? 撤销该进程就绪队列为空吗?=轮转时间片数?NYYY 结束N开始键盘输入进程数n ,和调度方法的选择优先权法? 轮转法产生n 个进程,对每个进程产生一个PCB ,并用随机数产生进程的优先权及进程所需的CPU 时间 按优先权大小,把n 个进程拉成一个就绪队列 撤销进程就绪队列为空?结束NYY四、实验要求1.产生的各种随机数的取值范围加以限制,如所需的CPU时间限制在1~20之间。
操作系统实验指导书
《操作系统》课程实验指导书信电工程学院2011年9月目录前言 (1)实验要求 (2)实验准备 (3)实验一处理机管理 (4)实验二存储管理 (7)实验三设备管理 (10)实验四文件管理 (14)前言“操作系统”是计算机及相关专业的必修课程,在学习计算机操作系统理论的同时,通过实验可以加强对操作系统基本原理的理解。
让学生通过上机实验验证计算机操作系统的难点,增加学生对计算机操作系统的领悟和掌握。
使学生对计算机操作系统的工作原理和工作过程有深刻的体会和理解,同时又锻炼了程序编制能力和学生创造能力。
本课程共设8个学时,实验主要由进程管理、存储管理、设备管理、文件管理等4个主要几个部分所组成。
其中验证类实验占25%、设计类实验占75%,每个实验2学时。
考虑由于学生C语言基础较并且不平衡,本课程实验安排了实验准备(由学生课下完成),主要了解掌握TurboC2.0编程环境、掌握C语言编程的基本编制方法和技巧,为后继的实验做准备。
这些实验能很好地解决配合操作系统课程教学来指导学生进行实践的问题。
实验要求1.学生按照实验要求,上机前写好上机实验预习报告,内容包括:实验的目的、内容、实验步骤(程序)。
2.上机实验时按实验要求完成每一个实验的内容。
3.课后认真书写实验报告。
实验报告采用统一的实验报告纸,实验封面包括:课程名称、实验名称、实验序号、班级、姓名、学号、实验时间。
实验报告书写规范,应包括:实验目的和要求、实验内容、实验步骤、实验记录(程序)。
4.遵守机房纪律,服从辅导员教师指挥,爱护实验设备。
5.实验课程不迟到。
如有事不能出席,所缺实验一般不补。
实验准备一.实验目的熟悉TurboC2.0基本编程环境掌握C语言的基本编程方法二.实验内容与要求(一)TurboC2.0的基本操作1、TurboC2.0的基本操作2、运行一个C语言程序的一般过程3、编辑并保存存一个C语言程序4、编译、链接源程序文件5、运行与查看程序结果(二)C语言程序的基本编程方法1、数据类型、运算符、表达式2、数据的输入、输出3、C语言程序的基本控制结构4、数组5、函数与程序结构6、指针7、结构与联合8、文件操作(可通过网络查找TurboC2.0用户说明书,并在其指导进行操作,并要求人手一本C语言程序设计教材并上机练习)实验一处理机管理一、掌握进程及进程调度的概念、三种基本状态及转换二、实验内容1、复习进程的概念、进程调度的含义、进程的三种基本状态及转换2、编制一个模拟进程调度的程序三、参考程序#include"stdio.h"#define running 1/*用running表示进程处于运行状态*/#define aready 2/*用aready表示进程处于就绪状态*/#define blocking 3/*用blocking表示进程处于等待状态*/#define sometimes 5/*用sometime表示时间片大小*/#define n 10/*假定系统允许进程个数为10*/struct{int name;/*进程标识符*/int status;/*进程状态*/int ax,bx,cx,dx;/*进程现场信息,通用寄存器内容*/int pc;/*进程现场信息,程序计数器内容*/int psw;/*进程现场信息,程序状态寄存器内容*/int next;/*下一个进程控制块的位置*/}pcbarea[n];/*定义模拟进程控制块区域的数组*/int PSW,AX,BX,CX,DX,PC,TIME;/*模拟寄存器*/int run;/*定义指向正在运行进程的进程控制块的指针*/struct{int head;int tail;}ready;/*定义指向正在运行进程的进程控制块的指针*/int block;/*定义指向等待队列的指针*/int pfree;/*定义指向空闲进程控制块队列的指针*/sheduling()/*进程调度函数*/{int i;if(ready.head==-1)/*空闲进程控制块队列的指针*/{printf("无就绪进程\n");return 0;}i=ready.head;/*就绪队列头指针赋给i*/ready.head=pcbarea[ready.head].next;/*就绪队列头指针后移*/if(ready.head==-1) ready.tail=-1;/*就绪队列为空,修正尾指针 ready.tail*/pcbarea[i].status=running;/**/TIME=sometimes;/*设置相对时钟寄存器*//*恢复该进程现场信息*/AX=pcbarea[run].ax;BX=pcbarea[run].bx;CX=pcbarea[run].cx;DX=pcbarea[run].dx;PC=pcbarea[run].pc;PSW=pcbarea[run].psw;/*修改指向运行进程的指针*/run=i;return 0;}/*进程调度函数结束*/create(int x)/*创建进程*/{int i;if(pfree==-1)/*空闲进程控制块队列为空*/{printf("无空闲进程控制块,进程创建失败\n");return 0;}i=pfree;/*取空闲进程控制块队列的第一个*/pfree=pcbarea[pfree].next;/*pfree后移*//*填写该进程控制内容:*/pcbarea[i].name=x;pcbarea[i].status=aready;pcbarea[i].ax=x;pcbarea[i].bx=x;pcbarea[i].cx=x;pcbarea[i].dx=x;pcbarea[i].pc=x;pcbarea[i].psw=x;if(ready.head!=-1){/*就绪队列不空时,挂入就绪队列方式*/pcbarea[ready.tail].next=i;ready.tail=i;pcbarea[ready.tail].next=-1;}else{/*就绪队列为空时,挂入就绪队列方式*/ready.head=i;ready.tail=i;pcbarea[ready.tail].next=-1;}return 0;}/*进程创建函数结束*/main(){/*系统初始化*/int num,j;run=ready.head=ready.tail=block=-1;pfree=0;for(j=0;j<n-1;j++)pcbarea[j].next=j+1;pcbarea[n-1].next=-1;printf("输入进程编号(避免编号的冲突,以负数输入结束,最多可以创建10个进程):\n");scanf("%d",&num);while(num>0){create(num);scanf("%d",&num);}sheduling();if(num!=-1){printf("进程名进程状态寄存器内容:ax bx cx dx pc psw:\n");printf("%4d%10d%3d%3d%3d%3d%3d%3d\n",pcbarea[run].name,pcbarea[run].status,pcbarea[ run].ax,pcbarea[run].bx,pcbarea[run].cx,pcbarea[run].dx,pcbarea[run].pc,pcbarea[run ].psw);}}/*main结束*/实验二存储管理一、实验目的掌握分页存储管理的基本原理及分页存储管理中的地址变换过程二、实验内容1、复习分页想念管理的基本概念、基本原理、及地址变换过程2、编制一个模拟地址变换过程的程序三、参考程序/*页式虚拟存储管理中地址转换和缺页中断的模拟*/#include"stdio.h"#define n 64/*模拟实验中假定的页表长度*/#define length 10struct{int lnumber;/*页号*/int flag;/*表示该页是否在主存,"1"表示在主存,"0"表示不在*/int pnumber;/*该页所在主存块的块号*/int write;/*该页号是否被修改,"1"表示修改过,"0"表示末修改过*/ int dnumber;/*该页存放在磁盘上的位置,即磁盘块号*/}page[n];/*页表定义*/int m;/*m为该作业在主存中的主存块块数*/int page_length;/*页表实际长度*/int p[length];/*存放在主存中页的页号*/int head;/*主存中页号队列*/page_interrupt(lnumber)int lnumber;{int j;printf("发生缺页中断*%d\n",lnumber);/*淘汰页*/j=p[head];p[head]=lnumber;head=(head+1)%m;if(page[j].write==1)printf("将页%d写回磁盘第%d块\n",j,page[j].dnumber);page[j].flag=0;/*第j页存在标志改为"0"*/page[lnumber].pnumber=page[j].pnumber;page[lnumber].flag=1;/*第lnumber页存在标志改为"0"*/page[lnumber].write=0;/*第lnumber页修改标志改为"1"*/printf("淘汰主存块%2d中的页%2d从磁盘第%d块中调入页%2d\n",page[j].pnumber,j,page[lnumber].dnumber,lnumber);}/*缺页中断处理函数结束*/void command(laddress,write)unsigned laddress;int write;{int paddress,ad,pnumber,lnumber;kk:/*取出逻辑地址laddress的页号lnumber(高6位)和页内地址ad*/ lnumber=laddress>>10;ad=laddress&0x3ff;if(lnumber>=page_length){printf("不存在该页\n");}if(page[lnumber].flag==1)/*页在主存*/{pnumber=page[lnumber].pnumber;/*从页表中取得块号*/paddress=pnumber<<10|ad;/*合并块号和块内地址形成物理地址padress*/printf("逻辑地址是:%x 对应的物理地址是%x\n:",laddress,paddress);}if(write==1)/*如果需要写,修改页的修改标志位*/page[lnumber].write=1;else{page_interrupt(lnumber);/*缺页中断*/goto kk;}}/*命令处理函数结束*/void main(){int lnumber,pnumber,write,dnumber;unsigned laddress;int i;/*输入页表信息,页号从0开始,依次编号,创建页表page*/printf("输入页表信息,创建页表(若页号为-1,则结束输入\n");printf("输入页号和辅存地址");scanf("%d%d",&lnumber,&dnumber);i=0;while(lnumber!=-1){page[i].lnumber=lnumber;page[i].flag=0;page[i].write=0;page[i].dnumber=dnumber;i++;printf("输入页号和辅存地址");scanf("%d%d",&lnumber,&dnumber);}page_length=i;printf("输入主存号,主存块数要小于%d,(以-1结束):",i);scanf("%d",&pnumber);m=0;head=0;while(pnumber!=-1){if(m<=i){page[m].pnumber=pnumber;page[m].flag=1;p[m]=m;m++;}scanf("%d",&pnumber);}printf("输入指令性质(1-修改,0-不需要,其他--结束程序运行)和逻辑地址:");scanf("%d%x",&write,&laddress);while(write==0||write==1){command(laddress,write);/**/printf("输入指令性质(1-修改,0-不需要,其他--结束程序运行)和逻辑地址:");scanf("%d%x",&write,&laddress);}}/*函数结束*/实验三设备管理一、实验目的了解设备管理的基本原理、设备的分配与回收过程二、实验内容1、复习设备管理的基本概念、基本原理、常用的数据结构、分配策略及算法2、编制一个独占设备的分配和回收模拟程序三、参考程序/*独占设备的分配和回收模拟*/#include"stdio.h"#include"string.h"#define false 0#define true 1#define n 4#define m 10struct{char type[10];/*设备类名*/int count ;/*拥有设备台数*/int remain;/*现存的可用设备台数*/int address;/*该类设备在设备表中的起始地址*/}equiptype[n];/*设备类表定义,假定系统有N个设备类型*/struct{int number;/*设备绝对号*/int status;/*设备好坏状态*/int remain;/*设备是否已分配*/char jobname[4];/*占有设备的作业名*/int lnumber;/*设备相对号*/}equipment[m];/*设备表定义,假定系统有M个设备*/allocate(char J[],char type[],int mm){int i,t;/*查询该类设备*/i=0;while(i<n&&strcmp(equiptype[i].type,type)!=0)i++;if(i>=n)/*没有找到该类设备*/{printf("无该类设备,设备分配失败");return(false);}if(equiptype[i].remain<1)/*所需设备现存可用台数不足*/{printf("该类设备不足,分配失败");return(false);}t=equiptype[i].address;/*取出该类设备在设备表中的起始地址*/while(!(equipment[t].status==1&&equipment[t].remain==0))t++;/*填写作业名、相对号,状态改为已分配*/equiptype[i].remain--;equipment[t].remain=1;strcpy(equipment[t].jobname,J);equipment[t].lnumber=mm;}/*设备分配函数结束*/reclain(char J[],char type[]){int i,t,j,k,nn;i=0;while(i<n&&strcmp(equiptype[i].type,type)!=0)i++;if(i>=n)/*没有找天该类设备*/{printf("无该类设备,设备回收失败");return(false);}t=equiptype[i].address;/*取出该类设备在设备表中的起始地址*/ j=equiptype[i].count;/*取出该类设备的数量*/k=0;nn=t+j;for(;t<nn;t++)if(strcmp(equipment[t].jobname,J)==0&&equipment[t].remain==1) {equipment[t].remain=0;k++;}equiptype[i].remain=equiptype[i].remain+k;if(k==0)printf("该作业没有使用该类设备\n");}/*设备收回函数结束*/main(){char J[4];int i,mm,a;char type[10];/*设备类表初始化:*/strcpy(equiptype[0].type,"input");/*输入机*/equiptype[0].count=2;equiptype[0].remain=2;equiptype[0].address=0;strcpy(equiptype[1].type,"printer");/*打印机*/equiptype[1].count=3;equiptype[1].remain=3;equiptype[1].address=2;strcpy(equiptype[2].type,"disk");/*磁盘机*/equiptype[2].count=4;equiptype[2].remain=4;equiptype[2].address=5;strcpy(equiptype[3].type,"tape");/*磁带机*/equiptype[3].count=1;equiptype[3].remain=1;equiptype[3].address=9;/*设备表初始化:*/for(i=0;i<10;i++){equipment[i].number=i;equipment[i].status=1; //343434equipment[i].remain=0;}while(1){printf("\n0-退出,1-分配,2-回收,3-显示");printf("\n选择功能项(0-3):");scanf("%d",&a);switch(a){case 0:/*程序结束*/return(false) ;case 1:/*a=1分配设备*/printf("输入作业名、作业所需设备类和设备相对号");scanf("%s%s%d",J,type,&mm);allocate(J,type,mm);/*分配设备*/break;case 2:/*a=2回收设备*/printf("输入作业名和作业归还的设备类");scanf("%s%s",J,type);reclain(J,type);/*回收设备*/break;case 3:/*a=3输出设备类表和设备表的内容*/printf("\n输出设备类表\n");printf(" 设备类型设备总量空闲好设备\n");for(i=0;i<n;i++)printf("%9s%8d%9d\n",equiptype[i].type,equiptype[i].count,equiptype[i].remain); printf("输出设备表:\n");printf("绝对号好/坏已/未分配占用作业名相对号\n");for(i=9;i<m;i++)printf("%3d%8d%9d%12s%8d\n",equipment[i].number,equipment[i].status,equipment[i].remain,equipment[i].jobname,equipment[i].lnumber);}}}。
Windows操作系统实训任务书指导书
《网络操作系统》实训任务书指导书适用专业:指导教师:实训时间:四川建筑职业技术学院_______系年月日《Windows操作系统》实训任务书一、课程的地位、作用和目的网络操作系统是计算机网络专业的学生必须掌握的一门课程。
它在计算机网络中起着核心和纽带的重要作用。
通过本次网络操作系统实习周实习,学生能够将课堂中学习到的知识在实验中得到验证、加深对相关知识点的理解。
二、实训内容实验一 Windows Server 2003的安装实验二 TCP/IP协议常用网络工具的的使用实验三对等网络配置及网络资源共享实验四安装与配置Active Directory实验五安装与设置DNS服务器实验六安装与设置DHCP服务器实验七网络Web服务器的建立、管理和使用实验八网络FTP服务器建立、管理和使用三、实训组织及要求硬件要求:装有windows server 2003操作系统的计算机;交换机或路由器等网络设备。
组织方式:本实训安排在网络实验室进行,将学生分成若干小组,每组4-5位同学,以小组为单位开展实训。
每组分配计算机3-4台,并利用实验室中现有的网络设备,由各小组自行完成系统的安装及角色服务器的安装,并完成相应的配置和管理。
纪律要求:学生必须按时到达实验室;不得做与实验无关的事情;除与实验有关的内容外,不得讨论其它话题;教师每天必须安排时间指导学生实训。
能力要求:学生能够熟练的对Windows server 2003系统进行管理与操作,学会对DNS 服务器、DHCP服务器、ftp服务器,web服务器等的架设与管理。
五、实训考核办法1、考核组织由任课教师和实训指导教师组成。
2、考核内容及评分办法1).实训结束学生应上交一份实训报告,要求有比较详细操作步骤,体会与心得。
2).评分方法:依据实训报告,重点在总结体会和心得;结合学生在实训中能力的表现综合评定。
3、考核要求首先要完成实训下达各项任务。
完成的实训报告重点写通过实训得到的体会和心得。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录前言 (2)实验一UNIX/Linux操作系统的实际使用 (3)实验二命令解释程序 (10)实验三进程管理 (20)实验四存储管理 (28)实验五简单的数据库管理系统设计 (35)实验六输入/输出管理 (60)综合实验 (65)附录 (75)参考书目 (83)前言操作系统是计算机科学与技术及相关专业的一门重要的专业课,是一门实践性很强的技术课程。
掌握操作系统原理、熟悉操作系统的使用是各层次计算机软硬件开发人员必不可少的基本技能。
然而,困扰操作系统教学的问题是讲授理论原理比较容易,而如何指导学生进行实践则相对较难。
其结果导致学生不能深刻地理解操作系统的本质,因而也不能在实际中应用所学的操作系统理论知识及操作系统所提供的功能来解决实际问题。
一般来说,学习操作系统分为以下几个层次:1.学习并掌握操作系统的基本概念及原理,了解操作系统的实现机制。
2.掌握常用操作系统的使用、操作和维护,成为合格的系统管理员。
目前最常用的操作系统主要有UNIX、Linux、Windows等等。
3.掌握操作系统编程技术。
4.通过分析操作系统源代码,掌握修改、编写操作系统的能力。
开放源代码的操作系统Linux的出现为我们提供了机遇。
在操作系统实践教学上,人们作了长期的探索。
美国人A.S.Tanenbaum是位先驱,由他编写的教学操作系统Minix在很长一段时间里较好地解决了这一问题。
然而,随着计算机系统的体系结构的变化,元器件以及相应软件的飞速发展,早年开发出的Minix在很多方面已经不能适应今天的操作系统教学的需要了。
在当今计算机科学相对发达的国度,人们也已认识到这方面的问题,他们开发出适合他们自己教学用的操作系统—0SP、BACI、NACHOS、TOYOS等,其中OSP、BACI是基于裸机的操作实验系统,而NACHOS、TOYOS是基于模拟器的操作实验系统。
但是,一个全新的、支持基于Intel x86计算机的操作系统教学实验系统至今仍很少。
国内这方面的研究相对滞后,就已有的几本关于操作系统实验的书籍来看,一个突出的问题便是教学专用实验系统比较少。
操作系统本身的构造十分复杂,如何在有效的时间内,使学生既能了解其实现原理又能对原理部分进行有效的实践,是操作系统教学一直在探索的内容。
本实验课程以Linux 操作系统为主要平台,从基本原理出发,提供了UNIX/Linux操作系统的使用、命令解释程序、进程管理、存储管理、简单的数据库管理系统的设计、输入/输出管理等6个实验,希望通过这些实验,使学生能对操作系统的基本原理有更深入的了解,为将来从事操作系统方面的研究工作打下一定的基础。
实验一 UNIX/Linux操作系统的实际使用一.实验目的通过本实验熟悉UNIX/Linux操作系统常用命令的操作和使用。
二.实验内容1.进入和退出UNIX/Linux操作系统;2.常用命令的使用:cat,cd,chmod,cp,df,find,grep,id,ln,ls等;3.全屏幕编辑器vi的熟悉使用。
三.验证实验1.实验要求1)熟悉开机后登录进入系统和退出系统;2)常用命令的操作使用;3)全屏幕编辑器vi的熟悉使用;4)为以后的上机实验作好准备。
2.实验步骤1)进入和退出UNIX/Linux操作系统(1)开机后,执行[运行](可通过telnet)(2)进入login: usernamepassword: XXXXX...$(3)退出$logout或exit2)常用命令(1)cal[-j][-y][月][年]选项说明-j 显示西洋旧历(计算机系统日历表示)-y 显示当年日历月用1~12表示月份。
默认是本月年可以是1~9 999(4位数),默认是本年。
(2)cat[选项]文件列表用于显示文件或连接文件。
例如:①cat a.c (将文件a.c输出到屏幕上)②cat a.c b.c>c.c (将文件b.c加到a.c后并建立新文件c.c)(3)cd目录名改变当前工作目录。
(4)chmod[选项]模式文件列表改变文件模式。
例如:chmod 777 a.c (使文件a.c在各个级别拥有所有权限)注:UNIX/Linux有3个安全级:所有者级、组访问级和其他用户级。
在这3级中,各有3种权限:读、写和执行。
chmod o-wr,g-wr a.c (对组级和其他用户级不拥有写权和读权)(5)clear清除屏幕。
(6)compress[选项][文件名]项目说明-c 将压缩或解压缩的操作结果写到标准输出,不改变文件-C 防止文件细分为块,这产生一个输出文件,旧的压缩版本也可以读取-d 解压缩文件-f 若输出文件存在,则覆盖,不用提示确认。
同时,把所有文件(包括没压缩的)变为.Z文件-v 在每个文件压缩完后,打印给出输入文件被压缩百分数信息文件名要压缩的文件名称。
例如:①compress a (压缩文件a,并改名为a.Z)②compress -v/*/home/usr/usrl/ (压缩目录/home/usr/usrl中所有文件,在每个文件压缩后打印压缩信息)compress -d a.Z(将压缩文件释放回原状态)(7)cp[选项] 源文件目标文件cp[选项]源文件组目标目录拷贝文件。
例如:①cp a b (将文件a拷贝到文件名为b的文件)②cp -v bet*/dd (拷贝所有以bet为开头的文件到目录/dd)(8)date显示系统日期和时间。
(9)df报告磁盘剩余空问数(单位:块。
每块512字节)。
(10)du[选项]目录或文件名称显示指定目录或文件使用的空间总数。
例如:du –s /usr/bin (报告目录/usr/bin使用的总空间,以块-512B为单位)(11)echo[-n][-e]串本命令把传给它的参数在标准输出显示。
项目说明-n 通常,echo使所有输出都由新行开始,本选项可制止这一点-e 使串中的如下字符序列的解释成为可能:\a 警告(响铃)\b 退格\c 在行尾,不新起行\f 换页\n 换行\r 回车\t 制表符\v 垂直制表符\\反斜杠\mm 字符的八进制ASCII码是mm串希望输出的字符串例如:①echo Hello(在标准输出打印Hello)②echo -e“enter Y or N\c” (提示用户用Y或N回答而不开始新的一行)③echo -e“Can you hear this\07?”/(07代表八进制数,这里八进制数用于使终端振铃)(12)file[选项]文件列表确认文件是否是可执行文件、文本文件和数据文件等。
例如:file /home/aa/(检测文件/home/aa,并报告文件类型)(13)find目录列表匹配标准项目说明目录列表希望查询的文件或文件集的目录列表,目录间用空格分隔匹配标准希望查询的文件的匹配标准或说明- name文件告诉find要找什么文件- type x 此类型为x的文件,x代表:c(字符特殊),b(块特殊),d(目录), p(有名管道),|(符号连接),s(套接文件)或f(一般文件)- size n 匹配所有修改时间比file文件更新的文件例如:find -name“letter*” -print/(查找以letter为开头的文件,并打印)(14)grep串文件列表在文件中查找模式,当找到时报告。
例如:grep“[hH]ello”aa (在文件aa中查找hello或Hello)(15)ln源文件目标文件在两个文件间建立连接。
(16)logname报告用户登录到系统上的名字。
(17)ls[选项][文件列表]列出文件系统中的文件。
项目说明-a 显示所有文件,包括当前目录和父目录-c 按列输出,纵向排列-x 按列输出,横向排列-l 给出长表。
长表显示文件的详细内容,如文件类型、权限、连接或目录计数、所有者、组、字节大小、文件的最近修改时间和文件名。
文件类型有:- 常规文件d 目录b 块特殊设备(例如磁盘)c 字符特殊设备(例如终端)s 信号灯m 共享存储器p 有名管道权限有3个串,每串有3个字节,各串分别代表所有者、组和其他的权限,权限如下: r 读权w 写权x 执行权-t 按最后修改的时间排序,和-l标志一起使用-u 按最后访问的时间排序,和-l标志一起使用文件列表用ls要处理的文件列表例如:ls -lt/usr/spool/aa(给出长表,按最后修改的时间排序)(18)mkdir[-p目录名]目录在文件系统中建立新目录。
项目说明-p目录名建立所有不存在父目录的目录目录要建立的新目录例如:①mkdir letters(建立letters目录)②mkdir -p letters/a letters/b(建立目录letters/a和letters/b)(19)more[选项]文件名按页显示文件。
项目说明-n n是整数,用于建立大小为n行长的窗口,窗口大小是在屏幕上显示多少行-c 用more给文件翻页时通过从头清除一行,然后再在最后写下一行的办法写入。
通常,more清除屏幕,再写一行文件名希望用more显示的文件列表例如:①more letter (显示名为letter的文件)②ls -l/dev| more(按页显示/dev目录下的文件)(20)mv[-f][-I]文件1 文件2mv[-f][-I]目录1 目录2mv[-f][-I]文件列表目录给文件改名,移动文件到一个新的目录或给目录改名。
项目说明-f 使mv执行移动而不作显示-I 交互模式,在覆盖写文件前提示文件1 源文件名.文件2 目标文件名(新文件名)目录1 源目录名目录2 目标目录名(新目录名)文件列表用空格分开的文件名列表。
该选项用于保持文件名移到一个新的目录目录目标目录例如:mv letters letter (将文件letters改名为letter)(21)passwd[名字]维护用户口令。
显示或修改用户口令(只有系统管理员可以删除用户口令)。
(22)pwd显示当前工作的目录路径。
(23)rm[选项]文件列表从文件系统中删除文件及整个目录。
项目说明文件列表希望删除用空格分开的文件,可以包括目录名-r 删除文件列表中指定的目录-f 指定强行删除模式(24)rmdir -p目录表删除目录。
项目说明-p 若指定删除目录的父目录为空,则父目录也被删除目录表用空格分开的目录表,要删除的目录必须为空目录(25)vi文件名vi是全屏幕编辑器。
vi有两种工作状态:命令模式和输入模式(注意大小写!)。
a,i,o 进入输入模式<Esc> 回到执行命令状态(工作途中,可作为取消命令或进入命令状态的控制)退出vi::w 文件名(写到指定文件名的文件中。
如无文件名,将编辑缓冲区内容写到磁盘):q (或ZZ)(退出vi,不写入磁盘):wq (写文件到磁盘,然后退出):q! (退出不存盘)<u>取消上次编辑命令移动光标:k ↑向上j ↓向下h ←向左l →向右<Shift><h> 回第一行<Shift><l> 到末行<Shift><m> 到中间<Shift><g> 到文件最后<n><Shift><g> 到文件第n行<$> 到行尾<^> 到行首插人命令:a 在光标后插入i 在光标前插入o 在光标下一行插入O 在光标上一行插入删除命令:<x> 删除光标所在的字符<X> 删除光标前面的字符<d><w> 删字<d><$> 删光标处到行尾<dd> 删除一行替换命令:<r> 将光标所在的字符改为后键入的字符<R> 将原来的字符一个一个地用后键入的替换 <Shift><r> 替换字符序列<cc> 整行替换查询命令:(在冒号后)/待查字符向前查? 待查字符向前查<n> 向下继续重复找<Shift><n> 往下找拷贝、截取命令:<yy>或<Y> 拷贝当前行<yx> 拷贝当前光标位置到x位置<p> 将拷贝的文本置于光标后<Shift><p> 将拷贝的文本置于光标前|char<y><w> 拖拉<y><$> 拉至行尾<y><y> 一行拉出(26)WC[选项]文件列表计算文件中的字符、字或行的数量。