unix操作系统期末复习要点
操作系统期末复习知识点

操作系统期末复习知识点操作系统是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。
以下是操作系统期末复习的一些重要知识点。
一、操作系统的概念和功能操作系统是控制和管理计算机系统内各种硬件和软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,在计算机与用户之间起到接口的作用。
其主要功能包括:1、进程管理:负责进程的创建、调度、终止等操作,确保进程能够合理地共享 CPU 资源。
2、内存管理:管理计算机内存的分配、回收和保护,提高内存的利用率。
3、文件管理:实现对文件的存储、检索、更新和共享等操作。
4、设备管理:对输入输出设备进行有效的分配、控制和调度。
5、提供用户接口:包括命令接口和程序接口,方便用户与计算机进行交互。
二、进程管理进程是程序的一次执行过程,是操作系统进行资源分配和调度的基本单位。
进程的状态包括:就绪、运行、阻塞。
进程状态的转换是由操作系统根据资源的可用性和进程的需求进行控制的。
进程调度算法有先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)、优先级调度等。
每种算法都有其特点和适用场景。
例如,先来先服务算法按照进程到达的先后顺序进行调度,简单公平,但可能导致短作业等待时间过长;短作业优先算法优先调度执行时间短的作业,能有效减少平均等待时间,但可能对长作业不利。
进程同步与互斥是多进程环境下的重要问题。
互斥是指多个进程不能同时访问同一临界资源,同步则是指多个进程在执行顺序上存在依赖关系。
实现进程同步与互斥的方法有信号量机制、管程等。
三、内存管理内存管理的主要任务是为程序分配内存空间,并保证内存的高效利用和保护。
内存分配方式有连续分配和离散分配。
连续分配包括单一连续分配和分区分配,离散分配则有分页存储管理、分段存储管理和段页式存储管理。
分页存储管理将内存空间划分为固定大小的页面,分段存储管理则按照程序的逻辑结构将其划分为不同的段,段页式存储管理结合了分页和分段的优点。
UNIX操作系统重点知识

UNIX操作系统重点知识UNIX操作系统重点知识范本:1.文件系统1.1 文件系统层次结构1.2 文件和目录权限1.3 文件和目录操作1.3.1 创建文件1.3.2 复制文件1.3.3 挪移文件1.3.4 删除文件1.3.5 创建目录1.3.6 复制目录1.3.7 挪移目录1.3.8 删除目录2.进程管理2.1 进程与线程的概念2.2 进程的创建和终止 2.3 进程调度2.4 进程间通信2.4.1 管道通信2.4.2 信号量通信 2.4.3 消息队列通信2.4.4 共享内存通信3.用户与权限管理3.1 用户账号管理3.1.1 创建用户账号 3.1.2 修改用户账号 3.1.3 删除用户账号 3.2 用户组管理3.2.1 创建用户组 3.2.2 修改用户组 3.2.3 删除用户组 3.3 权限管理3.3.1 文件权限设置3.3.2 用户权限控制4.网络通信4.1 IP地址和端口4.2 网络协议栈4.3 网络配置与管理4.3.1 IP地址配置4.3.2 网络接口配置 4.4 网络连接与通信4.4.1 TCP连接4.4.2 UDP通信5.系统管理5.1 系统启动和关闭5.2 系统监控和性能调优 5.3 系统日志管理5.4 定时任务管理6. Shell脚本编程6.1 Shell脚本语法6.2 变量和常量6.3 控制结构6.4 函数和参数6.5 文件操作6.6 进程处理6.7 输入输出重定向6.8 错误处理本文档涉及附件:附件1:UNIX操作系统命令手册本文所涉及的法律名词及注释:1. UNIX:一种多用户、多任务的操作系统。
2. 文件系统:用于管理计算机硬盘上的文件和目录的组织结构。
3. 进程:执行中的程序实例,是计算机系统中的基本执行单位。
4. 管道通信:进程间通过使用管道实现数据传输的一种通信机制。
5. 信号量通信:进程间通过使用信号量实现进程同步与互斥的一种通信机制。
6. 消息队列通信:进程间通过使用消息队列实现异步通信的一种通信机制。
unix期末复习2

这个专题是关于文件读写的操作,基本的有write,open,close,lseek等。
1.open函数打开文件#include <fcntl.h>int open(const char *pathname, int flag);int open(const char *pathname, int flag, mode_t mode);//只有新创建文件时才会使用该函数//返回值,如果成功返回文件描述符,如果出错返回-1使用open返回的文件描述符作为参数传递给write或read,按照惯例,UNIX中文件描述符0与标准输入相关联,文件描述符1与标准输出相关联,文件描述符2与标准出错输出相关联。
依照POSIX标准,0、1、2通常被替换成符号常量STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO(定义在头文件unistd.h中)。
文件描述符的范围为0~OPEN_MAX。
pathname为文件的绝对路径或相对路径。
flag用于指定文件的打开/创建模式,这3个常量定义在fcntl.h中,这3个参数是必选的,而且只能选择一个:O_RDONLY 只读模式O_WRONLY 只写模式O_RDWR 读写模式下面的常量是可选的:(flag后面加一个|)O_APPEND 每次写操作都写入文件的末尾。
O_CREAT 如果指定文件不存在,则创建这个文件。
如果存在则直接打开文件。
如果创建新文件,而mode参数没有指定,则创建的文件权限不定。
O_EXCL 如果文件不存在,则返回错误。
如果同时指定了O_CREAT,而文件已经存在,则会出错。
用此测试一个文件是否存在,如果不存在,则创建此文件。
O_TRUNC 如果文件存在,并且以只写/读写方式打开,则清空文件全部内容。
O_NOCTTY 如果路径名指向终端设备,不要把这个设备用作控制终端。
O_NONBLOCK 如果路径名指向FIFO/块文件/字符文件,则把文件的打开和后继I/O设置为非阻塞模式(nonblocking mode)。
unix操作系统复习资料

unix操作系统复习资料一、单选1. UNIX系统是一个(多用户、多任务)的操作系统2. UNIX 系统中,设备作为(设备文件)存在,除占据相应的节点位置外,并不占据实际的物理存储块,设备可采用文件的读写和保护方法。
3. 在UNIX系统中,用于查看系统中正在运行的进程的状态的命令是(ps)4. 为当前目录下的文件/etc/hosts创建名为myfile的符号链接文件的命令是(ln –s /etc/hosts myfile )5. UNIX系统中,用户源程序经过编译后得到的可执行文件属于(普通文件)6. 下列关于UNIX的叙述中,不正确的是(UNIX把普通文件、目录文件和设备文件分别以不同方式进行管理)7.在UNIX系统中,组成UNIX执行环境的是一系列(环境变量)8. 下列哪一个是Bournel Shell的合法的变量名(FRUIT_BASKET )。
9. UNIX命令的一般格式是([命令名] [选项] [参数] )10. 删除用户“user”及其主目录下所有文件的命令是(userdel –r user )11. UNIX文件名的长度不得超过(256 )个字符。
12. 当前目录下有一名叫jed的程序文件,要使所有人都能执行该程序,应执行(chmod a+x jed)命令。
13.显示abc.txt文件前5行的命令是(head -5 abc.txt)。
14. 输入重定向的符号是(< )15. 权限741为rwxr----x,那么权限652是(rw-r-x-w-)16. shell允许将一个进程的输出用做另一个进程的输入,命令之间使用(>)操作符17. fdisk -l /dev/hda命令的作用是(显示hda上的分区表信息)18. /etc/passwd文件用来存储(用户帐户信息和帐户的参数)信息19. 特殊变量($#)保存命令行参数的个数20. 在vi编辑器中,要从编辑模式切换到指令模式,应按(Esc )键。
操作系统期末复习重点(史上最全)(可编辑修改word版)

操作系统(Operating System)复习要点第一章操作系统:计算机系统中的一组系统软件,由它统一管理计算机系统的各种资源并合理组织计算机的工作流程,方便用户使用。
具有管理和服务功能操作系统的特征:并发性,共享性,随机性,可重构性,虚拟性。
并发是指计算机系统中同时存在多个程序,宏观上看,这些程序是同时向前推进的。
共享性:批操作系统程序与多个用户程序共用系统中的各种资源虚拟性:物理实体转化为若干逻辑上的对应物。
操作系统的功能:1,进程管理;2,存储管理;3,文件管理;4,作业管理;5,设备管理;6,其他功能(系统安全,网络通信)。
传统OS 中,进程是系统调度的最小单位,是程序的一次执行;而现代OS 中则是线程,是程序一次相对独立的执行过程。
操作系统的发展历史1,手工操作:穿孔卡片2,监督程序——早期批处理:计算机高级语言出现,单道批处理单道批处理:串行执行作业中,由监督程序识别一个作业,进行处理后再取下一个作业的自动定序处理方式3,多道批处理系统——现代意义上的操作系统多道批处理:允许多个程序同时存在于主存之中,由中央处理机以切换方式为之服务,使得多个程序可以“同时”执行。
操作系统分类:批处理OS,分时OS,实时OS,嵌入式OS,个人计算机OS,网络OS,分布式OS,智能卡OS。
操作系统类型:批处理O S,分时O S,实时O S,网络O S,分布式OS。
分时系统:支持多个终端用户共享一个计算机系统而互不干扰,能实现人机交互的系统。
特点:支持多用户,具有同时性、独立性、及时性、交互性。
实时系统:使计算机系统接收到外部信号后及时进行处理,并且在严格的规定时间内处理结束、再给出反馈信号的系统。
特点:及时响应,快速处理,安全可靠。
宏观和微观两个发展方向:网络OS、分布式OS(大型系统)、嵌入式OS(微机)研究操作系统的几种视角:软件的视角、用户接口、资源管理、虚拟机、服务提供者视角第二章作业的定义:用户要求计算机系统处理的一个计算问题。
UNIX操作系统重点知识

UNIX操作系统重点知识UNIX操作系统重点知识1、操作系统概述1.1 UNIX操作系统的历史和发展1.2 UNIX操作系统的特点和优势1.3 UNIX操作系统的应用领域2、文件系统管理2.1 文件和目录的基本操作2.2 文件权限和用户组管理2.3 文件的查找和筛选2.4 文件的压缩和解压缩2.5 文件系统的备份和恢复3、进程管理3.1 进程的概念和特点3.2 进程的创建和终止3.3 进程的调度和优先级3.4 进程间通信3.5 进程的监控和管理4、系统配置和网络管理4.1 系统的启动和关闭4.2 系统的配置和环境变量4.3 系统的性能优化4.4 网络的配置和管理4.5 系统安全和防护5、Shell脚本编程5.1 Shell脚本的基本语法5.2 Shell脚本的变量和数据类型 5.3 Shell脚本的流程控制5.4 Shell脚本的函数和库5.5 Shell脚本的调试和优化6、系统监控和故障处理6.1 系统资源的监控和管理6.2 系统的故障诊断和排除6.3 系统的安全审计和日志管理6.4 系统的性能监测和优化6.5 系统的异常处理和恢复7、常用命令介绍7.1 文件和目录相关命令7.2 进程和系统相关命令7.3 网络和通信相关命令7.4 Shell脚本相关命令7.5 辅助工具和实用命令附件:附件1:UNIX操作系统常用命令速查表附件2:UNIX操作系统实例代码和脚本示例法律名词及注释:1、操作系统:计算机系统中的核心软件,负责管理和协调计算机硬件和软件资源的分配和调度。
2、文件系统:操作系统中用于管理和组织文件和目录的一种机制。
3、进程:计算机执行中的一个程序的实例,包括程序的指令、数据和占用的系统资源。
4、Shell脚本:一种以Shell解释器为基础的脚本程序,用于自动化执行一系列命令和操作。
5、系统监控:对计算机系统中的资源和运行状态进行监测和记录的过程。
6、故障处理:对计算机系统中出现的故障进行诊断、排除和修复的过程。
UNIX操作系统重点知识

第一单元: 网络操作系统概述1、操作系统(OS,Operating System)是若干程序模块的集合,它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,使整个计算机系统能够高效运行。
2、操作系统的特征:①并发性、②共享性、③随机性。
3、网络操作系统(NOS-Network Operating System)是网络的心脏和灵魂。
4、操作系统(OS)是最靠近硬件的低层软件。
5、网络操作系统(NOS)是网络用户和计算机网络的接口,它除了提供标准OS的功能外,还管理计算机与网络相关的硬件和软件资源,为用户提供文件共享、打印共享等各种网络服务以及电子邮件、WWW等专项服务。
6、Netware 操作系统其特长是文件服务和打印服务。
作业:1、网络操作系统的主要功能。
答:一、文件服务;二、打印服务;三、数据库服务;四、通信服务;五、分布式服务;六、网络管理服务;七、Internet/Intranet服务。
2、常用的网络操作系统有哪几种?答:一、UNIX操作系统;二、Windows操作系统(1.Windows 2000 Server 操作系统,2.Windows Server 2003操作系统);三、Netware 操作系统;四、Linux 操作系统。
第二单元: Unix操作系统1、unix是一种操作系统;是一种多用户、多任务的分时操作系统。
2、unix系统一般分为三个层次,每一个层次具有不同的任务:(1)内层是核心层,即unix操作系统常驻内存的部分,该层直接与计算机硬件打交道。
(2)中间层为shell层,即命令层该层有实用性程序集,包括解释程序、汇编工具等,是用户与系统核心的接口。
(3)用户应用层是最外层,包括实用程序及除unix系统之外的其它工具软件等。
3、Unix的诞生:1969年,贝尔实验室4、Unix发展过程中,两大流派:(1)一个是最早于1983年发表的Unix System V,最新的版本是Release 4,简写为SVR4。
unix期末考试题库及答案

unix期末考试题库及答案1. 什么是UNIX操作系统?UNIX是一种多用户、多任务的操作系统,最初由肯·汤普逊和丹尼斯·里奇在1970年代为AT&T的贝尔实验室开发。
它以C语言编写,具有强大的文件系统和进程管理能力。
答案:UNIX操作系统是一种多用户、多任务的操作系统,最初由肯·汤普逊和丹尼斯·里奇在1970年代为AT&T的贝尔实验室开发。
2. 简述UNIX文件系统的结构。
UNIX文件系统是一个层次结构,以根目录(/)开始,所有文件和目录都是根目录的子目录。
每个文件和目录都有一个唯一的inode,包含文件的元数据。
答案:UNIX文件系统是一个以根目录(/)开始的层次结构,其中所有文件和目录都是根目录的子目录,每个文件和目录都有一个唯一的inode,包含文件的元数据。
3. UNIX中如何查看当前目录下的文件和目录?可以使用`ls`命令来查看当前目录下的文件和目录。
答案:在UNIX中,可以使用`ls`命令来查看当前目录下的文件和目录。
4. 请解释UNIX中的硬链接和软链接的区别。
硬链接是直接指向文件inode的链接,而软链接(也称为符号链接)是一个指向另一个文件路径的文件。
硬链接不能跨文件系统,而软链接可以。
答案:硬链接是直接指向文件inode的链接,不能跨文件系统;软链接是一个指向另一个文件路径的文件,可以跨文件系统。
5. UNIX中如何改变当前工作目录?可以使用`cd`命令后跟目标目录的路径来改变当前工作目录。
答案:在UNIX中,可以使用`cd`命令后跟目标目录的路径来改变当前工作目录。
6. 描述UNIX中进程的三种状态。
UNIX中进程的三种状态包括:运行态(正在执行)、就绪态(等待CPU时间)和阻塞态(等待某个事件,如I/O操作完成)。
答案:UNIX中进程的三种状态为运行态(正在执行)、就绪态(等待CPU时间)和阻塞态(等待某个事件,如I/O操作完成)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29.对所有用户的变量设置,应当放在哪个文件下。
答案:/etc/profile一.单项选择题(每题1分,共20分)大部分主要的Linux 系统文件是存放在什么目录之中。
答案:/bin答案:shell 脚本10.什么命令用来显示文件和目录占用的磁盘空间。
答案:du11.安装CD-ROM 时,默认选择是什么类型的文件系统。
答案:.iso966012. swap 文件与swap 分区相比,它具有哪些优点。
答案:可以更有效率地应用磁盘空间13. 如果在/etc/group 文件中有一行内容是 “students::600:z3,l4,w5那么在“student 组中有多少个用户。
答案:不清楚14./etc 文件系统的标准应用是用于? 答案:存放用于系统管理的配置文件15.什么命令可被用来显示已安装文件系统的占用磁盘空间?答案:df16. 在安装Linux 操作系统过程中你可以选择什么形式来登录。
答案:选择“文本登录”在级别 3层次设置系统起始模式17.在ext2文件系统中,一个目录数据块中的指针指向的是?答案:目录的i 节点18. 在Linux shell 中,什么变量代表的是shell 程序命令的程序文件名。
答案:$0 19. 哪个组合键,可以退出 X Window 。
答案:Ctrl+Alt+Backspace 20.在Linux 中,可使用什么命令来删除指定目录。
答案:rmdir21.在ps 命令中的哪个参数是用来显示所有用户的进程的。
答案:a22.显示二进制文件的命令是? 答案:od 或hexdump23.哪个可以显示Linux 系统中注册的用户数(包含系统用户)。
答案:wc --lines /etc/passwd 24.在一行结束位置加上什么符号,表示未结束,下一行继续。
答案:1. 2. Linux 标准c 和c++编译器。
答案:gcc3. 4. 5. 什么命令可用来使shell 变量变为一个全局变量。
在一个bash shell 脚本的第一行上应加入什么语句。
Linux 命令行是由什么提供的。
答案:shell 答案:export 答案:#!/bin/bash6. 你可编制一个由一系列命令组成的程序,该程序可由shell 执行。
这种类型的程序被称作?7. 答案:命令名8. 9. 要从shell 命令行中执行一条命令,必须首先键入? 使用标准输出重定向符(>),比如“>file01将会导致文件file01中的数据被?答案:覆盖 什么命令可把./dir1目录(包括它的所有子目录)内容复制到./dir2中。
答案:cp -r ./dir1/* ./dir225.命令kill 9 的含义是?答案:sends SIGTERM to the process whose PID IS 926.哪个命令用于删除一个非空子目录/tmp。
答案:rm -f /tmp27.使用什么命令可以在今天午夜运行命令cmd1。
答案:echo "cmd1" | at mid night28.你的系统使用增量备份策略,当需要恢复系统时,你需要按什么顺序恢复备份数据。
答案:最后一次全备份,然后从最近到最早的增量备份29.对所有用户的变量设置,应当放在哪个文件下。
答案:/etc/profile30. Linux 系统中,一般把命令Is 定义为Is --color 的别名,以便以不同颜色来标识不同类型的文件。
但是,使用什么形式能够使用原先的ls 命令。
答案:\ls二.判断题(每空1分,共10分)1.按文件的逻辑结构分,数据库文件是一种顺序文件文件。
X2•对一个文件的访问,常由文件属性和口令共同限制。
V3 .目录文件所存放的信息是某一文件的文件目录。
X 该目录中所有子目录文件和数据文件的目录 4•在Linux 系统中,通常把设备作为特别文件来处理。
V5 .文件系统采用二级文件目录可以实现文件共享。
X 解决不同用户间文件命名冲突 6•多道程序提供的可共享资源不足时,可能出现死锁;不适当的分配队列优先权 进程推进顺序也可能产生死锁。
X7.为了系统中各部分资源得到均衡使用,以提高系统的效率,就必须选择对资源需求不同的作业进行合理搭配。
这项工作是由进程週度_作业调度完成的。
X&引入文件系统的主要目的是用于存储系统文件 提高存储空间的利用率。
X 9.文件代表了计算机系统中的软件资源。
V 10•位示图可用于磁盘空间的管理。
V 11.程序和进程是两个不同的概念,程序指出了处理器执行操作的步骤,而进程是一个程序在一个 数据集合上的一次执行。
V 12. 一个进程是PCB 结构与程序和数据的组合。
V采用了一个与进程相联系的进程控制块,根据它而感知进程的 存在及对进程进行控制。
V 14•异步性体现了原语的主要特点。
由于申请等待 I/O 操作而被中断时,可以允许其他进程进入与该进程相关的临界区。
X 可以允许其他进程抢占处理器,但不得进入该进程的临界区三.填空题(每空1分,共10分)1•在Linux 平台下,GNU 发布了一款功能强大的调试工具,称为 gdb (GNU Debugger ),gdb 是一用来—调试__C 和C++程序的调试工具。
其工作在_命令模式—下,需要通过输入命令来实现对应用 程序的调试,通过此调试工具可以在程序运行时观察 程序的内部结构和内存的使用情况。
2. 一个进程内部由若干个进程组成,进程的出现使得多个程序可以并发执行,节省了资源利用率;而 线程 的引入则帮助减少了程序 并发 执行时带来的时空开销。
3.文件是指一组相关数据的有序集合,在 Linux 系统中,文件中的—数据_与数据之间的关系,是由使用_文件—的应用程序建立和解释的,它们仅在一个文件中有关系。
4. 在Linux 环境下,每打开一个磁盘—文件—时,都会在内核中建立一个—文件表项文件表项 中存储着文13.为了描述进程的动态变化过程, 15. 一个正在访问临界资源的进程,件的状态信息、存储文件内容的缓冲区和当前文件的读写位置。
5. Linux操作系统是一款免费使用,且可以自由传播的类Unix操作系统,它支持__多进程__、多用户、_多线程—及多CPU,从其诞生到现在,性能逐步得到了稳定提升。
四.简答题(每题10分,共40 分)1 .试述Linux系统中的各种信号。
信号(signal):全称软中断信号,其本质是软件层次上对中断机制的一种模拟,用于提醒进程, 某件事情已经发生。
Linux系统中的信号可能会处于几个状态,分别为:发送状态、阻塞状态、未决状态、递达状态和处理状态,具体含义是:(1)发送状态:当某种情况驱使内核发送信号时,信号有一个短暂的发送状态;(2)阻塞状态:由于某种原因,发送的信号无法被传递,将处于阻塞状态;未决状态:发送的信号被阻塞,无法到达进程,内核就会将该信号的状态设置为未决;(3)递达状态:若信号发送后没有阻塞,信号就会被成功传递并到达进程,此时为递达状态;(4)处理状态:信号被递达后会被立刻处理,此时信号处于处理状态。
2 .什么是操作系统?它有什么基本特征?从资源管理的观点出发,操作系统的功能由哪些部分组成?操作系统是一组控制和管理计算机软件和硬件资源、合理组织计算机的工作流程以及方便用户使用计算机的程序集合。
操作系统的基本特性是共享性、并发性、虚拟性和不确定性4个万面。
从资源管理的观点出发,操作系统的功能可分成五大部分:处理器管理,存储管理,文件管理,设备管理,作业管理。
操作系统的这五大部分相互配合,协调工作,实现对计算机系统的资源管理和控制程序的执行。
3.简要说明Linux文件系统中索引结点和目录项的含义。
(1)索引结点:索引结点(index node,简称inode)的实质是一个结构体,主要功能是保存文件的属性信息(如所有者、所属区、权限、文件大小、时间戳等),Lin ux系统中的每个文件都会被分配一个in ode,当有文件创建时,系统会在inode表中获取一个空闲的in ode,分配给这个文件。
inode存储在inode表中, inode 表存储inode和in ode的编号(in umber),i node表在文件系统创建之时便被创建,因此文件系统中可存储的文件数量也在文件系统创建时已确定。
⑵目录项:Linux 文件系统中的索引结点保存着文件的诸多属性信息,但并未保存文件的文件名。
实际上, Linux 系统中文件的文件名并不保存在文件中,而是保存在存放该文件的目录中。
Linux 系统中定义了一个被称为目录项(dentry)的结构体,该结构体主要存储文件的文件名与inode 编号,系统通过读取 目录项中的文件名和文件的in umber ,来判断文件是否存在于这个目录中。
dentry 中允许同一个inode 对应不同的文件名,但不允许相同的文件名对应不同的ino de 。
4. 简要说明Linux 系统中的虚拟文件系统。
虚拟文件系统又称虚拟文件切换系统(Virtual Filesystem Switch),是操作系统中文件系统的虚拟 层,其下才是具体的文件系统。
虚拟文件系统的主要功能,是实现多种文件系统操作接口的统一,既能让上层的调用者使用同 一套接口与底层的各种文件系统交互, 又能对文件系统提供一个标准接口, 使Linux 系统能同时支持 多种文件系统。
虚拟文件系统与上层应用及底层的各种文件系统之间的关系如图所示。
5. 画图说明多道程序程序的工作情况。
6. 简述产生信号的产生及处理。
信号被应用于进程间通信,但信号实际并不由进程发送,在遇到某种情况时,内核会发送某个 信号到某个进程,通常产生信号的情况有以下五种:(1) 组合按键(2) 系统检测到硬件异常。
(3) 满足某种软件条件。
(4) 通过系统调用发送信号。
中央处理机外部设备程序A输出结束输入 输出结束(5) 在终端通过命令发送信号。
信号递达进程后才可能被处理,信号的处理方式有三种:(1)忽略:大多数信号都可以被忽略,但 9号信号SIGKILL 和19号信号SIGST0P 是超级用户杀 死进程的可靠方法,不能被忽略。
(2)捕获:对信号做捕获处理时,进程通常需要先为该信号设置信号响应函数,这是一个回调函数,当指定信号产生时,内核会为该进程调用并执行对应的信号响应函数。
9号信号SIGKILL 和19号信号SIGSTOP 同样不能被捕获。
(3) 执行默认动作:系统为每个信号设置了一些默认动作,当信号递达,进程又未设置信号的响 应函数时,系统会对进程执行信号的默认动作。
五.程序设计题(每题10分,共20 分)1.用C 语言输入文件路径并打开:#in clude<stdio.h> #in clude<stdlib.h> mai n(){FILE *fp;Char ch,file name[50];scanf( “ %s ,filename); if((fp=fo pen (file name,exit(0);printf(“ len 0=(%d ,ftell(fp));ch=fgetc(fp); while(ch != EOF){pu tchar(ch);printf(请输入文件路径及名称n );r ” ))==NULL){ printf(不能打开文件 );ch二fgetc(fp);printf( n“);printf( “ len 1=%d” ,ftell(fp));rewi nd(fp);printf( “ len 2=%d,ftell(fp));ch=fgetc(fp);while(ch!二EOF){pu tchar(ch);ch=fgetc(fp);printf( n“);fclose(fp);2.用Shell实现使用局部变量的递归#!/bi n/bashMAX ARG=5E WRONG ARGS=65E RANGE ERR=66if[-z “ S1”]the necho “ Usage: 'basename $0' number ”exit $E WRONG ARGSfiif [ “ $1t”$MAX_ARG]the necho ” Out of range (5 is maximum).fifact(){local nu mber二$1if [ “ $nu mbee”qO]- the nfactorial=1elselet"decrnum = nu mber-1" fact $decr num let"factorial = $NUMBER * 八?"fi return $factorial3.编写程序实现shell的基本功能,读入用户从键盘输入的命令,并执行它#in clude<stdio.h>mai n(){char comma nd[32];char *prompt二” $”;while(printf( “%s ,*prompt),gets(command)!二NULL){if(fork()==0)elsewait(O);exec Ip (comma nd,comma nd(char*)O);4. C语言实现简单copy功能#in clude<stdio.h>#in clude<stdlib.h>mai n(argc,argv){int argc;char *argv [] int fd1,fd2 ,n;char buf[512];fd1=o pen (argv[1],0);fd2=creat(argv[2],0644);while(( n=read(fd1,buf,512))>0)write(fd1,buf, n);close(fd1);close(fd2);。