OS 第二章

1、OS服务和接口

即 OS服务、OS程序接口-系统调用、OS用户界面、系统程序
  • OS服务

  • 基本服务:OS以服务的形式向程序和用户提供执行程序的基本服务,包括用户界面、程序执行、IO操作、文件系统操作、通信、错误检测等。

  • 增值服务:如资源分配、统计、保护和安全等。

  • OS服务包含了三种形式
    系统调用、用户接口和系统程序

  • 系统调用(是提供给程序的服务形式,大大简化程序员的编程工作,一般用c/c++等高级语言编写,可以供程序通过应用程序接口(API)访问,系统调用类似类中函数的实现部分,API只是函数声明,程序通过调用API执行系统调用的代码。系统调用在程序中无处不在,各种文件操作、屏幕输出、设备访问都需要调用系统调用),三种常用APIs(Windows Win32 API、POSIX API(Mac os和Unix使用)以及JVM的Java Api),调用API的本质就是进行一次系统调用。(所以需要从user态转换到kernel态)

  • 用户接口和系统程序(提供给用户的服务形式)

    • 用户接口有 命令行接口图形接口
      • 命令行接口-CLI,由内核或系统程序实现;一般有多种实现方式,也称为shells。其优点是简单、健壮、效率高。缺点是使用不方便、界面不美观。常见的比如Linux下的xshell.
      • 图形接口-GUI,以鼠标操作为主(或者触屏)。
      • 目前许多OS同时包含这两种用户接口。
    • 系统程序,用于管理、维护OS的程序。比如文件管理、设备管理、文本编辑等等。

2、OS结构

  • 介绍OS的4种主要设计结构

  • 简单结构层次结构微内核结构模块化结构

  • 微内核:让更少的代码运行在核心态,保证系统稳定性。缺点是会增加用户空间和内核空间通信的系统开销。解决办法是 提出消息传递机制。

  • 模块化结构使用面向对象的方法,每个核心部件分开,任意两个模块都能通过接口调用,特定模块在需要时被加载到内核。

3、虚拟机

  • 什么是虚拟机?

    • 是一种通过软件模拟实现,具有完整硬件系统功能,并运行在一个完全隔离环境中的完整计算机系统。一般把物理计算机资源进行共享,用于创建若干个虚拟机。属于逻辑计算机。
  • 三种虚拟机:java虚拟机、工作站虚拟机(比如Windows下的Guest)、服务器虚拟机。

    • 高级语言虚拟机,如jvm,主要功能是提供一个代码运行的容器,并模拟代码的执行,使得代码能够跨平台运行。jvm运行在os和jre之间,使得java程序本身和os无关。因此能够跨平台。但是不同OS需要不同的JVM,才能执行编译完成的字节码文件。

    • 工作站虚拟机,安装在硬件上的OS称为Host OS,安装在OS上的OS称作Guest OS。好处是在同一计算机上使用多个OS。比如建立多个Guest。比如VMWare Station。

    • 服务器虚拟机,将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的服务器虚拟机。 常见为一虚多和多虚一。

  • 用户如何使用虚拟机?

    • 软件模式,比如登录服务器
    • 硬件模式,需要一个终端(通过网络和服务器虚拟机相连,比如之前华为的终端设备。)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。