操作系统的定义及作用

  • 操作系统的定义和作用

    定义:一、以尽量有效合理的方式组织和管理计算机的各种硬件资源(CPU、内存、磁盘等)。

    ​ 二、合理组织计算机的工作流程,控制程序的执行,并在程序执行的过程中向程序提供各种各样的服务功能。

    ​ 三、运用某些方式使得用户能灵活、方便的使用计算机,且能够使计算机高效地运行。

    作用:一、操作系统是资源的管理者。

    ​ 二、向用户提供各种服务(通过命令接口、编程接口等接口)。

    ​ 三、屏蔽硬件细节,为用户提供一个扩展的虚拟机器。

    操作系统介于应用程序和硬件之间,他通过对硬件的复用虚拟抽象,为应用程序提供方便快捷的接口。向下操作系统利用某些方式调度计算机硬件,使得计算机能够合理充分且高效的运行。

    • 复用:空分复用共享和时分复用共享。

      a.空分复用共享(space-multiplexed sharing):将资源从“空间”上分割成更小的单位供不同的进程使用。在计算机系统中,内存和外存(磁盘)等是空分复用共享的。

      b.时分复用共享(time-multiplexed sharing):将资源从“时间”上分割成更小的单位供不同的进程使用。在计算机系统中,处理器和磁盘机等是时分复用共享的。

    • 虚拟:对资源进行转化、模拟或整合,把一个物理资源转变成多个逻辑上对应物(也可以把多个物理资源转变成单个逻辑上的对应物),即创建无须共享的独占资源的假象,或创建多余实际物理资源的虚拟资源的假象,以达到多用户共享一套计算机物理资源的目的。

      虚拟技术可用于外部设备(外部设备同时联机操作,如:SPOOLing技术)、存储资源(虚拟内存)和文件系统(虚拟文件系统,如:Virtual File System,VFS)中。

      复用VS虚拟:复用是对实际物理资源的分割,虚拟则是实现假想的物理资源。虚拟技术解决某类物理资源不足的问题,提供易用的虚拟资源和更好的运行环境。

    • 抽象:通过创建接口来屏蔽硬件资源的物理特性和实现细节,简化对资源的操作、控制和使用。

      抽象主要用于处理系统复杂性,重点解决资源易用性问题。

  • 操作系统的主要特征

    操作系统是一个软件。

    操 作 系 统 主 要 特 征 : { 并 发 : 在 一 定 时 间 间 隔 内 同 时 处 理 多 个 活 动 共 享 : 操 作 系 统 允 许 多 个 用 户 的 程 序 共 同 使 用 计 算 机 中 的 资 源 虚 拟 : 把 一 个 物 理 实 体 映 射 或 转 换 为 若 干 个 对 应 的 逻 辑 实 体 随 机 : 对 以 不 可 预 测 的 次 序 发 生 的 事 进 行 响 应 并 处 理 操作系统主要特征: \begin{cases}并发:在一定时间间隔内同时处理多个活动 \\ 共享:操作系统允许多个用户的程序共同使用计算机中的资源 \\ 虚拟:把一个物理实体映射或转换为若干个对应的逻辑实体 \\ 随机:对以不可预测的次序发生的事进行响应并处理 \end{cases} 使

  • 典型操作系统的架构

    经典操作系统的构架:



























































































































    Windows系统









    应用程序









    系统调用









    操作系统扩展层









    硬件









    UNIX系统









    命令和库









    操作系统内核









    LINUX系统









    用户应用程序









    内核







    • 系统调用:为给应用程序的运行提供良好环境,内核提供了一系列具有预定功能的服务例程,通过一组成为**系统调用(System Call)**的接口呈现给用户,系统调用把应用程序的请求传递给内核,调用相应的服务例程完成所需处理,并将处理结果返回给应用程序。

      注:系统调用的编号称为功能号。

      • 系统调用是应用程序获得操作系统服务的唯一途径。

      系统调用执行过程:当CPU执行程序中的访问指令[supervisor,也称陷阱指令(TRAP指令)或中断指令(interrupt)]实现的系统调用时会产生异常信号,用过**陷阱机制**[也称异常处理机制,当异常或中断发生时,处理器捕捉到一个执行线程,并将控制权转移到操作系统中某一个固定地址的机制],处理器的状态由用户态[^user mode,又称目态或普通态]转变为核心态[^kernel mode,又称管态或内核态],进入操作系统并执行相应服务例程,以获得操作系统服务。当系统调用执行完毕时,处理器切换回用户态,控制返回至发出系统调用的程序。

      系统调用的作用:

      1.内核可以基于权限和规则对资源访问进行裁决,保证系统的安全性。

      2.系统调用对资源进行抽象,提供一致性接口,避免用户在使用资源时发生错误,且编程效率大大提高。

      系统调用与函数调用的区别:

      1.调用形式和实现方式不同。功能号VS地址;用户态转换到内核态VS用户态。

      2.被调用代码的位置不同。动态调用+操作系统VS静态调用+用户程序。

      3.提供方式不同。操作系统VS编程语言。

    • 内核:一组作为可信软件来提供支持进程并发执行的基本功能和基本操作的程序模块。通常处于内核空间,运行于内核态,具有直接访问硬件设备和所有内存空间的权限,是唯一可以执行特权指令的程序。

      内核是操作系统对计算机硬件的第一次抽象,内核和硬件构成了第一层虚拟机,进程在虚拟机上运行。

  • 操作系统的分类

    传统分类、Tenenbaum的分类: