操作系统:导论及操作系统结构

目录

  • 一、导论

    • 1.进程管理

    • 2.内存管理

    • 3.存储管理

    • 1.操作系统结构

    • 2.操作系统的操作

    • 1.单处理系统

    • 2.多处理系统

    • 1.启动(booting)

    • 2.中断

    • 3.I/O结构

    • 4.存储结构

    • 1.操作系统的定义

    • 2.计算机系统的结构

    • 3.计算机系统组织

    • 4.计算机系统的体系结构

    • 5.操作系统的结构及操作

    • 6.操作系统管理

    • 7.其他计算机系统

  • 二、操作系统结构

    • 1.系统调用

    • 2.系统程序

一、导论

1.操作系统的定义

操作系统是计算机用户与计算机硬件之间运行的一个程序。通常狭义上被称为内核(Kernel)程序,其他程序则为系统程序和应用程序。
它是资源管理平台,运行程序的平台,也是为用户提供服务的平台

  1. 资源管理服务:资源包括硬件资源和软件资源

  2. 为用户提供服务:交互、提供应用程序的运行环境等

操作系统的目标:

  1. 通过运行计算机的应用程序,方便用户解决问题

  2. 方便用户操作使用计算机

  3. 有效使用计算机硬件资源

2.计算机系统的结构

计算机系统的结构是层次结构

  1. 硬件
    提供最基本的计算资源,如CPU, 内存,I /O设备等

  2. 操作系统
    协调控制多个应用或多个用户对硬件的使用

  3. 应用程序
    为解决用户的问题,定义了解决方法的程序,比如文体编辑器,网页浏览器, 数据库, 游戏等

  4. 用户
    人、设备、其他计算机系统

3.计算机系统组织

1.启动(booting)

确认每个设备是否工作正常。确认无误后,开
启引导程序- bootstrap(引导程序一般位于ROM 或EEROM 中称为计算机硬件中的固件)。
引导程序的工作内容包括:

  1. 初始化设备

  2. 把操作系统载入到内存中

  3. 运行第一个进程init(), 等待事件发生

2.中断

  1. 硬中断
    即硬件通过向CPU发送信号来触发中断,一般对用户不可见,但可触发程序的运行。如网卡接收数据包,可以屏蔽

  2. 软中断
    即通过软件触发中断。系统调用(System Call) 会触发软件中断。如异常,除零( divide by zero),不可以屏蔽

系统一旦发生中断,CPU会运行中断服务程序(InterruptService Routine),且每个中断都有自己对应的中断服务程序ISR

系统通过中断向量表(Interrupt Vector Table)来管理中断请求与中断服务程序之间的对应关系

当发生中断时,

  • 保存当前进程的程序计数器(Program Counter)

  • 跳到相应的中断服务程序中,运行相应的中断服务程序

一旦中断服务程序运行结束,

  • 返回到被中断的程序(by PC),并继续往下运行

  • 或者返回到操作系统指定的程序中

3.I/O结构

  1. I/O设备与CPU可同时运行

  2. 每个设备控制器负责相应类型的设备,如磁盘控制器负责磁盘

  3. 每个设备控制器拥有自己的本地缓冲器和寄存器

  1. CPU负责内存与本地缓冲器之间的数据传递

  2. 设备控制器负责在其所控制的外部设备与本地缓冲存储之间
    进行数据传递

  3. I /O 操作结束后,设备控制器通过中断通知CPU 表示I /O 结束

I/O 操作分为

  1. 同步( Synchronous) 操作: 只有I/O 结束后,用户程序才能获得控制权,即I/O 进行期间,用户程序无法继续运行。

  2. 异步( Asynchronous )操作: I/O 还没有结束的情况下,用户程序可以获得控制权,即I/O进行期间,用户程序可以继续运行。

4.存储结构

一级存储设备指内存(主存)。CPU可以直接随机访问的唯一大容量存储设备,是易失存储设备。易失存储设备指的是断电后,数据会丢失的设备。

二级存储设备: 一般不易失的存储设备,一般是磁盘类

4.计算机系统的体系结构

1.单处理系统

  • 系统中只有一个通用处理器(CPU),用来处理来自用户进程的指令

  • 除了通用处理器,系统一般还包括其他专用处理器,如磁盘控制器、图形控制器等,专用处理器不接受用户的指令,只接受系统的指令

  • 有的通用处理器集成了专用处理器,具有专用处理器功能

2.多处理系统

  • 系统中有多个处理器,又称为并联系统(parallel systems),多个处理器共享一个内存

  • CPU之间通过共享内存来进行通讯

  • 操作系统可以运行在某一个CPU上或多个CPU上

多处理器系统的优点

  • 增加了吞吐量(throughput)

  • 方便扩展

  • 增加了可靠性

  1. 非对称处理器,又称异构多处理器,Asymmetric Multiprocessor(AMP)
    (1)处理器在结构上不同
    (2)一个处理器负责运行操作系统,其它处理器运行其他程序,处理器之间有主从关系

  2. 对称处理器,又称同构多处理器Symmetric Multiprocessor(SMP)
    (1)各处理器在结构上完全相同
    (2)操作系统可以运行在任何一个处理器上,处理器之间没有主从关系。

  3. Multi-Core - 多核处理器
    一个处理器上有多个CPU,也就是多个处理器集成到一个芯片上,可以是对称多处理器,也可以是非对称多处理器

注意:多处理器环境下,不管多处理器还是多核处理器、每个处理器都需要有自己的寄存器和高速缓存,为什么

5.操作系统的结构及操作

1.操作系统结构

  1. 批处理系统
    为避免当CPU发出I/O请求,设备进行I/O操作时,CPU就会空闲(idle)的情况。当发生I/O 操作时,由操作员调度另一个程序运行,从而提高CPU的使用率。

  2. 多道程序系统
    把操作员的工作内容写到操作系统里,由操作系统进行任务的调度。为保障CPU总有任务运行(提高CPU的使用率),多道程序系统必须把需要运行的多个任务载入到内存以被选择并运行。

  3. 分时系统
    给每个任务赋予一个给定的时间片(time slot,time slice)。CPU 在多任务之间相互切换

多道程序系统 和 分时系统两者目的不同

  1. 多道程序系统: 为提高CPU的使用率,让CPU忙

  2. 多任务系统(分时系统):让每个任务能公平使用CPU,体现了公平性

2.操作系统的操作

为了确保操作系统的正常运行,必须区分操作系统的代码和用户代码的执行

大部分采用的方法是提供硬件支持的双重模式操作,即用户模式和内核模式

  1. 用户模式时,用户掌握计算机的控制权,运行用户代码

  2. 内核模式时,操作系统掌握计算机的控制权,运行系统代码

通过模式位(Mode bit)来区分即用户模式和内核模式

如系统调用(System Call),当用户程序调用系统调用函数的时候,操作系统的运行模式从用户模式转变成内核模式,如调用printf() 函数

6.操作系统管理

1.进程管理

程序是被动实体,而进程是活动实体
进程是运行中的程序,是系统的运行单元

  1. 在一个系统中有无数个进程在同时运行,运行在一个或多个CPU 上,进程之间通过复用CPU并发运行

  2. 运行进程需要分配一定的资源,如CPU, 内存, I/O设备,存储设备等。当进程结束时,也应收回已分配的资源,从而让进程有效使用这些资源

2.内存管理

  1. 内存管理的主要目的就是提高内存的使用率,从而有效使用内存

  2. 管理内存中的数据的存储、指令的运行

内存管理活动包括以下内容:

  1. 当有内存有空闲空间时,决定哪些进程可以载入内存、载入到哪里等

  2. 记录内存的哪些部分正在使用以及被谁使用

  3. 根据需要分配和释放内存空间,即分配的方式

3.存储管理

  1. 操作系统对存储设备的物理属性进行了抽象的定义,即文件,它是存储的逻辑单元

  2. 计算机可以在多种类型的物理介质上存储信息
    · 每种介质通过一个设备来控制,如磁盘驱动器、磁带驱动器
    · 每个介质有不同的访问速度、容量、数据传输率和访问方法

  3. 文件通常组成目录以方便使用

  4. 多用户访问文件时,需要控制权限问题

大容量存储系统(Mass-Storage System)
一般指的二级存储设备,如硬盘,它的管理活动包括以下内容:

  1. 空闲空间的管理

  2. 存储空间的分配

  3. 硬盘的调度

7.其他计算机系统

实时系统是指系统中的任务都有时间节点的系统。如军事设备、医疗设备上使用的系统

二、操作系统结构

1.系统调用

系统调用是是操作系统服务的编程接口

程序通过应用程序接口(API)访问,而不是直接使用系统调用

API/系统调用/OS间的关系:

每个系统调用都有一个固有番号(System Call Number)
操作系统通过一张系统调用番号表来管理系统调用接口

向系统调用函数传递参数的方式,有以下三种

  1. 寄存器

  2. 块(block):参数保存在内存中的一个块中,并把块地址用寄存器传递给系统调用函数

  3. 栈(stack):以栈的形式保存在内存中,用户程序向栈push参数,操作系统从栈中pop 参数

2.系统程序

系统程序不属于内核,但属于操作系统的一部分。为程序开发和执行提供了一个方便的环境。

(0)

相关推荐