操作系统实验指导书(2014)

合集下载

操作系统实验指导

操作系统实验指导

计算机专业《操作系统》实验指导书网络和信息安全教研室计算机专业《操作系统》实验指导书实验一 Linux系统的安装一、实验目的1、深入认识磁盘分区2、掌握Linux安装的基本过程3、掌握多系统共存的系统安装方法二、实验任务在现有系统安装Redhat Linux系统,注意不要破坏现有系统。

三、实验指导参考《Linux上机实践教程》第一章内容。

实验二 Linux系统的基本使用一、实验目的1、熟悉linux系统的启动、登入和退出2、熟悉linux系统文件和目录的基本使用3、熟悉其它常用命令及虚拟终端的使用4、体会linux系统作为分时系统的特点二、实验任务启动、登入和退出linux系统练习使用文件和目录操作的基本命令使用它常用命令及虚拟终端练习使用Vi编辑器三、实验指导参考《Linux上机实践教程》第二、三章内容。

实验三 windows 2000中进程的创建和控制一、实验目的1、加深对进程概念的理解,明确进程和程序的区别2、进一步认识进程并发执行的实质3、掌握windows 2000中进程创建和控制的编程方法二、实验任务创建一个windows窗口程序,含有4个菜单项,分别用来创建和撤消记事本进程和计算器进程。

若相应进程已经创建了,再选择创建进程菜单,则弹出对话框提示进程已经创建;若进程已经撤消了,再选择撤消进程菜单,则弹出对话框提示进程已经撤消。

注意考虑从主程序外部启动和关闭进程的情况。

三、实验指导1、Win32的进程的概念进程是应用程序的运行实例,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。

一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程。

进程要完成什么事情的话必须至少拥有一个线程,由线程来负责执行包含在地址空间的代码。

2、Win32的进程的创建Windows所创建的每个进程都从调用CreateProcess() API函数开始,该函数的任务是在对象管理器子系统内初始化进程对象。

操作系统 实验指导书1

操作系统 实验指导书1

实验1-1:处理器调度一、实验内容选择一个调度算法,实现处理器调度。

二、实验目的在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。

当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。

本实验模拟在单处理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。

三、实验题目设计一个按优先数调度算法实现处理器调度的程序。

[提示]:(1) 假定系统有十个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为:其中,进程名——作为进程的标识,假设十个进程的进程名分别为P1,P2,P3,P 4,……,P10。

指针——按优先数的大小把十个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。

要求运行时间——假设进程需要运行的单位时间数。

优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。

状态——可假设有两种状态,“就绪”状态和“结束”状态。

十个进程的初始状态都为“就绪”,用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。

(2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。

(3) 为了调度方便,把十个进程按给定的优先数从大到小连成队列。

用一单元指出队首进程,用指针指出队列的连接情况。

例(以5个进程为例):队首标志K2K1K2K3K4K5PCB1 PCB2 PCB3 PCB4 PCB5(4) 处理器调度总是选队首进程运行。

采用动态改变优先数的办法,进程每运行一次优先数就减“1”。

由于本实验是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行:优先数-1要求运行时间-1来模拟进程的一次运行。

提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行结束。

在这里省去了这些工作。

(5) 进程运行一次后,若要求运行时间 0,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(E),且退出队列。

《计算机操作系统》实验指导书

《计算机操作系统》实验指导书

《计算机操作系统》实验指导书(适合于计算机科学与技术专业)湖南工业大学计算机与通信学院二O一四年十月前言计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。

实践教学环节是必不可少的一个重要环节。

计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。

要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。

要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。

同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。

为了收到良好的实验效果,编写了这本实验指导书。

在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。

任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。

进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。

实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。

实验成绩考核:实验成绩占计算机操作系统课程总评成绩的20%。

指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。

嵌入式操作系统实验指导书2014)教材

嵌入式操作系统实验指导书2014)教材

嵌入式操作系统实验指导书苗暹黄连丽目录实验一 Linux命令使用实验二 vi编辑器的使用实验三 shell编程实验(一)实验四 shell编程实验(二)实验五 Linux开发工具的使用实验六 Linux编程实验(一)实验七 Linux编程实验(二)实验八 Linux的系统及网络管理实验实验一 Linux命令使用班级:姓名:学号:上机时间:任课教师:实验教师:实验成绩:一、实验目的1.掌握Linux的一般命令格式。

2.掌握有关文件和目录操作的常用命令。

3.掌握有关进程操作的常用命令。

4.熟练使用man命令。

二、实验注意事项实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。

要求每个同学登录后系统后,要在主目录(/home/student)下创建一个属于自己的子目录(以自己(拼音)名字或学号)。

以后所有工作都要在自己的目录内进行。

建议以后的实验都在同台计算机上做,这样可以保持连续性。

三、实验内容及步骤:1.登录进入系统。

开机,选择进入,再选择登陆窗口,输入用户名:,输入密码:,进入Ubuntu图形桌面环境。

2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。

要启动一个终端,可以选择在终端提示符下输入:date↲显示:。

在终端提示符下输入:who ↲显示:。

在终端提示符下输入:who am I ↲显示:。

在终端下显示Hello! 命令:。

在终端提示符下输入:clear ↲显示:。

在终端提示符下输入:cal ↲显示:。

3.浏览文件系统:(1)运行pwd 命令,确定当前工作目录,记录之:。

(2)运行ls命令,查看当前目录下有哪些文件和子目录,简略记录。

(3)运行ls -l命令,理解文件各字段的含义,找一个文件标注。

(4)运行ls -ai命令,理解各字段的含义。

(5)使用cd /命令,将当前目录改变为根目录(/)。

运行ls -l命令,结合书中给出的Linux树状目录结构,了解各目录的作用。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书实验⼀操作系统⽤户接⼝实验⼀、实验⽬的熟悉操作系统的命令接⼝、图形⽤户接⼝和程序接⼝。

⼆、实验内容:1、使⽤操作系统的命令接⼝。

使⽤Windows常⽤命令:dir 、md、copy、date、help,显⽰这些命令的结果,并解释这些命令的作⽤。

图1-1 命令控制台图1-2 windows常⽤命令图1-3 windows常⽤命令图1-4 windows常⽤命令使⽤图1-5 windows常⽤命令使⽤2、使⽤操作系统的程序接⼝。

VB环境下:编制⼀⼩程序,使其可通过某个系统调⽤来获得os 提供的某种服务,如打开控制⾯板:Shell "rundll32.exe Shell32.dll,Control_RunDLL", 1VC环境下:⽤C语⾔编制⼀个⼩程序,使其可通过Localtime( )系统调⽤来获得OS提供的时间和⽇期。

3、使⽤操作系统的图形⽤户接⼝(略)。

三、思考:OS向⽤户提供的命令接⼝、图形⽤户接⼝和程序接⼝分别适⽤于哪些场合?实验⼆进程创建与撤消⼀、实验⽬的1、加深对进程概念的理解和进程创建与撤消算法;2、进⼀步认识并发执⾏的实质。

⼆、实验内容本实验完成如下三个层次的任务:(1)系统级—以普通⽤户⾝份认识windows的进程管理。

通过windows的“任务管理器”观察进程的状态,进⾏进程的创建、切换和撤销。

(2)语⾔级—以普通程序员⾝份认识⾼级语⾔VC++/Java/VB的进程创建与撤销⼯具。

(3)模拟级—以OS设计师⾝份编程模拟实现进程创建与撤销功能,并在屏幕上观察进程活动的结果。

三、实验步骤1、windows的进程管理当前状态图2-1 windows任务管理器切换前图2-2 windows任务管理器切换后图2-3 windows任务管理器撤销图2-4 windows任务管理器2、VC++进程创建与撤销⼯具Windows所创建的每个进程都从调⽤CreateProcess() API函数开始,该函数的任务是在对象管理器⼦系统内初始化进程对象。

《操作系统》实验2指导书

《操作系统》实验2指导书

实验二进程调度(时间轮转的进程调度算法)
一、实验目的
掌握时间片轮转的进程调度算法
二、实验主要设备及使用要求
按操作计算机的要求使用好计算机设备。

三、实验原理或算法
基于时间片的轮转调度算法
时间片轮转法。

时间片轮转法一般用于进程调度,每次调度,把CPU分配队首进程,并令其执行一个时间片。

当执行的时间片用完时,由一个记时器发出一个时钟中断请求,该进程被停止,并被送往就绪队列末尾;依次循环。

四、实验要求
1、输出时间片轮转调度执行顺序。

2、输出时间片轮转调度的进程名、结束时间、运行时间和等待时间。

3、输出时间片轮转调度的总等待时间和平均等待时间。

五、测试
调用静态进程流文件process_stream.txt,模拟时间片轮转调度算法。

测试数据:
p0 16 2
p1 5 1
p2 4 3
p3 8 0
p4 9 4
p5 7 6
1。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书实验概述本次操作系统实验是为了让学生通过实践了解操作系统的基本概念,原理和使用。

通过完成实验,学生将了解操作系统内核,进程调度,文件系统和输入输出等关键组成部分。

实验环境实验要求使用 Linux 操作系统,可以选择任意一种 Linux 发行版。

可以在物理机上安装 Linux,也可以使用虚拟机软件(如 VirtualBox)来运行 Linux 虚拟机。

实验准备在进行实验之前,需要完成以下准备工作:1.安装 Linux 操作系统(如 Ubuntu、Fedora 等)或虚拟机软件(如VirtualBox)。

2.熟悉 Linux 基本命令和操作,包括文件操作、进程管理等。

实验内容本次操作系统实验分为以下几个部分:1. 实验一:进程管理本部分实验要求学生了解进程管理的基本概念和原理,掌握进程创建、终止和状态转换等操作。

学生需要完成以下任务:•编写一个简单的 C 程序,实现进程的创建、终止和状态转换功能。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析进程的状态转换过程。

2. 实验二:进程调度本部分实验要求学生了解进程调度算法的原理和实现方法,掌握优先级调度、轮转调度和最短作业优先调度等算法。

学生需要完成以下任务:•编写一个简单的 C 程序,模拟进程调度算法的执行过程。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析不同调度算法对进程执行顺序的影响。

3. 实验三:文件系统本部分实验要求学生了解文件系统的基本概念和实现原理,掌握文件的创建、读写和删除等操作。

学生需要完成以下任务:•编写一个简单的 C 程序,实现文件的创建、读写和删除功能。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析文件系统的存储结构和操作过程。

4. 实验四:输入输出本部分实验要求学生了解操作系统的输入输出机制和设备驱动程序的原理和实现方法,掌握文件读写、设备驱动和错误处理等操作。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书一、实验说明1、实验目的实验是操作系统原理课程中不可缺少的重要教学环节,实验目的是使学生理论联系实际,使学生在实践探索中去发现问题、去解决问题,提高了学生获取知识和应用技术的能力,培养了学生分析和解决问题的能力。

《操作系统原理》要求理论与实践相结合,本门实验课程是对《操作系统原理》课堂教学的一个重要补充,与理论学习起着相辅相成的作用,是实施《操作系统原理》教学的一个重要组成部分。

通过本实验课的实践学习,可以增强本专业的学生对系统实现的认识。

对加深理解和掌握操作系统相关原理有重要帮助。

2、实验要求进一步了解和掌握操作系统原理,提高系统设计的能力。

对每一实验题目,应独立完成,并要求:·上机前,学生必须做好充分的实验准备工作,掌握与实验相关的背景知识,用任一种高级语言编写程序。

·上机时,认真调试,并观察、记录程序运行过程中出现的现象和问题。

·上机后,分析实验结果并写出实验报告。

3、实验报告要求每个实验(包括选做的)均应编写实验报告,学生实验后要写出严谨的、实事求是的、文字通顺的、字迹公整的实验报告。

实验报告应包括以下内容:(1)实验题目(2)实验目的(3)实验内容●程序中使用的数据结构及符号说明●流程图●源程序清单并附上注释(4)实验结果及分析●运行结果(必须是上面程序清单所对应输出的结果)●对运行情况所作的分析以及本次调试程序所取得的经验。

如果程序未能通过,应分析其原因。

二、实验内容实验一熟悉使用计算机系统一、实验名称:熟悉使用计算机系统二、实验目的与要求通过对Windows操作系统的使用,熟悉Windows操作系统中的基本概念,如单用户、多任务、进程和文件等,熟悉Windows中命令行方式下常用命令的使用方法;进一步熟悉TC语言与开发环境,为以后的实验打好基础。

三、实验内容1.开机后,熟悉Windows的界面(桌面、任务栏、开始按钮<点击后出现“开始”菜单>、我的电脑图标、回收站、我的文档)。

操作系统实验-2014(DOC)

操作系统实验-2014(DOC)

许昌学院《操作系统》实验报告手册学号: 1101120207姓名:孙萍班级:计科2班成绩:2014年02月实验一 Linux操作系统的安装与配置实验时间:实验地点:计科楼107 成绩:【实验目的】1.了解Linux操作系统的发展历史,熟悉Linux发行版和Linux内核的区别。

2.了解Linux操作系统安装的软硬件条件,熟悉Linux系统的安装方法,特别是如何在虚拟机上安装、配置该操作系统。

3.了解在多操作系统环境下如何本地安装(光盘安装)Linux系统。

4.了解Linux操作系统的文件系统结构及其特点,熟悉Linux系统的登入和登出过程【实验内容】1、安装并配置vmware虚拟机,设置运行环境,特别要启动NAT和USB支持。

2、在vmware上安装Red Hat Linux 9.0,指定最大空间为20G以上(具体视硬盘剩余空间而定)。

当对虚拟磁盘空间分区时,需至少指定10G给“/”(主目录),分区格式为ext3,还需指定与内存容量相同的swap(交换)区。

3、安装完Red Hat Linux 9.0系统后,需配置硬件(如网卡、显卡等)和软件(如编程开发软件等)。

4、启动Linux系统和退出Linux系统【实验步骤和结果】1、启动VMware,建立Linux虚拟机,完成后的结果如下图所示。

2、在vmware上安装Red Hat Linux 9.0【实验总结和体会】通过安装虚拟机等操作让我认识到Linux这系统一些基本特点,有别于我们机器上使用的系统,发现原来通过虚拟机这个软件还可以在已有系统的基础上使用其他操作系统。

这有利于我们学习。

实验二 Linux操作系统的运行模式实验时间:实验地点:计科楼107 成绩:【实验目的】1.熟悉Linux系统终端工作环境的使用,了解Linux命令的格式,学会利用常用的Linux命令来完成系统的管理和维护。

2.了解X-Windows的特点,熟悉Linux图形用户接口的使用,掌握GNOME桌面环境的基本操作。

操作系统实验指导书

操作系统实验指导书

《计算机操作系统》实验指导书实验报告内容规范实验报告内容要求如下:课程名称、实验日期、实验名称、实验类型、班级、姓名(学号)、指导教师一、实验目的及要求本次实验所涉及并要求掌握的知识点。

二、实验环境本次实验所使用的设备和软件。

三、实验内容本次实验的具体内容。

四、实验步骤按照实验过程列出实验步骤(涉及编程的,须首先进行算法设计,画出流程图)。

五、调试过程详细记录实验过程中出现的问题及解决方法。

六、实验结果及分析记录实验结果并进行分析。

七、总结心得体会及改进意见。

八、附录(图)目录实验一进程调度设计 (1)实验二页面调度算法 (4)实验三文件管理 (10)实验四命令解释程序 (13)实验一进程调度设计1. 目的和要求进程调度是处理机管理的核心内容。

本实验要求用C语言编写和调试一个简单的进程调度程序。

通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解FIFO 调度算法的具体实现方法。

2. 实验内容①设计进程控制块PCB表结构。

②编制FIFO进程调度算法.3. 实验环境PC兼容机/Windows、DOS系统/Turbo C 2.04. 参考程序#include "stdio.h"#define max 100#define pfree 0 /*process end*/#define running 1 /*process running status*/#define aready 2 /*process aready status */#define blocking 3 /*process aready blocking status*/typedef struct node{char name;int status;int precendence;int ax,bx,cx,dx;int pc;int psw;struct node *next; /*pcb define*/}pcb;pcb *createprocess(pcb *head){pcb *p,*q;int a,b,c,d,m,n;char ID;int s;q=NULL;printf("\ninput the first seven status pcb:");scanf("\n%c",&ID);scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&m,&n);while(ID!='*'){p=(pcb*)malloc(sizeof(pcb));p->name=ID;p->ax=a;p->bx=b;p->cx=c;p->dx=d;p->pc=m;p->psw=n;p->precendence=pfree;p->status=aready;if(head==NULL)head=p;elseq->next=p;q=p;printf("\ninput the next pcb: ");scanf("\n%c",&ID);scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&m,&n);}if(q!=NULL)q->next=NULL;q=head;while(q){printf("\n peocess name. status.ax. bx. cx. dx. pc. psw.\n ");printf("%10c%5d%8d%5d%5d%5d%5d%5d%5d",q->name,q->status,q->precendence,q->ax,q->bx,q->cx,q->dx,q->pc,q->psw);q=q->next;}return head;/*createprocess end*/}void processfifo(pcb *head) /*use fifo */{pcb *p;p=head;printf("\n the process use fifo method.\n");printf("running the frist process:\n");while(p!=NULL){p->status=running;printf("\nprocess name status. ax. bx. cx. dx. pc. psw.");printf("\n%10c%5d%8d%5d%5d%5d%5d%5d",p->name,p->status,p->ax,p->bx,p->cx,p->dx, p->pc,p->psw); /*check process running status */p->status=0;p=p->next;}printf("\ncheck weatherfer the process complete: ");p=head;while(p){printf("\n%3c%3d",p->name,p->status);p=p->next;}printf("\ngame is over!\n");}main(){pcb *head;head=NULL;head=createprocess(head);processfifo(head);}实验二页面调度算法1. 目的和要求通过本实验可以加深理解有关虚拟存储器的工作原理,进一步体会和了解页面替换算法的具体实现方法。

《操作系统》实验指导书

《操作系统》实验指导书

操作系统实验指导书专业:计算机科学与技术;软件工程课程名称:操作系统课程类别:专业必修课计算机与通信工程学院2009目录第1篇Linux操作系统使用 (1)实验1Linux系统的安装及基本操作 (1)实验2Linux 的常用命令与基本管理 (38)第2篇操作系统算法模拟 (53)实验1 银行家算法 (53)实验2 进程调度 (55)实验3 动态分区分配 (56)实验4 页式存储管理 (57)实验5 虚拟存储管理器的页面调度 (59)实验6 文件管理 (62)实验7 磁盘存储空间的分配与回收 (64)实验8 磁盘调度 (66)附录 (67)实验1报告写法 (67)实验2报告的写法 (67)算法模拟部分 (68)第1篇Linux操作系统使用实验1Linux系统的安装及基本操作一、实验目的1.掌握Red Hat Enterprise Linux 5的安装方法。

2.了解Linux操作系统的启动与登录方法。

3.掌握Red Hat Linux图形用户界面下的基本操作。

二、实验工具与设备1.实验工具:Red Hat Enterprise Linux 5光盘或镜像文件。

2.实验设备:计算机(带CD-ROM)一台。

三、实验预备知识虚拟机简介虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,而不用担心对自己的电脑造成损失。

虚拟机中有自己的CPU、主板、内存、BIOS、显卡、硬盘、光驱、软驱、网卡、声卡、串口、并口和US B等设备。

Vmware介绍Vmware是一个“虚拟PC”软件。

它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。

与“多启动”系统相比,VMWare采用了完全不同的概念。

多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。

VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Wi ndows应用程序那样切换。

操作系统实验-实验指导书

操作系统实验-实验指导书

3《操作系统》实验指导书实验学时:16适用专业:计算机科学与技术,软件技术操作系统上机实验一、实验目的主要目的是配合操作系统课程的学习,模拟实现操作系统的功能,有助于对操作系统的理解,同时加强学生对系统设计、程序编写、代码调试、软件开发过程基本技能的掌握。

上机作业应作到:覆盖讲授的所有原理内容,使得学生通过上机实践对原理有更深的理解;每一道上机作业,都要求学生必须完成一个完整的、可运行的小型软件,籍此提升基本的软件开发技能。

二、实验要求(1)上机实验之前,学生应当为每次上机的内容作好充分准备。

对每次上机需要完成的题目进行认真的分析,选择合适的算法,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。

(2)按照实验目的和实验内容以及思考题的要求进行上机操作。

录入程序,编译调试,反复修改,直到使用要求的算法,使程序正常运行,得出正确的输出结果为止。

(3)上机作业要求提交原始代码、设计文档和可运行程序。

以完整的作业包的形式提交。

实验报告应当包括:实验题目,程序清单,运行结果,所选取的算法及其优缺点以及通过上机取得了哪些经验。

程序清单要求格式规范,注意加注释(包含关键字、方法、变量等),在每个模块前加注释,注释不得少于20%三、实验内容上机实验包括:操作系统使用、SHELL编程、进程管理、进程调度、死锁处理、存储管理、文件系统几个部分。

实验1: SHELL编程实验目的熟悉linux常用命令,为以后的实验打下良好基础;熟悉vi编辑器的使用;了解Shell程序的语法规则,能编写简单的Shell程序。

实验内容1、使用常用的Linux命令,主要包括如下命令:date, mail, write, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who等;2、使用vi编辑器编辑文件,熟悉vi编辑器的各种操作模式和常用命令。

《操作系统》实验指导手册

《操作系统》实验指导手册

《操作系统》实验指导书计算机科学教研室2009.9目录实验一熟悉Windows2000/XP中的进程和线程实验二编程实现进程的控制实验三Windows中的线程与线程同步现象实验四操作系统中的经典线程同步问题实验五死锁避免—银行家算法的实现实验六Windows内存管理实验七分页内存管理算法模拟实验八页面置换算法的模拟实现实验九磁盘调度中的电梯调度算法实现实验十Windows中的消息机制实验一熟悉Windows2000/XP中的进程和线程一、实验目的1、熟悉Windows2000/XP中任务管理器的使用。

2、通过任务管理器识别操作系统中的进程和线程的相关信息。

3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。

二、实验理论基础及教材对应关系1、实验理论基础:(1)操作系统中的进程和线程的概念;(2)进程PCB的各项指标含意;2、本实验内容主要对应于教材第2章。

三、实验内容与步骤1、启动操作系统自带的任务管理器:方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。

如下图所示:2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并完成下表(填满即可):表一:统计进程的各项主要信息3、从桌面启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。

再从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是,原因是。

4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所有窗口最小化,看看你的计算机系统起来什么样的变化、得到的结论是(说出explorer.exe进程的作用)。

5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进程“explorer.exe”的各项信息,并填写下表:表二:统计线程的各项信息进程:explorer.exe 中的各个线程6、注意某些线程前有“+”,如图所示:,说明二者之间的差异是。

《操作系统》实验指导书

《操作系统》实验指导书

《操作系统》实验指导书目录实验一进程调度模拟算法 (1)实验二预测分析法 (3)附录1:实验报告模版 (4)附录2:实验教学大纲 (5)实验一进程调度模拟算法课时:4实验环境:C/C++一、目的和要求进程调度是处理机管理的核心内容。

本实验要求用高级语言编写模拟进程调度程序,以便加深理解有关进程控制快、进程队列等概念,并体会和了解优先数算法和时间片轮转算法的具体实施办法。

二、实验内容1.设计进程控制块PCB的结构,通常应包括如下信息:进程名、进程优先数(或轮转时间片数)、进程已占用的CPU时间、进程到完成还需要的时间、进程的状态、当前队列指针等。

2.编写两种调度算法程序:优先数调度算法程序循环轮转调度算法程序3.按要求输出结果。

三、提示和说明分别用两种调度算法对伍个进程进行调度。

每个进程可有三种状态;执行状态(RUN)、就绪状态(READY,包括等待状态)和完成状态(FINISH),并假定初始状态为就绪状态。

(一)进程控制块结构如下:NAME——进程标示符PRIO/ROUND——进程优先数/进程每次轮转的时间片数(设为常数2)CPUTIME——进程累计占用CPU的时间片数NEEDTIME——进程到完成还需要的时间片数STATE——进程状态NEXT——链指针注:1.为了便于处理,程序中进程的的运行时间以时间片为单位进行计算;2.各进程的优先数或轮转时间片数,以及进程运行时间片数的初值,均由用户在程序运行时给定。

(二)进程的就绪态和等待态均为链表结构,共有四个指针如下:RUN——当前运行进程指针READY——就需队列头指针TAIL——就需队列尾指针FINISH——完成队列头指针(三)程序说明1. 在优先数算法中,进程优先数的初值设为:50-NEEDTIME每执行一次,优先数减1,CPU时间片数加1,进程还需要的时间片数减1。

在轮转法中,采用固定时间片单位(两个时间片为一个单位),进程每轮转一次,CPU 时间片数加2,进程还需要的时间片数减2,并退出CPU,排到就绪队列尾,等待下一次调度。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书前言操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课。

本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。

操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。

作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。

操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:理解操作系统的设计和实现思路,掌握典型算法。

学生应具有高级语言编程能力、具有数据结构等基础知识。

实验要求为了顺利完成操作系统课程实验,学生应做到:(1)实验前,认真学习教材以及实验指导书的相关内容,提前做好实验准备。

(2)实验结束一周后提交实验报告。

实验报告内容应包括:实验目的、实验内容、设计思路和流程框图,源程序(含注释)清单、测试结果以及实验总结。

(3)遵守机房纪律,服从辅导教师指挥,爱护实验设备。

实验的验收将分为两个部分。

第一部分是上机操作,随机抽查程序运行和即时提问;第二部分是提交书面的实验报告。

此外杜绝抄袭现象,一经发现雷同,双方成绩均以0分计算。

目录第1章Windows的进程管理 (5)1.1 实验一:Windows基本进程的管理与控制 (5)1.2 实验二:线程的创建与撤销 (8)1.3 实验三:进程的同步与互斥 ........................................................ 错误!未定义书签。

1.4 实验四:进程调度 ........................................................................ 错误!未定义书签。

1.5 实验五:死锁的检测与避免 ........................................................ 错误!未定义书签。

操作系统实验指导书教案

操作系统实验指导书教案

操作系统实验指导书教案第一章:操作系统概述1.1 实验目的了解操作系统的概念、功能和作用。

熟悉操作系统的发展历程和主要特点。

1.2 实验内容介绍操作系统的定义和基本功能。

分析操作系统的核心组件和架构。

探讨操作系统的主要特点和应用场景。

1.3 实验步骤讲解操作系统的定义和基本功能。

分析操作系统的核心组件和架构。

讨论操作系统的主要特点和应用场景。

1.4 实验总结总结操作系统的核心概念和主要特点。

强调操作系统在计算机系统中的重要性。

第二章:处理器管理2.1 实验目的了解处理器管理的基本原理和作用。

熟悉进程调度和上下文切换。

2.2 实验内容介绍处理器管理的基本原理和关键技术。

分析进程调度算法和上下文切换的过程。

2.3 实验步骤讲解处理器管理的基本原理和关键技术。

分析进程调度算法和上下文切换的过程。

2.4 实验总结总结处理器管理的核心概念和关键技术。

强调处理器管理在操作系统中的重要性。

第三章:内存管理3.1 实验目的了解内存管理的基本原理和作用。

熟悉虚拟内存和分页/分段机制。

3.2 实验内容介绍内存管理的基本原理和关键技术。

分析虚拟内存的实现和分页/分段机制。

3.3 实验步骤讲解内存管理的基本原理和关键技术。

分析虚拟内存的实现和分页/分段机制。

3.4 实验总结总结内存管理的核心概念和关键技术。

强调内存管理在操作系统中的重要性。

第四章:文件系统4.1 实验目的了解文件系统的基本原理和作用。

熟悉文件存储和访问控制。

4.2 实验内容介绍文件系统的基本原理和关键技术。

分析文件存储结构和访问控制机制。

4.3 实验步骤讲解文件系统的基本原理和关键技术。

分析文件存储结构和访问控制机制。

4.4 实验总结总结文件系统的核心概念和关键技术。

强调文件系统在操作系统中的重要性。

第五章:设备管理5.1 实验目的了解设备管理的基本原理和作用。

熟悉输入/输出设备和驱动程序。

5.2 实验内容介绍设备管理的基本原理和关键技术。

分析输入/输出设备和驱动程序的交互过程。

操作系统实验指导书

操作系统实验指导书

《操作系统》课程实验指导书信电工程学院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);}}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统实验指导书目录实验项目页号实验一UNIX/LINUX及其使用环境2实验二进程管理实验15实验三进程间通信实验25实验四内存管理实验144实验五内存管理实验253实验六文件管理实验54实验七银行家算法55实验八磁盘管理实验63实验一UNIX/LINUX及其使用环境(课后自学完成)(一)UNIX常用命令简介实验目的1、了解UNIX的命令及使用格式。

2、熟悉UNIX/LINUX的常用基本命令。

实验内容1、通过WINDOWS操作系统中的远程登录程序telnet.exe 登录UNIX。

2、熟悉UNIX/LINUX的常用基本命令如ls、who、w、pwd、ps、pstree、top等。

3、通过WINDOWS操作系统中的FTP程序,练习WINDOWS和UNIX之间的文件交换。

实验准备预习附录一《UNIX/LINUX简介》实验指导一、UNIX的登录与退出1、登录在DOS环境下用MS提供的telnet程序(也可使用WINDOWS 自带的telnet图形界面程序或多功能的S-Term终端程序),可使PC作为终端(terminal)登录(login)UNIX服务器(UNIX Server)。

(1)执行格式:telnet hostname(主机名)或telnet 主机的IP地址例:telnet telnet 140.122.77.120(2)步骤login:(输入username)password:(输入密码)2、退出在UNIX系统提示符$下,输入logout、exit或shutdown 。

例:$ logout二、UNIX命令格式命令[选项] [处理对象]例:ls -la mydir注意:(1)命令一般是小写字串。

注意大小写有别(2)选项通常以减号(-)再加上一个或数个字符表示,用来选择一个命令的不同操作(3)同一行可有数个命令,命令间应以分号隔开(4)命令后加上&可使该命令后台(background)执行三、常用命令1、目录操作和DOS相似,UNIX采用树型目录管理结构,由根目录(/)开始一层层将子目录建下去,各子目录以/ 隔开。

用户login后,工作目录的位置称为home directory,由系统管理员设定。

‗~‘符号代表自己的home directory,例如~/myfile 是指自己home目录下myfile这个文件。

UNIX的通配符有三种:‘*‘ 和‘?‘ 用法与DOS相同,‗-‗代表区间内的任一字符,如test[0-5]即代表test0,test1,……,test5的集合。

(1)显示目录文件ls执行格式:ls [-atFlgR] [name] (name可为文件或目录名称)例:ls 显示出当前目录下的文件ls -a 显示出包含隐藏文件的所有文件ls -t 按照文件最后修改时间显示文件ls -F 显示出当前目录下的文件及其类型ls -l 显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称ls -lg 同上ls -R 显示出该目录及其子目录下的文件注:ls与其它命令搭配使用可以生出很多技巧(最简单的如"ls -l | more"),更多用法请输入ls --help查看,其它命令的更多用法请输入命令名 --help 查看.(2)建新目录mkdir执行格式:mkdir directory-name例:mkdir dir1(新建一名为dir1的目录)(3)删除目录rmdir执行格式:rmdir directory-name 或rm directory-name例:rmdir dir1 删除目录dir1,但它必须是空目录,否则无法删除rm -r dir1 删除目录dir1及其下所有文件及子目录rm -rf dir1 不管是否空目录,统统删除,而且不给出提示,使用时要小心(4)改变工作目录位置cd执行格式:cd [name]例:cd 改变目录位置至用户login时的working directorycd dir1 改变目录位置,至dir1目录cd ~user 改变目录位置,至用户的working directorycd .. 改变目录位置,至当前目录的上层目录cd ../user 改变目录位置,至上一级目录下的user目录cd /dir-name1/dir-name2 改变目录位置,至绝对路径(Fullpath)cd - 回到进入当前目录前的上一个目录(5)显示当前所在目录pwd执行格式:pwd(6)查看目录大小du执行格式:du [-s] directory例:du dir1 显示目录dir1及其子目录容量(以kb为单位)du -s dir1 显示目录dir1的总容量(7)显示环境变量echo $HOME 显示家目录echo $PATH 显示可执行文件搜索路径env 显示所有环境变量(可能很多,最好用"env | more","env | grep PATH"等)(8)修改环境变量,在bash下用export,如:export PATH=$PATH:/usr/local/bin想知道export的具体用法,可以用shell的help命令:help export2、文件操作(1)查看文件(可以是二进制的)内容cat执行格式:cat filename或more filename 或cat filename|more例:cat file1 以连续显示方式,查看文件file1的内容more file1或cat file1|more 以分页方式查看文件的内容(2)删除文件rm执行格式:rm filename例:rm file?rm f*(3)复制文件cp执行格式:cp [-r] source destination例:cp file1 file2 将file1复制成file2cp file1 dir1 将file1复制到目录dir1cp /tmp/file1 将file1复制到当前目录cp /tmp/file1 file2 将file1 复制到当前目录名为file2cp –r dir1 dir2 (recursive copy)复制整个目录。

(4)移动或更改文件、目录名称mv执行格式:mv source destination例:mv file1 file2 将文件file1,更名为file2mv file1 dir1 将文件file1,移到目录dir1下mv dir1 dir2(5)比较文件(可以是二进制的)或目录的内容diff执行格式:diff [-r] name1 name2 (name1、name2同为文件或目录)例:diff file1 file2 比较file1与file2的不同处diff -r dir1 dir2 比较dir1与dir2的不同处(6)文件中字符串的查找grep执行格式:grep string file例:grep abc file1 查找并列出串abc所在的整行文字(7)文件或命令的路径寻找执行格式一:whereis command 显示命令的路径执行格式二:which command 显示路径及使用者所定义的别名执行格式三:whatis command 显示命令的功能摘要执行格式四:find search -path -name filename -print搜寻指定路径下某文件的路径执行格式五:locate filename根据系统预先生成的文件/目录数据库(/var/lib/slocate/slocate.db)查找匹配的文件/目录,查找速度很快,如果有刚进行的文件改变而系统未到执行定时更新数据库的时间,可以打入updatedb命令手动更新.(8)建立文件或目录的链接 ln例: ln source target1 建立source文件(已存在)的硬链接,命名为target1ln -s source target2 建立source文件的符号链接,命名为target23、系统询问与权限口令(1)查看系统中的使用者执行格式:who(2)查看username执行格式:who am I 查看自己的username(3)改变自己的username的帐号与口令su执行格式:su username例:su username 输入帐号password 输入密码(4)文件属性的设置chmod改变文件或目录的读、写、执行的允许权执行格式:chmod [-R] mode name其中:[-R]为递归处理,将指定目录下所有文件及子目录一并处理mode为3-8位数字,是文件/目录读、写、执行允许权的缩写(r:read,数字代号为"4" w:write,数字代号为"2" x:execute,数字代号为"1")mode:rwx rwx rwxuser group other缩写:(u) (g) (o)例:chmod 755 dir1 将目录dir1设定成任何人皆有读取及执行的权利,但只有拥有者可作写修改。

其中7=4+2+1,5=4+1chmod 700 file1 将file1设为拥有者可以读、写和执行chmod o+x file2 将file2,增加拥有者可执行的权利chmod g+x file3 将file3,增加组使用者可执行的权利chmod o-r file4 将file4,除去其它使用者可读取的权利(5)改变文件或目录所有权chown执行格式:chown [-R] username name例:chown user file1 将文件file1改为user所有chown .fox file1 将文件file1改为fox组所有chown user.fox file1 将文件file1改为fox组的user所有chown -R user dir1 将目录dir1及其下所有文件和子目录,改为user 所有(6)检查用户所在组名称groups执行格式:groups(7)改变文件或目录的组拥有权chgrp执行格式:chgrp [-R] groupname name例:chgrp vlsi file1 将文件file1改为vlsi组所有chgrp -R image dir1 将目录dir1及其下所有文件和子目录,改为image群组(8)改变文件或目录的最后修改时间touch执行格式:touch name4、进程操作(1)查看系统目前的进程ps执行格式:ps [-aux]例:ps 或ps -x 查看系统中属于自己的processps -au 查看系统中所有使用者的processps -aux 查看系统中包含系统内部及所有使用者的processps -aux|grep apache 找出系统中运行的所有名称中带有"apache"串的process(2)查看正在background中执行的process执行格式:jobs(3)结束或终止进程kill执行格式:kill [-9] PID (PID为利用ps命令所查出的process ID)例:kill 456或kill -9 456 终止process ID 为456的process (4)后台(background)执行process command的命令执行格式:command & (在命令后加上&)例:gcc file1 & 在后台编译file1.c注意:按下^Z,暂停正在执行的process。

相关文档
最新文档