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

《操作系统》课程实验指导书一.实验总学时(课外学时/课内学时):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,具有很大的难度,教师可以根据学生的实际情况调整实验内容。
这里要求每个同学上实验课前必须做好充分的准备,如问题的分析、数据类型和系统的设计以及程序的编写、初步的调试等等,上机实验课主要是教师和同学们一起讨论和交流,共同解决系统设计和调试中的问题。
《计算机操作系统》实验指导书

《计算机操作系统》实验指导书(适合于计算机科学与技术专业)湖南工业大学计算机与通信学院二O一四年十月前言计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。
要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。
同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。
为了收到良好的实验效果,编写了这本实验指导书。
在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。
任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。
进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。
实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。
实验成绩考核:实验成绩占计算机操作系统课程总评成绩的20%。
指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。
操作系统实验

操作系统实验操作系统实验是计算机科学与技术领域非常重要的一门实验课程。
通过操作系统实验,学生可以深入了解操作系统的基本原理和实践技巧,掌握操作系统的设计和开发方法。
本文将介绍操作系统实验的一般内容和实验室环境要求,并详细说明一些常见的操作系统实验内容。
一、实验内容1. 实验环境搭建:操作系统实验通常在实验室中进行。
为了完成实验,学生需要搭建一个操作系统实验环境。
实验环境通常由一个或多个计算机节点组成,每个计算机节点需要安装操作系统实验所需要的软件和驱动程序。
2. 操作系统整体结构分析:学生首先需要通过文献研究和课堂学习,了解操作系统的整体结构和基本原理。
在实验中,学生需要分析和理解操作系统的各个模块之间的功能和相互关系。
3. 进程管理实验:进程是操作系统中最基本的运行单位。
在这个实验中,学生可以通过编写程序并使用系统调用来实现进程的创建、销毁和调度。
学生需要熟悉进程状态转换和调度算法,理解进程间通信和同步机制。
4. 内存管理实验:内存管理是操作系统中非常重要的一个模块。
学生需要实现虚拟内存管理、页面置换算法以及内存分配和回收策略。
通过这个实验,学生可以深入了解虚拟内存管理的原理和实际应用。
5. 文件系统实验:文件系统是操作系统中负责管理文件和目录的模块。
在这个实验中,学生需要实现基本的文件系统功能,如文件的创建、读取和修改。
学生还可以实现进程间的文件共享和保护机制。
6. 设备管理实验:设备管理是操作系统中与硬件设备交互的一个重要模块。
在这个实验中,学生需要实现设备的初始化、打开和关闭功能。
学生还可以实现设备驱动程序,完成对硬件设备的控制。
二、实验室环境要求1. 计算机硬件:实验室需要配备一定数量的计算机节点。
每个计算机节点需要具备足够的计算能力和内存容量,以满足操作系统实验的要求。
2. 操作系统软件:实验室中的计算机节点需要安装操作系统软件,通常使用Linux或者Windows操作系统。
此外,还需要安装相关的开发工具和编程语言环境。
计算机操作系统实验指导计算机系统调用

使用内核编译法添加系统调用
为了验证系统调用是否成功,编写验证代码如下。 #include <stdio.h> #include <linux/kernel.h> #include <sys/syscall.h> #include <unistd.h> int main() { long int a = syscall(三三三); printf("System call sys_helloworld reutrn %ld\n", a); return 0; }
如图地执行结果,我们得到sys_call_table地址:ffffffffabe00一a0 三. 编写Makefile文件,可参考实验指导书地内容。 四. 编译并装入模块 # sudo make //编译 # sudo insmod hello.ko //装入模块 # lsmod //该命令查看所有模块,用以检查hello是否被装入系统 # sudo rmmod hello.ko //卸载模块
三三三 六四 helloworld
sys_helloworld
使用内核编译法添加系统调用
六. 配置内核 # cd /usr/src/linux-四.一六.一0 # sudo make mrproper # sudo make clean # sudo make menuconfig 七. 编译与安装内核(与第七章类似) # sudo make -j八 # sudo make modules -j八 # sudo make modules_install # sudo make install 八. 重启系统 # uname -r 查看此时地内核版本
编译验证代码: # gcc hello.c
黄河科技学院操作系统实验指导书

计算机操作系统实验指导书学院:信息工程学院适用专业:计算机各专业制定人:杨志武教研室:软件工程教研室信息工程学院2009 年9 月前言操作系统是计算机的核心和灵魂。
操作系统软件的设计对整个计算机的功能和性能起着至关重要的作用,所以此门课也是必不可少的,是面向计算机科学与技术、网络工程、软件工程等大多数计算机专业本科生和研究生开设的一门计算机专业课程。
操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课。
本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。
操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。
作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。
操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:理解操作系统的设计和实现思路,掌握典型算法。
基本要求是:理解进程的概念,理解死锁,掌握银行家算法;掌握请求页式存储管理的实现原理及页面置换算法。
学生应具有高级语言编程能力、具有数据结构等基础知识。
实验要求为了顺利完成操作系统课程实验,学生应做到:(1)实验前,认真学习教材以及实验指导书的相关内容,提前做好实验准备。
(2)实验结束一周后提交实验报告。
实验报告内容应包括:实验目的、实验内容、设计思路和流程框图,源程序(含注释)清单、测试结果以及实验总结。
(3)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(4)实验的验收将分为两个部分:第一部分是上机操作,随机抽查程序运行和即时提问;第二部分是提交书面的实验报告。
此外杜绝抄袭现象,一经发现雷同,双方成绩均以0分计算。
目录前言 (I)实验要求 (II)目录...................................................................................................................... I II 实验一 LINUX及其使用环境(一) (1)实验一 LINUX及其使用环境(二) (5)实验一 LINUX及其使用环境(三) (8)实验一 LINUX及其使用环境(四) (13)实验二LINUX环境的文本编辑 (17)实验三 Linux系统的shell编程 (22)实验四LINUX环境下C语言的编译及调试 (24)实验五 LINUX环境下进程管理 (27)实验六Linux存储管理 (32)实验七 LINUX中的设备加载与卸载 (35)实验八(LINUX环境下)OS经典算法模拟(一) (36)实验九使用Windows 2000/xp注册表屏蔽桌面上的“回收站” (41)实验十 Linux 文件管理 (42)实验十一(LINUX环境下)OS经典算法模拟(二) (45)实验一 LINUX及其使用环境(一)LINUX常用命令简介——目录操作、系统询问与权限口令实验目的1.了解Linux的命令及使用格式。
操作系统实验指导书

操作系统实验指导书一、实验说明1、实验目的实验是操作系统原理课程中不可缺少的重要教学环节,实验目的是使学生理论联系实际,使学生在实践探索中去发现问题、去解决问题,提高了学生获取知识和应用技术的能力,培养了学生分析和解决问题的能力。
《操作系统原理》要求理论与实践相结合,本门实验课程是对《操作系统原理》课堂教学的一个重要补充,与理论学习起着相辅相成的作用,是实施《操作系统原理》教学的一个重要组成部分。
通过本实验课的实践学习,可以增强本专业的学生对系统实现的认识。
对加深理解和掌握操作系统相关原理有重要帮助。
2、实验要求进一步了解和掌握操作系统原理,提高系统设计的能力。
对每一实验题目,应独立完成,并要求:·上机前,学生必须做好充分的实验准备工作,掌握与实验相关的背景知识,用任一种高级语言编写程序。
·上机时,认真调试,并观察、记录程序运行过程中出现的现象和问题。
·上机后,分析实验结果并写出实验报告。
3、实验报告要求每个实验(包括选做的)均应编写实验报告,学生实验后要写出严谨的、实事求是的、文字通顺的、字迹公整的实验报告。
实验报告应包括以下内容:(1)实验题目(2)实验目的(3)实验内容●程序中使用的数据结构及符号说明●流程图●源程序清单并附上注释(4)实验结果及分析●运行结果(必须是上面程序清单所对应输出的结果)●对运行情况所作的分析以及本次调试程序所取得的经验。
如果程序未能通过,应分析其原因。
二、实验内容实验一熟悉使用计算机系统一、实验名称:熟悉使用计算机系统二、实验目的与要求通过对Windows操作系统的使用,熟悉Windows操作系统中的基本概念,如单用户、多任务、进程和文件等,熟悉Windows中命令行方式下常用命令的使用方法;进一步熟悉TC语言与开发环境,为以后的实验打好基础。
三、实验内容1.开机后,熟悉Windows的界面(桌面、任务栏、开始按钮<点击后出现“开始”菜单>、我的电脑图标、回收站、我的文档)。
操作系统实验指导书及代码

操作系统实验指导书及代码《操作系统》实验指导书目录实验环境 ................................................. 1 实验报告要求 ............................................. 1 实验一进程控制与处理机调度综合实验 ..................... 2 实验二存储管理与页面置换算法 (7)实验环境本课程实验硬件环境为PⅢ以上的处理器,带有显示器。
操作系统使用windows98以上操作系统,基本编程环境为Turbo C。
实验报告要求实验报告应包含以下内容:(1)实验题目(2)实验目的(3)实验环境(4)算法描述(5)程序源代码(6)出现的问题(7)对问题的解决方案(8)实验结果与结果分析(9)实验思考(学生对本次实验的收获的总结)实验一进程控制与处理机调度综合实验一、实验目的通过模拟进程控制方法及单处理机系统的进程调度,了解进程的结构,进程的创建与撤消,进程的组织及进程的状态及其转换,掌握进程调度策略。
二、实验学时4学时三、实验内容本实验为单机模拟进程调度算法,在程序设计时不需真正地建立线程或者进程。
实验模拟创建若干进程(人为输入或随机数产生),选择一种或几种单处理机的进程调度算法,如FCFS(先来先服务),SPF(短进程优先),RR(时间片轮转法),优先级算法等,模拟进行进程调度。
每进行一次调度,都打印一次运行进程、就绪队列、以及各个进程的PCB,并能在进程完成后及时撤消该进程。
四、算法描述1 进程及进程的运行状态进程是现代计算机中的基本要素,是系统分配资源和调度的基本单位。
进程与程序不同,进程是系统中动态的实体,有它的创建、运行和撤销的过程。
PCB块是系统感知进程存在的唯一实体。
进程的创建必须首先创建进程的PCB块,而进程的运行也伴随着PCB块的变化,进城撤销也要同时撤销它的PCB块。
所以本实验的任务就是通过模拟调度进程的PCB块来调度进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机操作系统》实验指导书(适合于计算机科学与技术专业)湖南工业大学计算机与通信学院二O一四年十月前言计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。
要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。
同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。
为了收到良好的实验效果,编写了这本实验指导书。
在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。
任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。
进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。
实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。
实验成绩考核:实验成绩占计算机操作系统课程总评成绩的20%。
指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。
有以下情形之一者,实验成绩为不及格:1.迟到、早退、无故缺勤总共3次及以上者;2.未按时完成实验达3次及以上者;3.缺交实验报告2次及以上者。
目录第一部分实验环境及所用系统函数介绍 (1)1.1 Linux操作系统简介 (1)1.2 Linux的使用 (1)1.2.1 vi的使用 (1)1.2.2 gcc的使用 (2)1.2.3主要系统调用函数 (2)第二部分实验内容 (5)实验一熟悉LINUX基本命令及编程环境 (5)实验二进程管理 (8)实验三进程调度 (12)实验四进程间通信 (17)实验五存储管理实验 (20)第一部分实验环境及所用系统函数介绍DOS操作系统是单道操作系统,无法进行多道程序设计,Windows环境下的Visual C++虽然也可用于多道程序设计,但是并不是完全的多道,因为它也可用于DOS编程。
所以我们的实验选用Linux操作系统。
Linux操作系统是一个类UINX操作系统,是一个纯多道并发的网络操作系统。
1.1 Linux操作系统简介Linux是一个多用户操作系统,是UNIX的一个克隆版本(界面相同但内部实现不同),同时它是一个自由软件,是免费的、源代码开放的,这是它与UNIX的不同之处。
现在,Linux凭借优秀的设计,不凡的性能,加上IBM、Intel、CA、CORE、Oracle等国际知名企业的大力支持,市场份额逐步扩大,已成为与Windows和UNIX并存的三大主流操作系统之一。
1.2 Linux的使用1.2.1 vi的使用1) vi的简单应用vi是linux环境下赫赫有名的文本编辑工具之一。
进入vi编辑器的方法:vi filename.c 注:文件名必须带有扩展名.c,如filename.c 否则无法通过编译;进入vi后要按:按“i”键从命令方式切换到输入方式;从输入方式切换到命令方式的方法:按“Esc”键保存文件:w保存文件并退出:wq不保存文件退出:q!注:以上操作必须在命令方式下进行。
2) 其他常用vi操作命令j,k,h,l:上下左右0:行首$: 行尾ctrl+f :后翻页ctrl+b:前翻页G : 文件尾数字G: 数字所指定行i,I : 插入命令,i 在当前光标处插入, I 行首插入a,A: 追加命令,a 在当前光标后追加,A 在行末追加o,O: 打开命令,o 在当前行下打开一行,O在当前行上插入一行x: 删除光标处字符dd: 删除当前行d0: 删除光标前半行d$: 删除光标后半行r,R : 替换命令,r 替换当前光标处字符,R从光标处开始替换/string:查找字符串n :继续查找N:反向继续查找%:查找对应括号u :取消上次操作注:以上操作必须在命令方式下进行。
1.2.2 gcc的使用gcc是linux下的一种c程序编译工具,使用方法如下(有提示符#的情况):编译:gcc –o filename1 filename.c其中: filename.c是源文件名,filename1 是目标文件名,o代表object执行:./filenamel示例:键入一简单的程序:vi ab.c 按回车键输入以下代码段,#include<stdio.h>#include<unisted.h>main(){printf(“aaaa”);}按ESC键,再按“:WQ”(W是保存,Q是退出)出现提示符:[root @GGG-LINUX root]#键入:gcc –o ab ab.c进行编译。
执行:./ab1.2.3主要系统调用函数1.2.1系统调用fork()功能:创建一个新的进程.头文件:#include <unistd.h>说明:本系统调用产生一个新的进程, 叫子进程, 是调用进程的一个复制品. 调用进程叫父进程, 子进程继承了父进程的几乎所有的属性。
(1)该子进程继承了父进程的程序空间,复制了父进程的数据段和栈段。
也就是说不管是父进程还是子进程,在占有处理机后,都从fork()调用的返回点开始运行;(2)调用成功则对父进程返回子进程标识号pid;(3)调用成功对子进程返回0, 这也是最方便的区分父子进程的方法。
(4)若调用失败则返回-1给父进程, 子进程不生成。
注意:如果fork()值>0,>0的数即是子进程号。
但这时是父进程占有处理机。
1.2.2系统调用wait(&status):功能: 等待子进程结束。
(1)当有多个子进程时,任一个子进程结束即将控制返回调用者,并将子进程调用exit (status)时的status值送到&status指针所指单元中。
(2)在控制返回调用者时,同时将所等到的子进程pid作为wait()系统调用函数的返回值。
(3)waitpid(pid,…):等待pid所指定的进程结束。
(4)返回值:等待到一个子进程返回时,返回值为该子进程号;否则返回值为–1。
说明: 允许调用进程(即父进程)取得子进程的状态信息,调用进程将会挂起直到其一个子进程终止。
1.2.3系统调用exit()功能: 终止进程.语法: #include <stdlib.h>void exit(status)int status功能:调用进程被该系统调用终止。
该系统调用发出后,操作系统将从系统中删除调用exit的进程,并将status值传给等待它结束的父进程。
返回值: 无1.2.4系统调用kill()功能: 向一个或一组进程发送一个信号。
语法:#include <signal.h>int kill(pid, sig);pid_t pid; int sig;说明:向一个或一组进程发送一个信号,该信号由参数sig指定,为系统给出的信号表中的一个。
Sig是signal的缩写。
返回值: 调用成功则返回0,否则返回-1.kill -STOP [pid]:发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]:发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]:发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1:终止拥有的全部进程。
SIGKILL和SIGSTOP信号不能被捕捉、封锁或者忽略。
1.2.5系统调用lockf()功能:应用、检测或删除打开文件的一个POSIX锁语法:#include <unistd.h>int lockf(int fd, int cmd, off_t len);说明:应用、检测或删除打开文件某部分的一个POSIX锁,文件通过fd指明,文件的描述符的请求操作通过cmd指明。
#define F_ULOCK 0 解锁一个区域#define F_LOCK 1 上锁一个区域#define F_TLOCK 2 检测并上锁一个区域#define F_TEST 3 检测一个区域是否上锁文件上锁区域的请求起始于隐含的偏移并包好len字节,假如len为负,从pos…pos+len-1,这里pos为当前文件位置,假如len为零,则位置从当前文件位置延伸延伸到无限长,包括当前和以后的文件最后的位置。
在所有情况下,位置可延伸到以前当前的文件的最后位置。
在Linux中,这称为fcntl(2)的接口(一般会指明lockf 和fcntl的关系)。
1.2.6 系统调用pipe()是用来建立管道的。
语法: #include <unistd.h>int pipe(int fd[2]); 这里fd[1]为写入端,fd[0]为读出端。
功能:从管道里写或从管道里读。
第二部分实验内容实验一熟悉LINUX基本命令及编程环境一、实验类型本实验为验证性实验。
二、实验目的与任务1)熟悉使用Linux字符界面,窗口系统的常用命令;2)熟悉运用Linux常用的编程工具;3)熟悉运用Linux的在线求助系统。
三、预习要求1)熟悉一种操作系统的使用和安装,如windows操作系统的安装,DOS系统的使用2)了解进程的概念及进程的状态3)熟悉c语言程序设计4)熟悉c语言程序编译过程四、实验基本原理进入Linux操作系统后,控制终端的命令行输入方式下输入各种命令,并显示各种命令操作后的输出结果,操作包括文件操作命令的使用,vi命令的使用以及gcc编译器的使用,详细的各种命令及使用方式见第一部分的介绍。
五、实验仪器与设备(或工具软件)实验设备:计算机一台,软件环境要求:安装Red Hat Linux操作系统和gcc 编译器。