重点

内存连续分配的三种方式,及可变分区分配的五种分配算法。 
内存离散分配的三种方式,分页管理涉及的页表、地址变换和快表。

程序的执行步骤

源程序需要经过编译、链接和装入之后,才能被处理器运行。
os6 1

在程序装入内存前,装入模块中给出的程序地址为程序的逻辑地址或相对地址。一个用户作业的所有装入模块的逻辑地址集合称为该作业的逻辑地址空间。
当用户作业被装入内存后,操作系统的存储管理器会通过名为地址变换/地址重定位的操作,将逻辑地址转换为物理地址。

Note:下面的“链接”和“装入”部分推荐先跳过,先看内存的连续分配和离散分配。

链接

  1. 静态链接
    若干个模块被依次链接成一个大模块
  2. 装入时动态链接
    说是在装入内存时,采用边装入边链接的链接方式。 那逻辑地址怎么确定呢?那如果装入时使用的静态重定位,那岂不是同时确定逻辑地址和物理地址?感觉怪怪的。
  3. 运行时动态链接
    连接过程被推迟到程序运行时进行,使用到才链接。

Note:不是很能理解模块和链接这两个词的意思。也没有在网上找到比较深入的解释,基本都是照本宣科。

装入

  1. 绝对装入
    直接将源程序放入内存即可,不对地址做任何变换。这要求程序员在编程时熟悉内存的使用状况。
    使用环境是单道批处理系统(单个程序进入计算机系
Read the rest

重点

处理器调度的分类和对应内容。上下文。作业调度和进程调度算法,重点注意MFQ。

基本概念

处理器调度划分为3个层次:高级调度、中级调度和低级调度。
用户作业从提交给系统开始,直到运行结束退出系统为止,将经历高级调度、中级调度和低级调度。

高级调度

将用户提交的作业分配到就绪队列。是从硬盘到内存。是对作业的调度。

中级调度

是为了提高内存利用率和平衡系统负载而采取的一种利用外存补充内存的措施。
它根据需要确定被挂起的进程,并在有进程被挂起时确定哪个进程进入内存。

低级调度

低级调度又称为进程调度、短程调度。是从内存到处理器。
它确定就绪进程哪个被执行。

进程调度的基本机制

  1. (一个或多个)就绪队列
  2. 分派程序。将根据进程调度算法将所选中的进程从就绪队列中移出,然后进行进程的上下文切换,并将处理器分配给京城。
  3. 上下文切换机制。实现进程的上下文切换。

上下文

操作系统内核使用一种称为上下文切换的较高层形式的控制流来实现多任务。
内核为每一个进程维持一个上下文。

上下文就是内核重新启动一个被抢占的进程所需的状态。他有一些对象的值组成,这些对象包括:  

  • 各个寄存器
  • 程序计数器
  • 用户栈
  • 内核栈
  • 各种内核数据
    比如描绘地址空间的页表,包含有
Read the rest

重点

进程和线程的各个状态,以及相互的切换。进程的组成,PCB的组织形式。

进程

进程的定义

程序的一次执行过程。

进程的特征

  • 结构性
  • 并发性
  • 独立性

进程的基本状态

进程的三个基本状态分别是:就绪状态、运行状态和阻塞状态。

  • 就绪状态
    进程在内存中已经具备执行条件,等待分配处理器。多个处于就绪状态的进程可以以队列方式组织,称为就绪队列。
  • 运行状态
    进程已经被分配处理器,并且正在执行。在单处理器系统中,一个时刻只有一个进程处于运行状态。

  • 阻塞状态
    当正在运行的程序由于等待某事件的完成而不能继续执行,便转换到阻塞状态。

完整的状态:加上创建、结束和挂起

挂起是把内存中暂时不能或不需要运行的进程从内存换到外存。其和阻塞的区别在于阻塞是应用程序主动的,而挂起是操作系统执行的。

挂起的原因:
1. 系统资源的需要
2. 解决竞争或消除故障
3. 终端用户暂停程序运行
4. 父进程暂停
5. 定期执行的程序在空闲时间

进程的描述

进程包括进程控制块(PCB)、程序块、数据块和系统堆栈。

我们使用进程控制块来描述进程相关参数。其具有如下信息:
1. 进程标志信息 PID
2. 计算机状态信息
3. 进程调度信息
4. 进程控制信息

进程控制块的组织形式分为链接方… Read the rest

前言

我之前在学习操作系统这门课程时就在OneNote上做了总结。现在将它们传到网上,以供需要的人参考学习。使用的教程为刘循的《计算机操作系统》。

重点

操作系统的五大功能、三个特征和批处理、分时、实时三种系统。

计算机的组织结构决定了计算机中信息传送的速度和计算机的性能。
operating system mindmap

操作系统的作用:

  • 直接位于计算机硬件之上,为计算机的应用提供接口(图形、命令、程序)
  • 提供通用的计算机服务,与专用的应用领域无关
  • 实现资源管理策略,为不同的应用提供共享资源

操作系统的定义:

计算机系统中一组控制和管理计算机硬件资源和软件资源,合理地对各类作业进行调度,以方便用户使用的程序的集合。

使用操作系统的目的:

  • 有效地管理计算机资源
  • 方便用户使用计算机资源
  • 扩大计算机功能(如虚拟机)
  • 构筑开放环境(可拓展性)

操作系统的功能:

1. 处理器管理

  1. 进程和线程的描述与控制
  2. 处理器调度
    处理器分为三级调度:作业调度、中级调度和进程调度。
  3. 进程或线程的同步与互斥
  4. 死锁的检测和预防
  5. 进程之间及线程之间的通信

2. 存储器管理(内存管理)

  1. 内存规划、分配及地址映射
  2. 内存保护
  3. 内存扩充

3. 输入输出设备管理

  1. 输入输出设备控制
    主要方式有程序控制方
Read the rest