- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 第10章 操作系统接口
⑴进程控制类系统调用 主要用于对进程控制的系统调用有:创建和终止进程、获得和设置进程属性、等待某事件出现的系统调用。 ⑵文件操纵类系统调用 对文件进行操纵的主要系统调用:创建和删除文件、打开和关闭文件、读和写文件 ⑶进程通信类系统调用 ①消息传递方式:在通信前需先打开一个连接,应由源进程发出一条打开连接的系统调用,而目标进程则应利用接受连接的系统调用表示同意进行通信;然后,在源和目标进程之间便可开始通信。可以利用发送消息的系统调用或者用接收消息的系统调用来交换信息。通信结束后,利用关闭连接的系统调用结束通信。 ②共享存储区方式:通信之前,利用建立共享存储区的系统调用,建立一个共享存储区,利用建立连接的系统调用,将该共享存储区连接到进程自身的虚地址空间上,然后利用读和写共享存储区的系统调用实现相互通信。 ⑷其他:设备管理类系统调用、信息维护类系统调用。 2. 系统调用的类型 3. POSIX标准 ★目前许多操作系统都提供了上面所介绍的各种类型的系统调用,实现的功能也相类似,但在实现的细节和形式方面却相差很大,这种差异给实现应用程序与操作系统平台的无关性带来了很大的困难。为解决这一问题,国际标准化组织ISO给出的有关系统调用的国际标准POSIX1003.1(Portable Operating System IX),也称为“基于UNIX 的可移植操作系统接口”。 ★POSIX定义了标准应用程序接口(API),用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行。只有符合这一标准的应用程序,才有可能完全兼容多种操作系统,即在多种操作系统下都能够运行。 ★POSIX标准定义了一组过程,这组过程是构造系统调用所必须,通过调用这些过程所提供的服务,确定了一系列系统调用的功能。一般而言,在POSIX标准中,大多数的系统调用是一个系统调用直接映射一个过程,但也有一个系统调用对应若干个过程的情形,如一个系统调用所需要的过程是其它系统调用的组合或变形时, 则往往会对应多个过程。 ★POSIX标准所定义的一组过程虽然指定了系统调用的功能,但并没有明确规定系统调用以什么形式实现的,是库函数还是其它形式。 ★库函数的目的是隐藏访管指令的细节,使系统调用更象过程调用,但一般地说,库函数属于用户程序而非系统调用程序。 3. POSIX标准 Unix/Linux 系统程序、库函数、系统调用的分层关系 返回 10.5 UNIX系统调用 第十章 操作系统接口 1. 进程控制 ⑴进程的创建和终止 ①创建进程(fork):一个进程可以利用fork系统调用来创建一个新进程。 ②终止进程(exit):一个进程可以利用exit实现自我终止。、 ⑵改变进程映像和等待 ①执行一个文件(exec)。exec可使调用者进程的进程映像(包括用户程序和数据等)被一个可执行的文件覆盖,此即改变调用者进程的进程映像。 ②等待子进程结束(wait):wait用于将调用者进程自身挂起,直至它的某一子进程终止为止。 ⑶其它进程调用 ①获得进程ID:UNIX系统提供了一组用于获得进程标识符的系统调用,如getp-id、getpgrp、getppid等。 ②获得用户ID:UNIX系统提供了一组用于获得用户ID的系统调用,如getuid、geteuid、getgid等。 ③进程暂停(pause):可用此系统调用将调用进程挂起,直至他收到一个信号为止。 2. 文件操纵期间 ⑴文件的创建和删除 ①创建文件(creat):根据用户提供的文件名和许可权方式,来创建一个新文件或重写一个已存文件。 ②删除文件:在UNIX系统中没有专门的删除文件的系统调用,故无人可对文件进行删除。 ⑵文件的打开和关闭 ①打开文件(open):把有关的文件属性从磁盘拷贝到内存中,以及在用户和指名文件之间建立一条快捷的通路,并给用户返回一个文件描述符fd。文件被打开后,用户对文件的任何操作,都只须使用fd而非路径名。 ②关闭文件(close):当把一个文件用毕暂不访问时,可调用close将文件关闭,即断开用户程序与该文件之间已经建立的快捷通路。 2. 文件操纵期间 ⑶文件的读和写 读和写文件read和write。仅当用户利用open打开指定文件后,方可调用read或write对文件执行读或写操作。 两个系统调用都要求用户提供三个输入参数: ①文件描述符fd; ②
文档评论(0)