LINUX中断和系统调用实现机制及fork实例分析.docVIP

  • 12
  • 0
  • 约7.39千字
  • 约 9页
  • 2016-02-02 发布于江苏
  • 举报

LINUX中断和系统调用实现机制及fork实例分析.doc

LINUX中断和系统调用实现机制及fork实例分析.doc

LINUX中断与系统调用实现机制及fork实例分析 1.Linux系统调用概述 1.1 系统调用的作用 系统调用(system_call)是操作系统中必不可少的一个组成部分,系统调用命令是操作系统为满足用户所需的功能和保证程序的正常运转事先编制好的具有特定功能的例行子程序。在高级语言如C中,常以函数的形式出现。它们使得编程人员不需要太多了解系统就能完成复杂的编程。例如,在程序中安排一条创建进程的系统调用,则OS便会为之创建一个新的进程。它一般运行在核心态;可通过中断进入,返回时通常需要重新调度。 系统调用是用户程序和内核交互的接口。如果没有系统调用,那么应用程序就失去了内核的支持。 提到内核态及用户态,就顺便介绍下LINUX的内核保护机制。 1.2 内核保护机制 Linux系统在CPU的保护模式下提供了四个特权级别,目前内核都只用到了其中的两个特权级别,分别为“特权级0”和“特权级3”,级别0也就是通常所讲的内核模式,级别3即用户模式。划分这两个级别主要是对系统提供保护。内核模式可以执行一些特权指令和进入用户模式,而用户模式则不能。 内核模式与用户模式分别使用各自的堆栈,当发生模式切换的时候同时要进行堆栈的切换。每个进程都有自己的地址空间(也称为进程空间),进程的地址空间也分为两部分:用户空间和系统空间,在用户模式下只能访问进程的用户空间,

文档评论(0)

1亿VIP精品文档

相关文档