首页 > 其他分享 >操作系统 — 精髓与设计原理(第二章 操作系统概述)

操作系统 — 精髓与设计原理(第二章 操作系统概述)

时间:2023-01-10 17:12:30浏览次数:43  
标签:操作系统 错误 程序 精髓 系统 处理器 进程 第二章

操作系统概述

|600

2.1 操作系统目标和功能

三个目标

  • 方便:易于使用
    • 作为用户/计算机接口,提供方便的服务
      • 程序开发/运行
      • I/O设备访问
      • 文件控制访问
      • 系统访问
      • 错误检测和响应
      • 记账(监控)
  • 有效:可以有效利用计算机系统资源
  • 拓展能力:可以有效开发、测试和引入新的系统功能
    • 硬件升级和新硬件
    • 新的服务
    • 纠正错误(打补丁)

2.2 操作系统演化

  • 串行处理
  • 简单批处理系统
    • 使用一个称为监控程序的软件,监控程序自动加载,提供计算机利用率
  • 多道批处理系统
    • 解决I/O设备相对于处理器速度太慢,单道程序使得处理器经常处于空间状态
    • 对多道程序设计最有帮助的硬件是:支持I/O中断和直接内存访问(DMA)的硬件
  • 分时系统
    • 允许多个用户通过终端同时分享处理器时间
    • 多道程序设计的目的是同时处理多个批作业;而分时系统的目标是减少用户的响应时间

2.3 主要研究成果

4个重要理论进展

进程、内存管理、信息保护和安全、调度和资源管理

  • 进程
    • 定义
      • 一个正在执行的程序
      • 计算机中正在执行的程序的一个实例
      • 可分配给处理器并由处理器执行的一个实体
      • 由一个单一顺序线程、一个当前状态和一组相关系统资源所表征的活动单元
    • 计算机发展的三条主线
      • 多道程序批处理系统
      • 分时系统
      • 实时事务处理系统
    • 组成:
      • 一段可执行的程序
      • 程序所需要的相关数据(变量、工作空间、缓冲区等)
      • 程序的执行上下文(进程状态)
  • 内存管理
    • 操作系统担负着5项存储器管理职责:
      • 进程隔离
      • 自动分配和管理
      • 支持模块化程序设计
      • 保护和访问控制
      • 长期存储
    • 采用虚存机制,如图:
      |600
  • 信息保护和安全
    • 可用性
    • 保密性
    • 数据完整性
    • 认证
  • 调度和资源管理
    • 三因素
      • 公平性:给竞争某一资源的所有进程提供几乎相等和公平的访问机会
      • 有差别的响应性:区分不同服务和作业的类型,动态的进行分配和调度
      • 有效性:希望系统获得最大吞吐量和最小响应时间

2.4 现代操作系统

主要设计领域

  • 微内核体系结构(单体内核 vs 微内核)
  • 多线程(线程和进程)
  • 对称多处理SMP(优势:性能、可用性、增量成长、可拓展性)
  • 分布式操作系统(集群)
  • 面向对象设计(给小内核增加模块化拓展)

2.5 容错性

定义:指系统或者部件发生软/硬件错误时,能够继续正常运行的能力

相关指标:

  • 可靠性
  • 平均失效时间
  • 可用性

错误包括:
- 永久性错误:硬盘损坏、软件错误、通信部件损坏
- 临时性错误
- 瞬时性错误:冲激噪声造成的位传输错误、电源故障
- 间歇性错误:连接松动导致的错误
解决方式:增加冗余度
- 空间(物理)冗余度
- 时间冗余
- 信息冗余

2.6 多处理完器和多核操作系统设计

多处理器操作系统

多处理器系统提供多道系统所有功能,还需要考虑的关键因素:

  • 并发进程或线程
  • 调度
  • 同步
  • 内存管理
  • 可靠性和容错性

多核操作系统设计考虑因素

包含多处理器的所有涉及问题,还需考虑:应用层并行、虚拟机方式

标签:操作系统,错误,程序,精髓,系统,处理器,进程,第二章
From: https://www.cnblogs.com/wyia/p/17040802.html

相关文章

  • 聚焦操作系统迁移实践与生态发展 | openEuler Meetup 长沙站圆满结束
    活动回顾12月23日,由openEuler社区和湖南欧拉生态创新中心主办,麒麟信安和湖南省鲲鹏生态创新中心协办的openEuler Meetup 长沙站举办。本次活动集聚社区开发者、用户、企业......
  • 别错过!这场干货满满的操作系统产业峰会回顾来了
    12月28日操作系统产业峰会2022以线上直播的方式圆满举办作为操作系统产业界的年度盛会本次大会干货满满精彩纷呈!赶紧来一起回顾吧!25位重磅嘉宾出席​4大系列重磅内容亮相​2......
  • UnityShader入门精要学习 第二章解惑
    困惑什么是OpenGL、DirectX如果开发者直接访问GPU是一件非常麻烦的事情,我们可能需要和各种寄存器、显存打交道。而图像编程接口再这些硬件的基础上实现了一层抽象。Ope......
  • 面向对象程序设计 第二章 C++简单的程序设计
    目录C++语言的特点1.兼容C语言·它保持了C的简洁、高效和接近汇编语言等特点。·对C的类型系统进行了改革和扩充。·C++也支持面向过程的程序设计,不是一个纯正的面......
  • 第二章 线性表(上)
    一、线性表的定义及具体操作1.定义线性表(LinearList)是具有相同数据类型的n(n≥0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。若用L命名线性表,则其一般表......
  • 操作系统 — 精髓与设计原理(第一章 计算机系统概述)
    计算机体系概述1.1基本构成计算机有4个主要的结构化部件:处理器(Processor):控制计算机的操作,执行数据处理功能;内存(Mainmemory):存储数据和程序;输入/输出模块(I/Omodule......
  • 软件架构设计 - 01 操作系统
     1、零拷贝(【内核区】内存缓存区-Socket缓冲区映射) 2、内存映射(【内核区】内核内存缓冲区-【用户区】应用程序内存) 3、Reactor和Proactor模式    Reactor......
  • jar包简单加密———第二章:xjar
    仓库源码:[XJar]  https://github.com/core-lib/xjar第一种方法:1、pom配置<!--设置jitpack.io插件仓库--><pluginRepositories><pluginRepository......
  • MySQL必知必会第二章-MySQL简介
    MySQL简介什么是MySQLMySQL是一种DBMS,即它是一种数据库软件。特点:成本——MySQL是开放源代码的,一般可以免费使用(甚至可以免费修改)。性能——MySQL执行很快(非常快)。......
  • 腾讯云TencentOS Linux 服务器操作系统下使用hostnamectl设置大写主机名
    腾讯云TencentOSServer服务器操作系统下使用hostnamectl设置大写主机名。TencentOSServer镜像版本目前腾讯云上有3款TencentOSServer镜像供用户选择:镜像版本说明Tencen......