美文网首页
第一章 操作系统概述(1)

第一章 操作系统概述(1)

作者: sunorign | 来源:发表于2019-11-25 21:31 被阅读0次

1.1 框架

  1. 进程管理(cpu)
  2. 存储管理(内存)
  3. I/O 管理(设备)
  4. 文件管理(文件,外存)

1.2 操作系统的概念

1.2.1 四种基本观点

  1. User/Computer Interface:计算机系统接口,为用户使用计算机提供了方便的环境
  2. Virtual Machine:硬件平台上的虚拟机
  3. Resource Manager:资源管理器,负责分配、回收及控制系统中的各种软硬件资源
  4. Job Organizer:计算机系统工作流程的组织者,负责协调在系统中运行的各个应用软件的运行次序

1.3 操作系统的功能性需求

按软件工程的观点,来设计操作系统:

  1. 需求分析
  2. 系统设计
  3. 编码实现
  4. 产品测试

需求分析分为两大类
功能性需求

  1. 软件系统所能提供的服务

非功能性需求

  1. 提供软件时需要满足什么限制条件
  2. 软件系统具有某些变化的能力

1.3.1 计算机用户需要的用户命令

由 OS 实现的所有用户命令所构成的集合常被人称为 OS 的 Interface(用户接口);有时也称为命令接口;
普通用户使用

用户命令:指计算机用户要求计算机系统为其工作的指示

命令的形式

  1. 字符形式
  2. 菜单形式
  3. 图形形式
    ...

命令的使用方式

  1. 脱机方式 off-line、不受系统控制
  2. 联机方式 on-line

1.3.2 应用软件需要的System Call(系统调用)

由 OS 实现的所有系统调用所构成的集合被人们程序接口或应用编程接口(Application Programming Interface,API)
软件开发者使用

System Call:指由 OS 实现的应用软件在运行过程中可以引用的 System Service

1.4 操作系统的非功能性需求

1.4.1 Performance or Efficiency(性能、效率)

maximize throughput, minimize response time, and in the case of time-sharing, accommodate as many users as possible.

  1. 提高 Throughput(吞吐量、单位时间系统完成的任务)
  2. 降低响应时间
  3. 分时情况下满足更多用户

1.4.2 Fairness(公平性)

有时候在实时操作系统中,可能就不太关心公平性,比如自动驾驶要及时响应外部事件

1.4.3 Reliability(可靠性)

1.4.4 Security(安全性)

1.4.5 Scalability(可伸缩性)

可配置,比如 windows 的家庭版和企业版

1.4.6 Extensibility(可扩展性)

适应新的外部设备的增长,比如可以接入某个硬件模块

1.4.7 Portability(可移植性)

1.4....

1.5 OS 对硬件平台的依赖

  1. Timer 计时器
  2. I/O Interrupts 中断机制
  3. DMA(Direct Memory Access 直接存储存取) 存储数据,打包后提交给 CPU 执行中断,减少 CPU 中断的频率
  4. Privileged Instructions 特权指令
  5. Memory Protection Mechanism 存储保护的机制,检查有没有越界,地址转换等
  6. ..

1.6 重要的基本概念

1.6.1 Job(作业)

比较早期,或者大型机上才有

  • 计算机用户在一次上机过程中要求计算机系统为其所做工作的集合;作业中每项相对独立的工作称为作业步
  • 通常,人们用一组命令来描述作业;其中,每个命令定义一个作业步

1.6.2 Process & Thread

Process(进程)

系统分配资源的基本对象;在现代 OS 中,进程仅仅是系统中拥有资源的最小实体

进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,系统会给每个进程分配独立的内存地址空间,并且每个进程的地址不会相互干扰。如果要完成CPU时间片的切换,就要保证之前的进程在执行的时候执行到某个位置,下次切换回来的时候仍然可以从这个位置开始执行。所以进程就是资源分配的最小单元。
在进程出现之前,指令是一次性加载到内存中,如果要进行指令切换的话,就要对指令进行隔离,而在批处理操作系统中是无法对指令进行隔离的。
有了进程以后,可以让操作系统从宏观上实现并发。并发是通过CPU时间片的不断切换执行的。在任意一个时刻,对于单核CPU来说,只会有一个任务去执行,只是通过切换时间片的方式完成了并行执行。

Thread(线程)

程序的一次相对独立的运行过程;在现代 OS 中,线程是系统调度的最小单位

线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,每个线程会负责一个独立的子任务,在配合多核处理器,去实现多个子任务并行处理的结果。线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多核CPU环境下就允许多个线程同时运行。进程在一个时间内只能干一件事情,如果想同时干多件事情的话, 就要把进程中的多个子任务划分到多个线程,通过线程的切换执行去实现任务的实时性。所以,线程是真正意义上实现了并行执行

1.6.3 Virtual Memory(虚拟存储) & File(文件)

Virtual Memory
进程的逻辑地址空间;现代 OS 对计算机系统中多级物理存储体系进行高度抽象的结果
空间:内存,外存;
逻辑空间:同时在内存又在外存,把实际的内存空间虚拟扩大,用外存扩大内存
File
命名了的字节流

相关文章

  • 计算机操作系统知识大纲

    第一章 操作系统概述 1 操作系统的基本概念操作系统的概念操作系统的特征操作系统的目标和功能 2 操作系统的发展与...

  • 1操作系统概述

    1.1操作系统概述 操作系统定义 ■ 没有公认的精确定义 ■ 操作系统是一个控制程序 一个系统软件 控制程序执行过...

  • 1 操作系统概述

    本系列文章力求用最简洁的语言整理出操作系统的知识框架,帮助求职的同学对操作系统的知识做一个梳理。 1. 操作系统的...

  • 操作系统(1)-概述

    1:整体内容 中断及系统调用 内存管理 进程及线程 处理机调度 同步互斥-进程间通讯 文件系统 I/O子系统 2:...

  • 第一章 操作系统概述(1)

    1.1 框架 进程管理(cpu) 存储管理(内存) I/O 管理(设备) 文件管理(文件,外存) 1.2 操作系统...

  • Linux简单命令

    linux 操作系统 一.linux 操作系统概述 1.常见操作系统- 服务端操作系统 : linux、unix、...

  • Shell典型应用之系统信息及运行状态获取

    1.Linux操作系统信息获取 1-1.概述 1-2.获取操作系统基本信息 获取为哪一种操作系统: 获取操作系统版...

  • Linux/Unix操作系统

    1.操作系统概述 操作系统:Oprating System,简称OS 概述:控制计算机硬件和软件的计算器程序,最基...

  • 一.操作系统概述(1)

    操作系统的作用 1.资源管理: (1)跟踪记录资源的使用状况 (2)确定资源分配策略——算法:静态分配策略、动态分...

  • 1. 操作系统概述

    1 操作系统做了什么 关于操作系统在程序执行中的作用,我们以一个小例子作为引入。下面的代码是用C语言编写的Hell...

网友评论

      本文标题:第一章 操作系统概述(1)

      本文链接:https://www.haomeiwen.com/subject/keojwctx.html