📜  系统调用介绍

📅  最后修改于: 2022-05-13 01:56:11.459000             🧑  作者: Mango

系统调用介绍

在计算中,系统调用是计算机程序向其执行的操作系统内核请求服务的编程方式。系统调用是程序与操作系统交互的一种方式。计算机程序在向操作系统内核发出请求时会进行系统调用。系统调用通过应用程序接口(API)为用户程序提供操作系统的服务。它提供了进程和操作系统之间的接口,允许用户级进程请求操作系统的服务。系统调用是进入内核系统的唯一入口点。所有需要资源的程序都必须使用系统调用。

系统调用提供的服务:

  1. 流程创建和管理
  2. 主内存管理
  3. 文件访问、目录和文件系统管理
  4. 设备处理(I/O)
  5. 保护
  6. 网络等。

    系统调用的类型:有 5 种不同类别的系统调用 -

    1. 进程控制:结束、中止、创建、终止、分配和释放内存。
    2. 文件管理:创建、打开、关闭、删除、读取文件等。
    3. 设备管理
    4. 信息维护
    5. 沟通

    Windows 和 Unix 系统调用示例 -



    WindowsUnix
    Process ControlCreateProcess()
    ExitProcess()
    WaitForSingleObject()
    fork()
    exit()
    wait()

    File Manipulation

    CreateFile()
    ReadFile()
    WriteFile()
    CloseHandle()
    open()
    read()
    write()
    close()
    Device ManipulationSetConsoleMode()
    ReadConsole()
    WriteConsole()
    ioctl()
    read()
    write()
    Information MaintenanceGetCurrentProcessID()
    SetTimer()
    Sleep()
    getpid()
    alarm()
    sleep()
    CommunicationCreatePipe()
    CreateFileMapping()
    MapViewOfFile()
    pipe()
    shmget()
    mmap()
    ProtectionSetFileSecurity()
    InitlializeSecurityDescriptor()
    SetSecurityDescriptorGroup()
    chmod()
    umask()
    chown()

    参考 - http://www.cs.columbia.edu/~jae/4118/L02-intro2-osc-ch2.pdf