操作系统笔记一 操作系统概述

Posted Lora青蛙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统笔记一 操作系统概述相关的知识,希望对你有一定的参考价值。

1.1 操作系统的概念

操作系统地位

硬件抽象层(HAL)之上
所有其它软件层之下

运行视图
系统库(lib)可调用操作系统,执行硬件指令
应用程序可以调用lib和操作系统,执行硬件指令

操作系统作用

  • 管理系统中软件硬件资源
    CPU: 一个CPU, 多个可运行的程序
    内存: 进程空间相对独立, 支持共享
    设备: 分配, 驱动
    文件: 实现文件系统, 支持文件操作
  • 为用户(应用程序)提供良好的服务(界面)
    API
    GUI, 行式命令(ls, cd, cat, vi, rm, mount, …)
    JCL (Job Control Language)

操作系统定义

操作系统是位于硬件层(HAL)之上,所有其它软件层之下的一个系统软件,是管理系统中各种软硬件资源,方便用户使用计算机系统的程序集合。

1.2 操作系统的特性

并发性

  • 多个程序在宏观上同时向前推进
  • 并发(concurrent) vs. 并行 (parallel)
    用户程序与用户程序并发
    用户程序与OS并发
    OS与OS并发

共享性

  • 多个程序共用系统中的各种软硬件资源
  • 在操作系统的协调和控制下

异步性(随机性)

  • 多个程序以不可预知的速度向前推进

虚拟性

  • 把一个实的CPU改造为多个虚的CPU
  • 内存+外存→虚存
  • 独占设备+共享设备→虚拟设备(数量多,速度快)

1.3 操作系统的硬件环境

定时装置

  • 绝对时钟:记载实际时间,不发中断。
    系统操作员可以修改
    一般用户使用
  • 间隔时钟:定时发生中断,一般间隔单位为“毫秒”。
    间隔时钟是实现多道程序的基础—保证操作系统获得控制权。
    其它中断也进入操作系统,但是否发生,何时发生没有保障。

系统栈

  • 作用
    保存中断现场
    保存函数调用返回点、参数、局部变量、返回值
  • 数量
    每个进程一个
  • 位置
    操作系统区域
    UNIX: ppda(user, 系统栈)
    操作系统最高页(第7页,共8页)是运行进程的ppda

特权指令与非特权指令

  • 特权指令(privileged instruction)
    只有在管态才能执行的指令(影响系统状态)
    关中断,置程序状态字,停机, IO,…….
  • 非特权指令(non-privileged instruction)所有程序可用(不影响系统状态)
    取数,四则运算,……

处理机状态及状态转换

  • 处理机状态
    系统态(system mode)(管态,核态)
    用户态(user mode) (目态,常态)
  • 状态转换
    管态 → 目态(置程序状态字,特权指令)
    目态 → 管态(中断,trap)

例子

  • IBM 360/370 PSW 状态位(第15位)
    0:系统态
    1:用户态
  • Modern PC now support 4 modes:
    R0(权限最强)
    R1
    R2
    R3(权限最弱)

地址映射机构
逻辑地址 → 物理地址
逻辑地址(虚地址):程序中产生的地址
物理地址(实地址):存储器地址

存储保护设施

  • 防止应用程序
    侵犯操作系统空间;
    侵犯其它用戶空间.
  • 地址检查
    越界检查;
    越权检查(对共享区域)

中断装置

  • 发现并响应中断的硬件机构
    当前(PSW,PC)→系统栈
    中断向量(PSW,PC)→寄存器

通道与DMA控制器

通道:负责IO操作的处理机

  • 通道指令系统
    读写操作
    控制操作
    转移操作
  • 通道运控部件
    通道地址字CAW
    通道命令字CCW
    通道状态字CSW
    通道数据字CDW

DMA
没有独立指令系统
简单块传输
DMA(Direct Memory Access)控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来执行传输的。

IO保护

  • 定义所有IO指令为特权指令
    方便使用
    防止发生冲突

1.4 操作系统的界面形式

  • 交互终端命令(Command Language)
    Eg. UNIX shell
    $命令名 -选项 参数
  • 图形界面(GUI—Graphic User Interface)

UNIX shell interface

优点:
缩小核心
不同用户可以选择不同界面

cc与shell都属于目态进程
二者具有父子关系

  • 作业控制语言(Job Control Language)
  • 作业标识语句
    用户标识,作业标识,帐号
  • 作业步语句(编译、连接装配、执行)
    一般对应子进程
  • 资源描述语句
    内存需求,计算时间,其它资源
  • Goto语句(正向转移)
    作业控制无循环

系统调用命令(OS API)

  • 高级语言形式
    fd = open(file_name,mode)
  • 汇编语言形式
    准备参数
    trap n
    取返回值

1.5 操作系统的运行机理

操作系统运行机理 :

1.6 研究操作系统的几种观点

进程观点

  • 支持进程
  • 支持进程之间的协同(互斥、同步、通讯)

资源管理观点

  • 操作系统是资源管理者
    方便使用
    防止冲突

虚拟机观点

  • 对硬件的第一次扩充
  • 提供虚拟资源
    单个实的CPU→多个虚拟CPU
    内存+外存→虚拟存储
    独占设备+共享→虚拟设备

以上是关于操作系统笔记一 操作系统概述的主要内容,如果未能解决你的问题,请参考以下文章

王道操作系统笔记———— 计算机系统概述

操作系统学习笔记 第一章:操作系统概述(王道考研)

操作系统学习笔记 第一章:操作系统概述(王道考研)

《操作系统基础》笔记:概述

专栏必读王道考研408操作系统万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图

读书笔记《深入理解计算机系统》(第三版) 概述