操作系统知识回顾(1)--操作系统概述

800 阅读4分钟

勿以浮沙筑高台。重视基础,这是无数前辈对新人反复强调的,操作系统恰是其中之一,它对日常程序开发或是面试都非常重要。接下来这一系列文章是对操作系统重点知识的总结与学习。

参考学习:

操作系统知识点

  • 操作系统概述:
    • 操作系统的定义以及功能;
    • 计算机系统体系结构;
    • 操作系统的四个特性:并发、共享、虚拟、异步;
    • 用户态和核心态的区别;
  • 进程和线程:
    • 进程的几种状态及其转换;
    • 进程与线程的区别;
    • 进程调度的算法;
    • 进程同步的方式;
    • 进程通信的方式;
  • 死锁:
    • 死锁的概念、导致死锁的原因;
    • 导致死锁的四个必要条件;
    • 处理死锁的四种方式:预防、避免、检测、解除;
  • 存储器:
    • 内存连续分配方式采用的算法及优缺点;
    • 分页存储管理方式;
    • 分段存储管理方式;
    • 段页式存储管理方法;
    • 几种存储方式的比较及各自优缺点;
    • 从逻辑地址到物理地址的转换过程;
  • 虚拟存储器:
    • 虚拟存储器的定义与实现方式;
    • 页面置换算法,计算所需换页数;
  • 文件系统:
    • 文件系统基本概念;
    • 文件分配方式;

什么是操作系统

计算机系统一般由一个或多个处理器、内存、I/O 设备等组成,而操作系统就是这些硬件之上的一种软件,它为应用程序提供了一个抽象,并管理这些计算机资源。具体可以从功能上来认识操作系统。

作为扩展机器,它隐藏硬件底层实现细节,对硬件提供抽象,方便程序或用户的使用:

  • 进程是对 CPU、主存及 I/O 设备的抽象;
  • 虚拟内存(虚拟地址空间)是对主存和 I/O 设备的抽象;
  • 文件是对 I/O 设备的抽象;

作为资源管理器,它在多个竞争程序之间合理地控制对处理器、存储器及 I/O 设备的分配,避免资源使用冲突。有两种共享资源的方式:

  • 时间复用:不同程序或用户轮流使用;
  • 空间复用:每个程序或用户得到资源的一部分;

内核态和用户态

如下图是一般计算机系统的简化图。多数计算机有两种运行模式:内核态和运行态。

操作系统运行在内核态,它对所有硬件具有访问权,可以执行任何指令。用户接口程序和其余软件运行在用户态, 它只能执行机器指令中的一个子集。

四大特性

操作系统主要有四大特性,分别为:

  • 并发:在宏观上有多个程序在同时运行,需要 OS 管理和调度,而在微观上是分时交替运行;

注意并发和并行的区别:

  • 并发指的是在一段时间内有多个应用程序可以运行;
  • 并行指的是在一个时间点有多个应用程序可以执行,并行需要计算机有多个 CPU
  • 共享:资源可以供内存中多个并发执行的进程共同使用,在宏观上是同时访问该资源,而在微观上是采用互斥共享。
  • 虚拟:利用多道程序设计,让每个应用程序都觉得有一个计算机专门为它服务。
  • 异步:程序的执行不是连贯的,而是间断性的,其速度也不可知,但只要运行环境相同,其运行结果需要保证相同。

计算机体系结构

计算机系统主要由处理器、主存、I/O 设备及系统总线组成。

处理器

也称中央处理单元(CPU),是用来解释或执行主存中的指令的引擎。在任何时候,处理器一直在不断执行程序计数器指向的指令,再更新程序计数器,指向下一条指令。

主存

主存,是一个临时存储设备,用来存放程序和程序要处理的数据。存储系统大多采用分层次的存储结构。如下图:

存储层次最顶层是寄存器。下一层是两层高速缓存 L1、L2。再下一层是主存,所有不能再高速缓存行命中的访问请求会转到内存。如果内存中还没有,可能还会到虚拟内存中查找。

在层次结构中,较高层次的存储设备可以作为较低层次设备的高速缓存。更高层次的存储设备比底层的更快,但价格也更昂贵。

I/O 设备

I/O 设备是系统与外界联系的通道。主要包括磁盘、显示器、键盘等。每个 I/O 设备都通过一个控制器或适配器与 I/O 总线相连,来传递信息。