操作系统学习笔记(一)

计算机系统概述

  • 操作系统
    • 1.特征
      • 1.1并发和并行(辨析)
      • 1.2共享
        • 互斥共享方式
        • 同时访问方式
      • 1.3虚拟
      • 1.4异步
    • 2.OS的目标和功能
      • 2.1计算机资源的管理者
        • 处理机管理
        • 存储器管理
        • 文件管理
        • 设备管理
      • 2.2.用户与计算机之间的接口
        • 命令接口
        • 程序接口(系统调用)
        • 图形接口(GUI)
      • 2.3扩充机器
    • 3.发展与分类
    • 4.运行机制
      • 4.1基本背景
      • 4.2用户态和内核态的切换
      • 4.3中断和异常
      • 4.4系统调用
    • 5体系结构
      • 5.1大内核
      • 5.2微内核
    • Tips

操作系统学习笔记(一)_第1张图片

操作系统

​ 操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,合理的组织、调度计算机的工作和资源的分配,进而为用户和其他软件提供方便接口和环境的程序集合

1.特征

1.1并发和并行(辨析)

​ 并发是指两个或两个以上事件在同一时间间隔发生,为了使程序能并发执行而引入进程

​ es.操作系统的并发性通过分时实现

​ 并行是指两个或两个以上事件在同一时刻发生,需要硬件支持

​ es.单处理机系统中进程与进程不可并行

1.2共享

​ 资源共享即共享,指系统中的资源可供内存中多个并发执行的程序共同使用

  • 互斥共享方式

​ 系统中的某些资源(打印机),虽然可供多个进程共同使用,但是为了避免错乱,混淆,规定在一段时间内只允许一个进程访问,称该种资源为临界资源(独占资源)

  • 同时访问方式

​ 该种资源允许在一段时间内多进程“同时”(宏观,实际上是“分时共享”)访问,比如磁盘设备,但是,也存在真同时(扬声器

1.3虚拟

​ 指把一个物理上的实际实体变为若干逻辑上的对应物

​ eg.时分复用技术:虚拟处理器,利用多道程序设计技术把一个物理上的CPU虚拟为多个逻辑上的CPU,使得每个终端用户都感觉有专门的一个中央处理器(CPU)为其服务

​ and.空分复用技术:虚拟存储器,利用虚拟存储器技术将一台机器的物理存储器变为虚拟存储器,以便从逻辑上扩充存储器的容量。

1.4异步

​ 多道程序环境允许多个进程并发执行,但由于资源限制,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度前进

​ At.异步性,如果访问顺序不当,可能导致进程产生于时间有关的错误,所以OS要保证多次运行进程后都能获得相同的结果

2.OS的目标和功能

2.1计算机资源的管理者

  • 处理机管理

    处理机的分配和运行以进程(线程)为基本单位,进程管理的主要功能包括:进程控制、进程同步、进程通信、死锁处理、处理机调度

  • 存储器管理

    为了给多道程序的运行提供良好的环境,方便用户使用以及提高内存的利用率。包括:内存分配与回收、地址映射、内存保护与共享和内存扩充等功能

  • 文件管理

    计算机中的信息以文件形式存在,操作系统中负责管理文件的部分称为文件系统,文件管理包括:he文件存储空间的管理、目录管理以及文件读写管理和保护

  • 设备管理

    主要任务是完成用户的I/O请求,提高设备利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等

2.2.用户与计算机之间的接口

——为了使用户方便、快捷、可靠的操纵计算机硬件(通过接口,间接)并运行自己的程序

  • 命令接口

    用户利用这些操作命令来组织和控制作业的执行,可以分为联机命令接口(交互性)和脱机命令接口(批处理)

  • 程序接口(系统调用)

    程序接口由一组系统调用(广义指令)组成,用户通过在程序中使用这些系统调用来请求操作系统为其提供服务(使用外部设备、申请回收、分配内存)

  • 图形接口(GUI)

    GUI通过调用系统调用实现,图形接口本身并不属于操作系统,当时其调用的系统调用命令是操作系统的一部分。

2.3扩充机器

​ 没有任何软件支持的计算机称为裸机,操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强,使用更方便的机器,通常称覆盖了软件的机器为扩充机器或虚拟机

3.发展与分类

发展过程 优点 缺点
手工操作阶段(无操作系统) 用户独占全机,人机速度矛盾
批处理阶段(单道批处理系统) 一定程度上缓解人机速度矛盾 资源利用率仍然很低
批处理阶段(多道批处理系统) 多道程序并发执行,资源利用率高 缺少人机交互性
分时操作系统 提供人机交互功能 不能优先处理紧急任务
实时操作系统 能够有优先处理紧急任务,及时性和可靠性得到保障

4.运行机制

4.1基本背景

​ CPU一般执行两种程序,操作系统内核程序用户自编程序。为了系统的安全性,操作系统作为系统资源的管理者,为了保证系统的安全性,内核程序管理应用程序,那么理所当然,内核程序有更高的权限,能够执行应用程序无法执行的特权指令来安全地调度资源,所以,为了区分,引入用户态内核态两种工作状态,区分两者的关键是程序状态字寄存器(PSW)的某二进制位(0、1)。

4.2用户态和内核态的切换

​ 为了安全,用户态不允许直接使用内核态的功能,但是,不可避免的需要用到这些功能,中断或异常在这里就显得至关重要,用户可以发送系统调用请求,发送需要的中断信号,将用户态转变为内核态(PSW硬件实现),通过内核态安全地调用需要的功能或资源,处理完后在将CPU使用权交还给用户态。

​ At.中断和异常是唯一将用户态转换为内核态的方式

4.3中断和异常

  • 中断(外中断):指来自CPU执行指令外部的事件的发生,比如时钟中断(实现并发),I/O设别的请求
  • 异常(内中断):指源自CPU执行指令内部的事件的发生,比如访管指令(处理后权力交还),缺页故障(处理后权力交还),除零错误(终止应用程序)

4.4系统调用

​ 操作系统是系统资源的管理者,凡是与资源相关的操作(存储分配,I/O传输,文件管理)等都要由操作系统统一管理以避免一些”奇怪“的错误,系统调用按功能分:

  • 设备管理:完成设别的请求和释放,设备启动
  • 文件管理:文件的读,写,创建,删除
  • 进程控制:进程的创建、撤销、阻塞和唤醒
  • 内存管理:完成内存的分配、回收获取作业占用内存区大小以及起始地址等

5体系结构

5.1大内核

​ 与硬件密切相关的时钟管理、中断机制、原语以及系统控制的数据结构以及处理(进程管理、存储器管理、设备管理)

5.2微内核

——为了便于维护增加系统的可靠性提出微内核

​ 仅保留内核中最基本的功能,将不需要在内核态执行的功能移到用户态

​ At.这样虽然结构是比较清晰的,但是由于需要频繁的在用户态和内核态切换,所以性能是降低的。

Tips

  • 高级程序设计语言的编译器、源程序不是OS关心的

  • 库函数是高级语言中提供的与系统调用对应的函数(一些库函数甚至与系统调用无关)属于用户程序而非系统调用,它是系统调用的上层。

and.未使用系统调用的函数效率更高,因为不涉及上下文的切换以及状态的切换(用户态和核心态)。

  • 操作系统不提供管理系统缓存的系统调用

  • 引入多道程序设计后,程序的执行就失去了封闭性和顺序性,程序执行因为共享资源的相互协同而产生了竞争,而相互制约,考虑到竞争的公平性,所以程序的执行是间断的,顺序性是单道程序设计的基本特征。

  • 系统开机后,操作系统的程序会被自动加载到内存的系统区。

  • 应用程序先被送到内存区后在执行

  • 用户态到核心态的转换是由硬件完成的

  • 调用,请求和执行的区别,请求系统调用是在用户态,具体的系统调用在内核态

  • 内核态可以执行的指令是除“访管”指令以外的全部指令

你可能感兴趣的:(程序员的自我修养——操作系统,操作系统)