编程菜鸟到大佬之路:linux操作系统(一)

第一章 操作系统的基本知识

从 UNIX 到 Linux 的发展历程


  • 重要的UNIX标准包括: ANSI C、IEEE POSIX 等,UNIX 标准只是对应用程序接口进行统一,内部实现机
    制则留给操作系统开发者自行实现。

  • ANSI C

    • ANSI C 是美国国家标准协会 (ANSI) 于1983年发布的 C 语言标准;
    • 1989年,此标准被采纳为国际标准 ISO/IEC 9899:1990;
    • ISO C 标准现旨在提供应用程序的可移植性,使其能适应于不同的操作系统,而不仅仅是 UNIX 操作系统。
  • POSIX

    • 1986年,IEEE 制定了IEEE P1003 标准,这套标准被称为 POSIX (Potable Operating System Interface);
    • POSIX 定义了一整套的应用程序接口,包括系统调用、库函数、公共命令;
    • POSIX 标准希望在源代码级别保证应用程序可移植性。
  • 自由软件并不是指“免费”的,而是指具有“自由度”的软件,也就是使用者运行、复制、发布、研究、修改和改进该软件的自由。

  • GNU通用公共许可协议

    • GNU GPL 是一个广泛被使用的自由软件许可协议条款,最初由 Stallman 为 GNU 计划而撰写,GPL 授予程序接受人以下权利,或称“自由”;
    • 以任何目的运行此程序的自由;
    • 再发行复制件的自由;
    • 改进此程序,并公开发布改进的自由;
    • Linux 是在 GNU 通用公共许可证下发行,它却不是 GNU 计划的一部分;
    • Linux 是一种外观和性能与 UNIX 相同或更好的操作系统,但 Linux 不源于任何版本的 UNIX 的源代码,是一个类似于 UNIX 的产品。

UNIX/Linux 体系结构


  • 操作系统在计算机体系中的位置
    在这里插入图片描述

  • 内核的功能

    • 内存管理
      • 内存分配调用
        • 包括静态分配方式、动态分配方式。
      • 内存保护
        • 确保每个程序在自己的内存空间运行、互不干扰;
        • 方法是使用界限寄存器或存储保护键。
      • 地址映射
        • 实现程序的逻辑地址与存储器的物理地址之间的映射功能。
      • 内存扩充
        • 从逻辑上扩充物理内存,以允许比物理内存更大的程序在机器内运行,为此操作系统必须具有请求调入功能与置换功能。
    • 进程管理
      • 进程控制
        • 包括进程创建、进程撤销、进程阻塞、进程唤醒。
      • 进程协调
        • 由于进程运行的异步性,因此进程同步的任务是对诸进程的运行协调,包括两种方式:进程互斥方式与进程同步方式。
      • 进程通信
        • 主要完成同一台机器上不同进程间通信和不同机器上进程间的通信,以共同完成一相同的任务。
      • 进程调度
        • 操作系统按照一定的规则对等待运行的多道程序进行调度,以保证每个程序都能有机会得到运行,并最终完成。
    • 文件管理
      • 文件存储空间的管理
        • 为每一文件分配必要的外存空间;
        • 为提高外部存储空间的利用率,系统应设置相应的数据结构,用于记录文件存储空间的使用情况。
      • 目录管理
        • 为了方便对用户的文件进行管理,对文件系统建立一定结构的目录结构;
        • 同时要求快速的目录查询手段。
      • 文件的读、写管理和存取控制
        • 利用一定的系统调用对文件进行读写操作;
        • 为防止系统中的文件被非法访问和窃取,文件系统中必须提供有效存取控制功能。
    • 设备管理
      • 缓冲管理
        • 管理各种类型的缓冲区,如字符缓冲区和块缓冲区;
        • 缓和CPU和I/O速度不匹配的矛盾,最终达到提高CPU和I/O设备的利用率,进而提高系统吞吐量的目的。
      • 设备分配
        • 根据用户的I/O请求,为之分配其所需要的设备。
      • 设备处理
        • 又称为设备驱动程序,任务是实现CPU和设备控制器之间的通信。
      • 设备独立性和虚拟设备
        • 一方面保证用户程序独立于物理设备,另一方面保证多个进程能并发地共享同一个设备。
  • Unix/Linux 系统架构
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/faker1895/article/details/86664176