系统调用的类型 【百科全说】-凯发k8官方旗舰厅

腾讯视频/爱奇艺/优酷/外卖 充值4折起

根据系统调用的功能,可将其分为进程控制(类)的系统调用、进程通信(类)的系统调 用、文件操作(类)及设备管理(类)系统调用等。

进程控制类的系统调用

这类系统调用主要用于对进程的控制,如创建一个新的进程和终止一个进程的运行,获 得和设置进程属性等。

(1 )创建和终止进程的系统调用。在多道程序环境下,为使多道程序能并发执行,必须 先利用创建进程的系统调用,为需要并发执行的各程序分?e创建一个进程。当进程已经执 行结?c或因发生异常情况而不能继续执行时,可利用终止进程的系统调用来结?c该进程的 运行。

(2 )获得和设置进程属性的系统调用。当创建一个(些)新进程后,为了能控制它(们) 的运行,应当能了解、确定和重新设置它(们)的属性。这些属性包括:进程标识符、进程优 先级、最大允许执行时间等。此时可利用获得进程属性的系统调用,来了解某进程的属性, 利用设置进程属性的系统调用,来确定和重新设?进程的属性。

(3 )等待事件触发的系统调用。进程在运行过程中,有时需要等待某事件(条件)出现 后,方可继续执行。例如,一个进程在创建了一个(些)新进程后,需要等待它(们)运行结?c 后,才能继续执行,此时可利用等待子进程结?c的系统调用进行等待。又如,在客户/服务器 模式中,若无任何客户向服务器发出消息,则服务器接收进程便无事可做,此时该进程就可 利用等待(事件)的系统调用,使自己处于等待状态,一旦有客户发来消息时,接收进程便被 唤醒,进行消息接收的处理。

进程通信类系统调用

在os中经常采用两种进程通信方式,即消息传递方式和共享存储区方式。当系统中 采用消息传递方式时,在通信前,必须先打开一个连接。为此,应由源进程发出一条打开连 接的系统调用open connection,而h标进程则应利用接受选接的系统调用accept connection 表示同意进行通信;然后,在源进程和目标进程之间便可开始通信,利用发送消息的系统调 用send message或者用接收消息的系统调用receive message来交换信息。通信结束后,还须 再利用关闭连接的系统调用close connection结束通信。

用户在利用共享存储区进行通信之前,必须先利用建立共享存储区的系统调用建立一 个共享存储区,再利用建立连接的系统凋用将该共享存储区连接到进程自身的虚地址空间 上,然后便可利用读和写共享存储区的系统调用实现相互之间的通信。

文件操作类系统调用

对文件进行操作的系统调用数量较多,下面简单介绍一些对文件基本操作的系统调用。

(1 )创建和删除文件。当用户需要在系统中存放程序或数据时,可利用创建文件的系 统凋用creat,由系统根据用户提供的文件名和存取方式来创建一个新文件;当用户不再需 要某文件时,可利用删除文件的系统调用将文件删除。

(2)打开和关闭文件。用户在第一次访问某个文件之前,应先利用打开文件的系统调 用open,将指定文件打开,即系统将在用户(程序)与该文件之间建立一条快捷通路。在文 件被打开后,系统将给用户返回一个该文件的句柄或描述符;当用户不再访问某文件时,又 可利用关闭文件的系统调用close将此文件关闭,即断开该用户程序与该文件之间的快捷 通路。

(3 )读/写文件。用户可利用读系统调用read,从已打开的文件中读出给定数目的字 符,并送至指定的缓冲区中;同样,用户也可利用写系统凋用write,从指定的缓冲区中将给定数目的字符写入指定文件中。read和write两个系统调用是文件操作类中使用最频繁的 系统调用。

对文件进行操作的系统调用还有:建立目录、移动文件的读/写指针及改变文件属性等。

07/17 14:35
系统调用的实现与一般过程调用的实现相比,两者间有很大差异。对于系统调用,控制是由原来的用户态转换为系统态,这是借助于中断和陷入机制来完成的,在该机制中包括中断和陷入硬件机构及中断与陷入处理程序两部分。 中断和陷入硬件机构 图1所示为中断的处理过程。中断可进一步分为外中断和内中断。外中断是指由于外部设备事件所引起的中断,如通常的磁盘中断、打印机中断等;而内中断则是指由于cpu内部事件所引起的中断,如程序出错(非法指令、地址越界)等。内中断(trap)也被译为“陷入”或“陷阱”。 通常,陷入是由于执
02/19 23:32
fifo管道是一种文件类型,在linux上创建fifo非常容易,fifo文件固有管道的特性,但和pipe管道有一定的区别,下面小编将针对fifo管道的创建和使用做个详细介绍,以便你有个详细的了解。 fifo,又称作命名管道(named pipe),它是linux系统中用于进程间通信的一种方法。 fifo和pipe的区别在于: fifo在文件系统中有对应的inode,可以通过ls命令查看。 sh-3.2# ls -lhf 。/fifo_file 100 prwxrwxrwx 1 root root
01/01 03:37
在windows xp系统中,不同的文件会以不同的图标显示。从打开方式看,文件分为可执行文件和不可执行文件两种类型。 >可执行文件:指可以自己运行的文件,又称可执行程序,其扩展名主要有.exe、.com等。用鼠标双击可执行文件,它便会自己运行。例如,双击c:windowssystem32文件夹中的mspaint.exe文件,可启动windows系统?掖??ldquo;画图”程序。 >不可执行文件:指不能自己运行的文件。当双击某类数据文件后,系统会调用特定的应用程序去打开它。例如,双击
01/06 19:03
如果你打开了“网上邻居”,使用鼠标双击电脑图标企图访问,却出现提示:“登陆失败:未授予用户在此计算机上的请求登陆类型”的时候,那么说明: 您的电脑在网络上没有权限访问目标计算机。也可以这样说,您能ping通目标计算机的ip地址,但是,您却无法使用网络邻居。 要解决这个办法有多种方法,请参阅下文,注意,以下内容,都是针对目标计算机所进行的设置。 一、第一种解决办法打开组策略编辑器,依次选择“计算机配置→windows设置→安全设置→本地策略→安全选项”,双击“网络访问:本地账号的共
05/01 19:53
很多人在使用windows7的时候会遇到一些比较棘手的问题,一些对电脑不大熟悉的朋友们通常遇到问题就不知所措了,比如最近有一个朋友跟我会所他的电脑会出现系统调用失败的故障,出现这个问题的话有可能是资源管理器进程方面的问题,那么要怎么办呢?现在小编就跟大家分享一下轻松解决win7提示“系统调用失败”技巧吧。 系统调用失败故障图: 1、首先打开随意一款ie浏览器,然后在地址栏上面输入“c:/windows/explorer.exe”,然后回车即可解决。 2、如果还不行的话,就鼠标右击
05/06 12:28
值类型和引用类型是.net里面的一个基本概念 在面试的时候也经常遇到 关于这个概念有很多误解,经常听到下面的说法 1.两者的区别是值类型分配在堆栈上,引用类型分配在堆上 这句话不对,至少不准确 2.值类型性能更好, 这句话要考虑情况 先补充一些背景资料 常见的值类型有:大部分原生类型,例如int float long 各种自己定义的结构体等等 常见的引用类型有:string 各种class 数组(包括int[]这种的) 堆栈:在这里指的是执行堆栈 堆:在这里指的是托管堆,就是loh g0
05/05 03:20
cpu针脚就是所说的接口类型,我们知道,cpu需要通过某个接口与主板连接的才能进行工作。cpu经过这么多年的发展,采用的接口方式有引脚式、卡式、触点式、针脚式等。而目前cpu的接口都是针脚式接口,对应到主板上就有相应的插槽类型。cpu接口类型不同,在插孔数、体积、形状都有变化,所以不能互相接插。 cpu针脚 目前cpu都采用针脚式接口与主板相连,而不同的接口的cpu在针脚数上各不相同。cpu接口类型的命名,习惯用针脚数来表示,比如目前pentium 4系列处理器所采用的socket 478接口,
05/12 00:59
内存条的作用 内存是电脑中的主要部件,它是相对于外存而言的。我们平常使用的程序,如windowsxp系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上。其是连接cpu 和其他设备的通道,起到缓冲和数据交换作用。 当cpu在工作时,需要从硬盘等外部存储器上读取数据,但由于
05/10 14:46
“默认程序”是打开某种特殊类型的文件(如歌曲、影片、照片或网页)时 windows 自动使用的程序。 例如,你可能在电脑上安装了多个照片编辑程序。 可以选择其中之一作为默认程序,无论何时打开照片都会启动该程序。 •通过以下方式打开“默认程序”:从屏幕的右边缘向中间轻扫,点击“搜索”(如果使用鼠标,则指向屏幕的右上角,然后将指针向下移动,再单击“搜索”),在搜索框中输入“默认程序”,然后依次点击或单击“应用”和“默认程序”。 设置默认程序 使用此选项可以选择希望 windows 用作默认程序的程序
网站地图