操作系统学习指南(一)

来源:互联网 发布:dnf网络出现异常09 编辑:程序博客网 时间:2024/06/05 20:17

前言

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

重点

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

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

操作系统的作用:

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

操作系统的定义:

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

使用操作系统的目的:

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

操作系统的功能:

1. 处理器管理

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

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

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

3. 输入输出设备管理

  1. 输入输出设备控制
    主要方式有程序控制方式、中断方式、直接存储器访问方式和通道方式。
    普遍使用的是中断方式和直接存储器访问方式。
  2. 缓冲管理
  3. 设备独立性
  4. 设备分配
  5. 虚拟设备
  6. 磁盘存储器管理

4. 文件系统

  1. 对文件结构进行组织和目录管理
  2. 提供文件的存取访问
  3. 实现文件的存储空间管理
  4. 实现文件的共享与保护

5. 用户接口

  1. 程序接口
    操作系统为程序员提供系统资源调用函数,使得程序员能方便使用系统资源。
  2. 命令接口
  3. 图形接口

总结:核心功能是进程管理和内存管理。

操作系统的特征

  • 并发性
    对于只有一个处理器的系统,在一个时间段内,可以同时运行多个程序。
    宏观上同时运行,宏观上任何时刻都只有一个在执行。
    多任务系统是在一段时间内能够同时执行多个任务的计算机系统。这多个任务并发执行。
  • 共享性
    资源共享有两个实现方式:互斥共享和同时共享。
    同时共享也是宏观上的同时。如果只有一个CPU,则一次依然只能处理一个进程,多个进程只能交替访问。
  • 虚拟性
  • 异步性
    指多道程序环境中多个进程的执行、推进和完成都是随机的、不可预测的。
    而操作系统设计和实现都得采取措施来保证程序多次的执行结果一致。

操作系统的发展

  1. 第一代计算机系统
    没有操作系统,只能完成数字运算。

  2. 批处理此系统
    随着硬件的发展,一方面实现了计算机磁介质输入代替了纸带输入,使得存储空间增大、存储速度加快。另一方面,晶体管等逻辑部件取代了真空管,处理器的运算速度显著提高。
    作业是批处理系统的基本单位。
    作业以队列的形式进行组织并提交给系统,系统根据队列中作业的顺序自动完成作业的装入、汇编、执行。在作业提交给系统后,用户不能与作业进行交互。

  3. 多道程序系统
    一段时间内,内存中能够接纳多道程序的系统称为多道程序系统。这个计算机系统具有并发性。
    多道程序环境的出现,使得计算机系统的功能逐渐完善,之前提到的五大功能称为操作系统的主要功能。

  4. 分时操作系统
    在多道程序系统的基础上,为了使用户能够与系统进行交互,产生了分时操作系统。一个系统由多个用户共享,每个进程以时间片为单位分享处理器,使得用户认为自己在独立使用一台计算机。

    分时操作系统的特征:

    • 分路性
    • 及时性
    • 交互性
  5. 实时操作系统
    是一种能够及时响应外部事件请求,在规定时间内完成处理的系统。
    例如金融、航空和票务系统。

    实时操作系统的特征:

    • 对处理时间和响应时间要求高
    • 可靠性和安全性高
    • 多路性、独立性、交互性
    • 整体性强
  6. 个人计算机操作系统

  7. 网络操作系统
  8. 分布式操作系统
  9. 嵌入式操作系统

最基础的是批处理、分时和实时。

这里是我的blog:有更多总结分享。排版可能也会更好看一点=v=
https://endlesslethe.com/operating-system-course-tutorial-1.html