系统调用的基本概念

操作系统在其核心中设置了一组用于实现各种系统功能的子程序(即过程),供应用程序调用。由于OS系统过程的特殊性,使应用程序不能采用一般的过程调用方式来调用这些过程,而是利用一种系统调用命令,去调用所需的系统过程。它与一般的过程调用有以下几个明显差别。

(1)运行在不同的状态。一般的过程调用,其调用程序和被调用程序都运行在相同的状态一系统态或用户态;而在系统调用中,调用程序通常运行在用户态,被调用程序运行在系统态。

(2)系统状态的转换。由于一般的过程调用并不涉及系统状态的转换,故可直接由调用过程转向被调用过程。但在运行系统调用时,由于调用和被调用过程是工作在不同的系统状态,因而不允许由调用过程直接转向被调用过程。通常都是通过软中断机制,先由用户态转换为系统态,经内核分析后,才能转向相应的系统调用处理子程序。

(3)返回问题。在采用了抢占式(剥夺)调度方式的系统中,在被调用过程执行完后,要对系统中所有要求运行的进程做优先权分析。当调用进程仍具有最?优先级时,才返回到调用进程继续执行;否则,将引起重新调度,以便让优先权最高的进程优先执行。此?迹?枰?训饔媒?谭湃刖托鞫恿小?/p>

(4)嵌套调用。像一般过程一样,系统调用也可以嵌套进行,即在一个被调用过程的执行期间,还可以利用系统调用命令去调用另一个系统调用。当然,每个系统对嵌套调用的深度都有一定的限制,通常深度不超过6。下图(a)所示为没有嵌套的系统调用,图8-8(b)所示为有嵌套的系统调用。

(0)

相关推荐

  • 更重的苹果口味:iPhone5S概念设计出炉 更有范

    更重的苹果口味:iPhone5S概念设计出炉 从发布水滴外观的iPhone5概念图开始,我们也记不清有多少概念设计图出炉了。因为软媒小编都是尽量精选出来分享给大家,所以更多的设计图一开始就被小编否定了 ...

  • Win7提示系统调用失败的原因及解决方法

    很多人在使用windows7的时候会遇到一些比较棘手的问题,一些对电脑不大熟悉的朋友们通常遇到问题就不知所措了,比如最近有一个朋友跟我会所他的电脑会出现系统调用失败的故障,出现这个问题的话有可能是资源 ...

  • 高德地图公交导航新概念怎么样?公交导航新概念详解

    10月24日消息,今日高德地图推出公交导航新概念,可为公交出行用户提供手机导航服务。据介绍,此次新概念的提出是对过去公交换乘中间连接的空白阶段的弥补,用户在公交出行时可以享受与驾车时一样的导航服务。 ...

  • 32位与64位操作系统怎么区分从32位和64位的概念上进行讲述

    有时候我们下载软件的时候,电脑系统便会提示,是选择安装32位的还是64位的呢?不是专业的电脑人士便会开始犯糊涂了,什么是32位?什么是64位的操作系统?他们之间究竟有什么区别呢?今天我们就具体的来学习 ...

  • OSPF路由协议概念解释和特性介绍

    前言: 本篇文档针对一些对OSPF路由协议有一定的感性熟悉的技术人员,提供一些基于OSPF报文格式的介绍,来达到了解OSPF路由协议的特性和特有的一些概念的了解。 一.OSPF的特性: 快速收敛; 能 ...

  • 活动目录概念和灾难恢复

    一、什么是活动目录 AD是一种事务性数据库,它是一种预先写入记录的模式,使用了ESE97的技术。在磁盘上,AD显示为几个文件,它们是ntds.dit(AD数据库),一组交易记录(即日志)和记录数据库最 ...

  • 192.168.1.1路由器概念介绍及设置问题解析

    对于新手朋友来说,都很想知道192.168.1.1或192.168.0.1究竟是什么?或是在路由器设置过程会遇到很多问题都不知道怎么解决,那么下面就为大家详细解答这两个问题,希望能帮助到大家。 192 ...

  • Linux系统调用fsync函数详解

    功能描述: 同步内存中所有已修改的文件数据到储存设备。 用法: #include <unistd.h> int fsync(int fd); 参数: fd:文件描述词。 返回说明: 成功执 ...

  • 如何辨别U盘和内存卡?两者概念上的区别是什么

    U盘和内存卡如今越做越小,导致一些朋友分不清楚U盘和内存卡,其实想要辨别U盘和内存卡非常简单,我们可以从许多方面辨别出它们之间的区别。下面一起来看看吧。 U盘和内存卡概念上的区别:U盘是指带有usb接 ...