• 操作系统中主要操作硬件的,主要可以分为内存管理、文件管理、进程管理、设备管理几个模块。

内存管理

  • 内存分配调用: 包括静态分配方式、动态分配方式;
  • 内存保护:确保每个程序在自己的内存空间运行、互不干扰。方法是使用界限寄存器或存储保护键;
  • 地址映射:实现程序的逻辑地址与存储器的物理地址之间的映射功能;
  • 内存扩充:从逻辑上扩充物理内存,以允许比物理内存更大的程序在机器内运行,为此操作系统必须具有:请求调入功能与置换功能。

进程管理

  • 进程控制:包括进程创建、进程撤销、进程阻塞、进程唤醒;
  • 进程协调:由于进程运行的异步性,因此进程同步的任务是对诸进程的运行协调,包括两种方式:进程互斥方式与进程同步方式;
  • 进程通信:主要完成同一台机器上不同进程间通信和不同机器上进程间的通信,以共同完成一相同的任务;
  • 进程调度:操作系统按照一定的规则对等待运行的多道程序进行调度,以保证每个程序都能有机会得到运行,并最终完成。

文件管理

  • 文件存储空间的管理:为每一文件分配必要的外存空间。为提高外部存储空间的利用率,系统应设置相应的数据结构,用于记录文件存储空间的使用情况;
  • 目录管理:为了方便对用户的文件进行管理,对文件系统建立一定结构的目录结构,同时要求快速的目录查询手段;
  • 文件的读、写管理和存取控制:利用一定的系统调用对文件进行读写操作。同时,为防止系统中的文件被非法访问和窃取,文件系统中必须提供有效存取控制功能;

设备管理

  • 缓冲管理:管理各种类型的缓冲区,如字符缓冲区和块缓冲区,以缓和CPU和I/O速度不匹配的矛盾,最终达到提高CPU和I/O设备的利用率,进而提高系统吞吐量的目的;
  • 设备分配:根据用户的I/O请求,为之分配其所需要的设备;
  • 设备处理:又称为设备驱动程序,任务是实现CPU和设备控制器之间的通信;
  • 设备独立性和虚拟设备:一方面保证用户程序独立于物理设备,另一方面保证多个进程能并发地共享同一个设备。

操作系统接口

  • 命令接口:以命令形式呈现在用户面前,方便用户直接或间接控制自己的作业

  • 程序接口:为应用程序使用系统功能而设置,是应用程序取得操作系统服务的唯一途径。由一系列系统调用组成,每一个系统调用都是一个能完成特定功能的子程序。

  • 图形接口:采用了图形化的操作界面,将各种应用程序和文件,直观、逼真地表示出来。
    Linux系统体系及功能

  • 根据上图可以看出,malloc库函数是调用系统调用的sbrk实现的,由此可知,有些库函数也会通过系统调用去操作硬件来实现其功能,其中printf就是通过write系统调用实现的,但也不全是,像strcpy和atoi等库函数就不会。

  • Linux系统体系及功能
    Linux系统体系及功能

  • 这个图上一节的图片有一定的意思,可以看到Application可以直接调用System Call。

相关文章:

  • 2021-08-01
  • 2022-12-23
  • 2021-11-23
  • 2021-08-30
  • 2022-12-23
  • 2021-11-17
猜你喜欢
  • 2022-01-02
  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2021-12-24
  • 2021-11-30
  • 2021-12-29
相关资源
相似解决方案