四级网络工程师笔记-操作系统(上)
- 前言:
- 系列博文
- 操作系统原理
- 第一章 操作系统概论
- 第二章 操作系统运行机制
- 第三章 进程线程模型
-
- 1. 多道程序设计
- 2. 多道程序设计环境特点
- 3. 程序并发执行
- 4. 进程和程序的区别
- 5. 进程特性:
- 6. 状态进程模型
- 7. 五状态进程模型
- 8. 七状态模型
- 9. 进程控制块(Process Control Block,PCB)
- 10. PCB 的 3 种组织方式
- 11. 进程控制原语
- 12. 操作系统创建新进程
- 13. fork()函数
- 14. 线程的基本概念
- 15. 引入线程的好处
- 16. Pthread 函数调用
- 17. 进程(线程)调度的时机
- 18. 计算密集型 I/O 密集型
- 19. 批处理检测指标
- 20. 进程调度策略
- 21. 交互式操作系统
- 22. linux 上进程的 5 种状态
- 23. 引起进程调度的原因
- 24. 运行状态转换为就绪状态原因
- 25. 引起进程阻塞的事件
- 26. 引起创建进程的事件
- 27. 管程
- 28. 可再入程序
- 29. 进程调度功能
- 30. 进程优先级
- 31. 线程描述表
- 32. 线程的实现机制
前言:
作者在CSDN博客上开通了[网络工程师]专栏,目的在于激励自己坚持学习。由于是初次进行博客创作、经验不足、可能比较粗糙,如有错漏之处希望大家能够指正、也欢迎大家一起交流学习。
如需查看完整学习博文(笔记)请点击 [网络工程师] 进行查看
系列博文
操作系统原理
第一章 操作系统概论
1. 操作系统概述
⚫ 操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合—— 它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。
l 操作系统作为系统软件,位于软件系统的硬件之上,支撑软件之下。
l 从计算机应用角度看,操作系统是几乎人人都要使用的系统界面和接口;
l 而从软件设计和开发的角度看,操作系统起着系统软件开发基础和工具的作用;
l 而在黑客和网络攻击者看来,操作系统是他们要攻破的第一道防线;
l 从扩展角度看,将操作系统功能分成若干层次,每一个层次完成特定的功能,从而构成一个虚拟机。
⚫ 在计算机系统中,集中了资源管理功能和控制程序执行功能的一种软件,称为操作系统。
2. 操作系统特征
⚫ 并 发 性
并发性是指在计算机系统中同时存在若干个运行着的程序。
① 从宏观上看,这些程序在同时向前推进。
② 从微观上看,在单处理器的环境下,这些同时运行着的程序是交替在中央处理器上运行的。在多处理器系统的环境中,在处理器一级上, 程序是并发执行的。
⚫ 共 享 性
共享性是指操作系统程序与多个用户程序共用系统中的各种资源。资源的共享性主要针对:
① 中央处理器:中央处理器是所有程序都必须使用的最重要的资源,操作系统必须采用恰当的调度策略,对多个并发程序分配处理器资源。
② 内存储器: 任何一个程序必须首先调入内存之后, 才能执行。
③ 外存储器:外存储器主要用来保存各种程序和数据。这些程序和数据一般以文件的形式存放在外存储器上。外存储器有各种类型,如硬盘、软盘、磁带、可读写光盘等。
④ 外部设备:计算机系统中的外部设备是供所有用户使用的,这些用户包括操作系统、系统用户( 如管理员) 和普通用户。
资源的共享一般有两种形式:互斥共享和同时共享。
① 互斥共享:系统中的有些资源比如打印机、磁带机、扫描仪、中央处理器、存储器等,虽然可以供多个用户程序同时使用,但是在一段特定的时间内只能由某一个用户程序使用。该资源正在被使用时, 其他程序必须等待,并且在这个资源被使用完后才由操作系统根据一定的策略再选择一个用户程序占有该资源。通常把这样的资源称为临界资源。
② 同时共享:系统中还有一类资源在同一段时间内可以被多个程序同时访问。典型的可以同时共享的资源就是硬盘,可以重入的操作系统代码也是可以被同时共享的。
⚫ 随 机 性
操作系统的运行是在一种随机的环境下进行的。
随机性突出强调了在进行操作系统的设计与实现时要充分考虑各种各样的可能性。操作系统本身应该稳定、可靠、安全、高效,实现程序并发和资源共享的目的。
3. 操作系统结构设计
常见的操作系统体系结构有:
⚫ 整体式结构
⚫ 层次式结构
⚫ 微内核( 客户机/服务器) 结构
① 运行在核心态的内核: 内核提供所有操作系统基本都具有的那些操作,如线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和中断处理等。又称微内核。
② 运行在用户态的并以客户机/服务器方式运行的进程层: 除内核部分外, 操作系统所有的其他部分被分成若干个相对独立的进程,每一个进程实现一组服务,称为服务进程(用户应用程序对应的进程, 虽然也以客户机/服务器方式活动于该层, 但不作为操作系统的功能构成成分看待)。
4. —般指令和特权指令
⚫ 运行模式通常分为用户模式和特权模式。
⚫ 目态: 为用户服务的用户模式;
⚫ 管态: 为系统专用的特权模式。
⚫ 机器指令被划分为一般指令和特权指令。
① 特权指令包括输入输出指令、停机指令等,只有监控程序才能执行特权指令。
② 只能在内核态下运行。
③ 运行在该模式的代码,可以无限制的对系统存储、外部设备进行访问。( 置程序计数器、清指令寄存器、清溢出标志)
④ 用户程序只能执行一般指令, 在用户态下运行。
⑤ 一旦用户程序需要执行特权指令,处理器会通过特殊的机制将控制权移交给监控程序。
⑥ 如果用户程序在用户态下执行了特权指令,则引起访问中断,这也是 CPU 由用户态向核心态转换的方法。( 置移位方向标志位)
5. 研究操作系统的观点
⚫ 软件的观点
从软件的观点来看,操作系统是一种大型软件系统,它是多种功能程序的集合。作为一种大型软件系统,操作系统有软件的外在特性和内在特性。
⚫ 资源管理的观点
在计算机系统中,硬件和软件资源可以分成以下几部分:中央处理器、存储器(内存和外存)外部设备和信息(文件)。操作系统就是负责记录谁在使用什么样的资源,系统中还有哪些资源空闲,当前响应了谁对资源的要求,以及收回哪些不再使用的资源等。
⚫ 进程的观点
采用进程的观点,操作系统可看作是由多个可以同时独立运行的程序和一个对这些程序进行协调的核心所组成。
⚫ 虚机器的观点
虚机器的观点将操作系统的功能分成若干个层次,每一层次完成特定的功能,从而构成一个虚机器, 并为上一层次提供支持,构成它的运行环境。
⚫ 服务提供者观点
操作系统提供了一系列的功能和便利的工作环境为用户服务,所以可以把操作系统看作是服务提供者。为用户使用便利,该服务提供者提供了一组功能强大、方便、易用的广义指令( 称为系统调用)。
6. 操作系统提供的 3 类的接口
⚫ 命令接口:提供一组命令供用户直接或间接操作。根据作业的方式不同,命令接口又分为联机命令接口和脱机命令接口。
⚫ 程序接口:程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。
⚫ 图形界面接口:通过图标、窗口、菜单、对话框及其他元素和文字组合,在桌面上形成一个直观易懂,使用方便的计算机操作环境。
7. 操作系统主要功能
⚫ 进程管理(处理器管理)
① 进程管理的实质是对中央处理器进行管理,所以进程管理往往又称为处理器管理。
② 进程管理主要包括进程控制、进程同步、进程间通信和进程调度等几方面的内容
③ 其中进程控制主要处理进程的创建、状态转换、进程撤销以及相关的进程资源的分配与回收等事务;
④ 进程同步主要处理进程之间的关系,包括进程的同步和互斥;
⑤ 进程间通信主要处理相互协作进程之间信息的交换问题;
⑥ 而进程调度则是按照一定的算法从就绪队列中挑选一个进程在处理器中真正执行它。
⚫ 存储管理
存储管理的任务是管理计算机内存的资源。存储管理有 3 个方面的功能:
① 内存的分配与回收:操作系统要为每个进程所占据的内存空间,在分配的过程中,还要尽可能提高内存资源的使用效能。
② 存储保护:必须考虑程序可能发生越界的情况,保护整个用户及计算机系统的程序运行。
③ 内存扩充:借助于虚拟技术在逻辑上增加进程运行空间的大小,这个大小比实际的物理内存大得多。操作系统把正在使用的页面保持在内存中即将使用的页面调入到内存中,用户就感受不到空间使用的限制。
⚫ 文件管理
文件管理的任务是有效的支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题, 以使用户方便、安全地访问文件。
主要涉及 3 个方面:文件存储空间的管理、目录管理、文件系统的安全性。
① 管理磁盘空间和磁盘碎片整理都属于文件存储空间的管理;
② 目录管理的主要任务就是给出组织文件的方法,为每个文件建立目录项,并对众多的目录项加以有效的组织,以便为用户提供方便的按名存取;
③ 安全性包括文件的读写权限以及存取控制。
l 作业管理
l 设备管理
l 用户接口
从用户的观点来看,操作系统是用户与计算机系统之间的接口。因此,接口管理的任务是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行。
8. 操作系统分类
l 按照用户界面的使用环境和功能特征的不同,一般可以把操作系统分为 3 种基本类型, 即批处理系统、分时系