操作系统之系统调用简介

本文基于张尧学老师编著的《计算机操作系统教程(第4版)》第二章。

操作系统为用户提供两个接口:一、各种命令接口;二、系统调用。

一、各种命令接口

用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。操作系统的命令控制界面就是用来组织和控制作业的执行的。主要有两种方式:脱机方式、联机方式。

脱机方式,由系统按照作业说明书或命令文件中所规定的顺序控制作业,在执行过程中用户无法干涉;联机控制方式不要求作业说明书,只为用户提供一组通过键盘和其他操作方式输入的命令。交互控制程序执行和管理计算机系统。

二、系统调用

1、大致可以分为如下几类:

设备管理、文件管理、进程管理、进程通信、存储管理、线程管理。

2、如何使用操作系统内部的程序或数据?

为了提供操作系统调用功能,操作系统内必须有事先编制好的实现这些功能的子程序或过程。同时,为了保证操作系统程序不被用户程序破坏,一般操作系统都不允许用户程序直接访问操作系统的系统程序和数据

那如何使用操作系统内部的程序或数据?这需要一个类似于硬件中断的处理机制。当用户使用操作系统时,产生一条响应的指令,处理机在执行到该指令时发生中断,并发出有关信号给该处理机制。该处理机制在收到了处理机发来的信号后,启动相关的处理程序去完成系统调用所要求的功能。在系统中为控制系统调用服务的处理机称为陷阱(trap)处理机构。在系统调用处理结束之后,用户程序还需利用系统调用返回结果继续执行,因此,在进入系统调用处理之前,陷阱处理机构还需保存处理机现场。再者,在系统调用处理结束之后,陷阱机构还要恢复处理机现场。

操作系统中,处理机的现场一般被保护在特定的内存区或寄存器中。

3、系统调用的另一个问题是参数传递问题。

一是由陷阱指令自带参数(陷阱指令的长度总有限);二通过使用有关通用寄存器来传递参数,长度也是比较短;因此,在较多的系统中,大多在内存中开辟专用堆栈区来传递参数。

在系统发生访管中断或陷阱中断时,为了不让用户不直接访问系统程序,反映处理机硬件状态的处理机状态字(PSW)中的相应为要从用户执行模式转变为系统执行模式。这一转换在发生访管中断时由硬件自动实现。

时间: 2024-10-13 22:25:45

操作系统之系统调用简介的相关文章

HelloX操作系统网络功能简介及使用和开发指南

HelloX网络功能简介及使用和开发指南 HelloX网络功能简介 作为物联网操作系统,网络功能是必备的核心功能之一.按照规划,HelloX实现了两个不同类型的TCP/IP协议栈,一个面向资源受限的嵌入式应用,移植了业界成熟使用的lwIP协议栈.该协议栈简洁明了,功能相对简单,同时专门面向嵌入式领域进行设计和优化,对硬件资源要求很低.另外一个协议栈来自BSD操作系统的协议栈,面向复杂的网络功能丰富的应用场景,比如家庭网关,物联网网关等.为了适应HelloX本身的机制,对BSD协议栈做了一些更改和

Linux操作系统中系统调用接口

进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 终止进程 _exit 立即终止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取当前进程组标识号 setpgrp 设置当前进程组标志号 getpid 获取进程标识号 getppid 获取父进程标识号 getpriority 获取调度优先级 setpriority 设置调度优先级

内核态、用户态、应用软件、操作系统(系统调用接口+内核)、硬件、32位、64位的理解、

操作系统32和64位的作用CPU一次最大能处理二进制数.另有64的CPU具有向下的兼容性:64位的系统可以安装32的软件而32的系统不能安装64位的软件 原文地址:https://www.cnblogs.com/zhang-da/p/10907796.html

吴裕雄--天生自然Linux操作系统:Linux 简介

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户.多任务.支持多线程和多 CPU 的操作系统. Linux 能运行主要的 UNIX 工具软件.应用程序和网络协议.它支持 32 位和 64 位硬件.Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. Linux 的发行版 Linu

Linux内核分析——第一章 Linux内核简介

第一章   Linux内核简介 一.Unix的历史 1.Unix系统成为一个强大.健壮和稳定的操作系统的根本原因: (1)简洁 (2)在Unix中,很多东西都被当做文件对待.这种抽象使对数据和对设备的操作都是通过一套相同的系统调用借口来进行的:open(),read(),write(),lseek()和close(). (3)Unix的内核和相关的系统工具软件是用C语言编写而成.(移植能力) (4)进程创建非常迅速,并且有一个非常独特的fork()系统调用. (5)Unix提供了一套非常简单但又

读薄《Linux 内核设计与实现》(3) - 系统调用

这篇文章是<读薄「Linux 内核设计与实现」>系列文章的第 III 篇,本文主要讲了以下问题:系统调用的概念.系统调用的实现原理与过程以及如何在 Linux 中增加一个系统调用. 0x00 系统调用的概念 系统调用是为了和用户空间上的进程进行交互,内核提供的一组界面. 应用程序通过这组界面访问硬件和其他操作系统资源 完成对硬件和资源的访问控制 硬件设备的抽象(提供设备的独立性) 0x01 系统调用简介 I 常用系统调用 fork(), exec(), open(), read(), writ

Linux 内核入门简介

作者 : 韩曙亮 转载请出名出处 : http://blog.csdn.net/shulianghan/article/details/38636827 一. Linux 内核简介 1. 内核功能简介 (1) 操作系统 和 内核 简介 操作系统 : -- 功能 : 完成基本功能 和 系统管理; -- 组成 : 内核(kernel), 设备驱动程序(driver), 启动引导程序(bootloader), 命令行(shell), 用户界面(UI), 文件系统(filesystem), 管理工具;

CentOS 6.5下PXE+Kickstart无人值守安装操作系统

CentOS 6.5下PXE+Kickstart无人值守安装操作系统 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicasttrivia

Linux系统简介

1.操作系统包括 系统调用.内核. Linux 也就是系统调用和内核那两层,当然直观的来看,我们使用的操作系统还包含一些在 其上运行的应用程序,比如文本编辑器,浏览器,电子邮件. 2.Linux 本身只是操作系统的内核.内核是使其他程序能够运行的基础.它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之 上.其中有些程序是必需的,比如说,命令行解释器(shell),它用于用户交互和编写 shell 脚本(.bat文件). 3.下面列举一下 Linux 诞生大事件: