其实,我只是把 PPT Ctrl+C、Ctrl+V 了一下(捂脸)

2.0 概要

操作系统是用户与计算机硬件之间的接口。

为了方便地使用操作系统,操作系统向用户提供了“用户与操作系统之间的接口”,通常也称为用户界面。

用户界面的形式:联机命令形式、系统调用形式、图形接口、面向网络的网络用户接口。

2.1 用户工作环境

2.1.1 用户环境

形成用户环境包含下面3个方面的工作:

① 设计合理的操作命令,它允许用户处理由操作系统支持的各种目标,如设备、文件、进程。

② 提供各种硬件资源,并要提供关于操作系统的使用说明。

③ 将操作系统装入计算机,并对系统参数和控制结构进行初始化,以使计算机系统能够为用户工作。

2.1.2 系统的生成和启动

系统初启又叫系统引导。它的任务是把操作系统的必要部分装入内存并使系统运行,最终使系统处于命令接收状态。

系统引导分为3个阶段。

① 初始引导:把系统核心装入内存中的指定位置,并在指定地址启动。

② 核心初始化:执行系统核心的初启子程序,初始化系统核心数据。

③ 系统初始化:为用户使用系统做准备。

1.初始引导

初始引导也叫自举。自举的含义是操作系统把自己建立起来,这是目前大多数系统所常用的一种引导方法。

初始引导的任务就是把核心送入内存并启动它运行。系统核心是存放在辅存上的。如何能在辅存上的文件中找到这个核心并送到内存中,这需要有一程序做这件事,该程序称为装配程序

2.核心初始化

主要任务:初始化核心数据

核心页表寄存器与核心数据初始化。

② 建立0号进程。 0号进程是系统建立的第1个且永远处于核心态的唯一的进程。 它的主要任务是按照系统的需要把即将运行的进程送入内存,并把近期内不运行的进程送到辅存上。

③ 建立1号进程。1号进程是建立初始进程,它的作用是实现系统的初始化。

3.系统初始化

这一阶段的主要任务是做好一切准备工作,使系统处于命令接受状态,这时用户可以使用机器了。

系统初始化是由1号进程执行初始化程序实现的。

2.1.3 运行一个用户程序的过程

作业处理步骤:编辑(修改)、编译、连接、运行。

  • 编辑(修改):建立一个新文件,或对已有的文件中的错误进行修改。
  • 编译:将源程序翻译成目标代码。完成这一步工作需要有相应语言的编译器。
  • 连接:将主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的、完整的内存映像文件。
  • 运行:将内存映像文件调入内存,并启动运行,最后得出计算结果。

作业:要求计算机系统按照指定的步骤对初始数据进行处理并得到计算结果的加工工作。一个作业包含了需要处理的数据和处理的程序。

2.2 操作系统用户界面

2.2.1 操作系统用户界面概述

操作系统可以通过程序接口操作接口两种方式把它的服务和功能提供给用户。

  • 程序接口又称应用编程接口,程序中使用这个接口可以调用操作系统的服务和功能。
  • 操作接口又称命令接口,是操作系统为用户操作控制计算机工作和提供服务的手段的集合。
2.2.2 操作接口

分类:

1)系统访问类

2)磁盘操作类:磁盘格式化命令、复制整个软盘命令、软盘比较命令、备份命令。

3)文件操作类:显示文件命令、拷贝文件命令、文件比较命令、重新命名命令、删除文件命令。

4)目录操作类:建立子目录命令、显示目录命令、删除子目录命令、显示目录结构命令、改变当前目录命令。

5)通信类:输入/输出重定向命令、管道连接、过滤命令、批命令(.BAT)。

6)其他命令

2.2.3 图形用户接口(GUI)

2.3 系统调用(重点)

2.3.1 系统调用的基本概念

系统调用是用户程序或其他系统程序获得操作系统服务的唯一途径。

2.3.2 系统调用与过程调用(函数调用)的区别
1)调用形式不同

① 过程调用使用一般调用指令,其转向地址是固定不变的,包含在跳转语句中;

② 系统调用中不包含处理程序入口,而仅仅提供功能号,按功能号调用

2)被调用代码的位置不同

① 过程调用是一种静态调用,调用者和被调用代码在同一程序内。

② 系统调用是一种动态调用,系统调用的处理代码在调用程序之外(在操作系统中),这样一来,系统调用处理代码升级或修改时,与调用程序无关。

3)提供的方式不同

① 过程调用往往由编译系统提供,不同编译系统提供的过程调用可以不同

系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量便固定不变了。

4)调用的实现不同

① 程序使用一般机器指令(跳转指令)来调用过程(函数),是在用户态运行的;

② 程序执行系统调用,是通过中断机构来实现,需要从用户态转变到核心态,在管理状态执行。

2.3.3 系统调用的基本类型(记)
1) 进程控制类系统调用

① 创建和终止进程的系统调用。

② 获得和设置进程属性的系统调用。

③ 等待某事件出现的系统调用。

2)文件操纵类系统调用

① 创建和删除文件。

② 打开和关闭文件。

③ 读和写文件。

3)进程通信类系统调用

在操作系统中经常采用两种进程通信方式,即消息传递方式和共享存储区方式。

4)设备管理系统调用

申请设备、释放设备、设备I/O和重定向、获得和设置设备属性、逻辑上连接和释放设备。

5)内存管理系统调用

申请内存和释放内存;虚拟存储器的管理。

6)信息维护系统调用

建立和断开通信连接、发送和接收消息、传送状态信息、联接和断开远程设备。

2.3.4 系统调用的实现

在操作系统中,实现系统调用功能的机制称陷入或异常处理机制,由于系统调用而引起处理器中断的机器指令称访管指令(supervisor)、陷入指令(trap)或异常中断指令(interrupt)