操作系统复习(1)

简介: 操作系统复习

操作系统复习

一,引论

1.3 os的基本特征🍪

并发

并发是指操作系统能够同时处理多个任务或进程。这些任务可以在同一时间段内交替执行,或者在多个处理器上并行执行。并发的实现可以通过时间片轮转调度算法、多线程、多进程等技术。并发性可以提高系统的资源利用率和响应能力。

共享

共享是指操作系统能够让多个用户或多个程序同时访问和使用系统的资源。这些资源可以是处理器、内存、磁盘、网络等。共享的实现需要操作系统提供适当的机制,如进程间通信、文件系统等。共享可以提高系统的效率和资源利用率

虚拟

虚拟化是指操作系统能够为应用程序提供一个虚拟的执行环境,使其感觉自己拥有独占的资源。虚拟化可以分为多种类型,如硬件虚拟化、内存虚拟化、网络虚拟化等。通过虚拟化,操作系统可以提供更高的灵活性和可扩展性,同时实现资源的隔离和安全性。

异步

由于资源等因素的限制,进程的执行不能一气呵成,只能走走停停,虽然速度不可预知但是结果都是相同的

异步是指操作系统能够以非阻塞的方式处理多个任务或事件。在异步模式下,操作系统可以同时进行多个操作,而不需要等待每个操作的完成。这样可以提高系统的响应性能和效率。异步操作通常与事件驱动的编程模型结合使用,如回调函数、消息队列等。

之间的关系

这些特征之间存在着紧密的联系。并发性和共享性为操作系统提供了处理多个任务和资源共享的能力。虚拟化提供了资源的抽象和隔离机制,使应用程序能够在虚拟环境中运行。异步性使得操作系统能够同时处理多个任务或事件,提高系统的并行性和响应性能。

1.4 操作系统运行环境

硬件支持

引导程序在固件中

引导程序知道如何加载内核

操作系统内核

支撑功能
  1. 中断处理
    (有限处理)
  2. 时钟管理

每次时间片用完都会由时钟管理产生一个中断信号,促使程序重新进行调度

  1. 原语操作
    原语操作由若干条指令组成,是原子操作
资源管理功能
  1. 进程管理
  2. 存储器管理
  3. 设备管理

中断与异常

1.5 操作系统的主要功能🌝

os的主要目的是为多道程序运行提供良好的运行环境

处理机管理

  1. 进程控制

主要功能:为作业 创建进程,撤销(终止)已结束进程,控制进程在运行过程中状态的转换

  1. 进程同步

两种协调方式:1.互斥,2.同步

互斥通过为临界资源加锁实现,进程同步通过信号量机制实现

  1. 进程通信
  2. 调度
  1. 作业调度
  2. 进程调度

存储器管理

  1. 内存分配和回收
    1. 静态分配
    2. 动态分配
  2. 内存保护
  3. 地址映射
    程序和内存地址的映射
  4. 内存扩充
  1. 请求调入
  2. 置换
    发生在内存空间不够用的情况下

设备管理

  1. 缓存管理
    解决cpu和io设备速度不匹配的问题
  2. 设备分配
    为进程分配设备(通过设备控制表,控制器控制表等数据结构记录设备和设备控制器的标识符和状态)
  3. 设备处理
    设备驱动作用

文件管理

实现文件存储空间管理,目录管理,文件的读写管理和保护等功能

  1. 文件存储空间管理
    为每个文件分配必要的存储空间,拥有数据结构,可以记录文件存储空间的使用情况
    对存储空间进行分配和回收
  2. 目录管理
    为每个文件建立目录项,目录项,目录项包括文件名,文件属性,文件在磁盘上的物理位置等
  3. 文件读写和保护

接口管理

用户接口
  1. 联机用户接口
    shell
  2. 脱机用户接口
    批处理命令,例如shell脚本
  3. 图形接口
程序接口

调用函数的接口等

1.6 操作系统结构

简单结构

模块化结构

分层结构

微内核结构

外核结构

  • 外核结构:外核结构允许应用程序直接访问和管理硬件资源,因此应用程序可以更灵活地控制资源的使用和优化。应用程序可以自定义外核库,实现自己的资源管理策略。
  • 微内核:微内核将资源管理的责任交给用户空间的服务进程。内核只提供最基本的资源分配和保护机制,而具体的资源管理则由独立的用户空间进程实现。

二,进程的描述和控制

2.1进程描述

2.1.1进程的概念

为什么要有进程(来自chatgpt)

进程在计算机系统中扮演着重要的角色,主要有以下几个原因:

并发执行:进程允许多个程序同时运行,从而实现并发执行。通过多进程的方式,可以同时执行多个任务,提高系统的效率和资源利用率。

资源管理:进程提供了一种机制来管理系统资源,如内存、文件、设备等。每个进程都有自己的地址空间和资源表,操作系统可以通过进程控制块(PCB)来跟踪和管理进程的状态、资源分配等信息。

隔离性:每个进程都在独立的地址空间中运行,相互之间不会干扰。这种隔离性可以保证进程之间的数据和状态互不影响,提高了系统的稳定性和安全性。

独立性:每个进程都是一个独立的执行实体,具有自己的代码、数据和执行环境。进程之间可以独立地进行资源分配、调度和执行,从而实现灵活的应用程序设计和管理。

进程间通信:进程可以通过进程间通信(IPC)机制进行数据交换和协作。通过共享内存、消息传递、管道等方式,进程可以在需要时相互通信,实现数据共享和协同工作。

异步操作:进程可以以异步的方式执行任务,即一个进程可以执行自己的任务,而不需要等待其他进程的完成。这种异步操作使得系统能够同时进行多个独立的任务,提高了系统的响应性和并发能力。

综上所述,进程在操作系统中扮演着重要的角色,通过并发执行、资源管理、隔离性、独立性、进程间通信和异步操作等特性,实现了多任务处理和资源利用的优化。

为什么进程可以允许程序同时运行

进程允许多个程序同时运行的主要原因是操作系统的调度和资源管理机制。

在操作系统中,有一个称为进程调度器的组件负责决定哪些进程应该在给定的时间片内获得 CPU 的执行时间。通过使用调度算法,操作系统可以公平地分配CPU时间片给不同的进程,从而实现多个程序的同时运行。

此外,操作系统还提供了资源管理的机制,如内存管理、文件系统、设备驱动程序等,用于分配和管理系统资源。每个进程都有自己的地址空间和资源表,操作系统可以根据进程的需求来分配和管理资源。

通过进程调度和资源管理,操作系统能够将 CPU 时间和其他系统资源按照一定的策略分配给多个程序,使它们可以同时运行。这种并发执行的机制提高了系统的效率和资源利用率,使多个程序能够在同一个系统中独立地执行,从而满足用户的多任务处理需求。

我的理解:普通程序在设计的时候我们不会考虑执行到哪个状态拥有资源,还有地址空间等信息,所以我们需要引入进程这个结构包装一下

进程作为程序的执行实体,包含了程序的代码、数据、执行环境和资源管理信息等。进程提供了一个隔离的执行环境,每个进程拥有独立的地址空间和资源表,使得不同的程序能够在同一个系统中并发执行,而互不干扰。

通过进程的包装,操作系统可以对进程进行调度、分配资源和管理状态,从而实现多任务处理和资源利用的优化。进程提供了一个执行上下文,使得程序能够被加载到内存中执行,并能够访问所需的资源。同时,进程间通信和同步机制也通过进程的概念来实现。

因此,引入进程这个结构是为了将普通程序与计算机系统的执行环境、资源管理和并发执行机制进行适配,从而使得程序能够在系统中正确运行,并能够同时执行多个程序

定义:(不同角度)
  1. 进程是程序的一次执行
  2. 进程是一个程序及数据在处理机上顺序执行的时所发生的的活动
  3. 进程是有独立功能的的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位

组成:

进程由程序控块pcb,程序段,数据段组成
  • PCB: PCB中应该包含操作系统对其进行管理所需的各种信息,如进程描述信息、进程控制和管理信息、资源分配清单和处理机相关信息。
    (我的理解是各种原信息,起到识别和控制的作用)
  • 程序段:程序代码存放的位置。
  • 数据段:程序运行时使用、产生的运算数据。如全局变量、局部变量、宏定义的常量就
    存放在数据段内。
PCB
  • pcb的作用
  • 作为独立运行基本单位的标志
  • 能实现间断性运行方式
  • 能提供进程管理 所需要的信息
  • 能提供进程调度所需要的信息
  • 能实现和其他进程的同步和通信
  • pcb所包含的信息
  • 进程标识符
  • 处理机状态
  • 进程调度信息
  • 进程控制信息
  • pcb 的组织方式
  • 线性方式
  • 链接方式
  • 索引方式
进程的特征
  • 动态性:动态的产生变化和消亡
  • 并发性:内存中有多个进程实体,各进程可并发操作(毕竟一开始进程的出现就是为了解决原本程序并发会出现失去了可再现性)
  • 独立性:独立的运行,获取资源,独立接收调度的基本单位(不怎么理解)
  • 异步性:各个进程按各自独立的、不可预知的速度向前推进,操作系统要提供进程向步机制来解决异步问题。
  • 结构性:结构上来看,进程由程序段,数据段和PCB组成
mindmap
进程的特征
  [动态性]
  (并发性)
  ((独立性))
  ))异步性((
  )结构性(

2.1.2进程的状态

一般来说进程有五个状态:就绪状态,运行状态,阻塞状态创建状态,终止状态组成,前三个是基本状态

就绪态:

进程状态的切换

阻塞 -> 就绪 ->运行

阻塞->运行 and 就绪->阻塞不可能发生

2.2 进程通信

低级通信:pv操作

高级通信:

高级通信

  1. 共享存储系统
  1. 共享数据结构
  2. 共享存储区
  1. 管道通信
  • 连接一个读进程和一个写进程以实现通信的文件,pipe文件
  1. 消息传递利用原语进行通信
  1. 直接通信
  2. 间接通信

操作系统复习(2)https://developer.aliyun.com/article/1530634

相关文章
|
存储 缓存 负载均衡
【2022持续更新】大数据最全知识点整理-HBase篇
【2022持续更新】大数据最全知识点整理-HBase篇
2170 0
【2022持续更新】大数据最全知识点整理-HBase篇
|
敏捷开发 数据可视化 持续交付
带你读《SAFe 4.5参考指南:面向精益企业的规模化敏捷框架 》之一:SAFe基础
SAFe精益–敏捷领导者是终身学习者和老师,他们通过理解和展示精益–敏捷思维、SAFe原则和系统思考,帮助团队构建更好的系统。本书提供了一套在企业的投资组合、价值流、项目群和团队各个层面的完整的工作指南,包括构成框架的各种角色、活动和工件,以及价值观、理念、原则和实践的各种基本要素,并针对SAFe 4.5和SAFe 4.6进行了更新。
|
12月前
|
存储 NoSQL 搜索推荐
NoSQL数据库分类概览
以上就是我们的NoSQL数据库奇幻之旅。每一种NoSQL数据库都有自己独特的魅力和专长,择选合适的数据库,就像在魔法世界中挑选最适合自己的魔杖,使你的数据管理变得更加高效和神奇。在当今数据驱动的时代,懂得这些数据库的秘密,就掌握了处理各种数据挑战的关键。
566 61
|
6月前
|
人工智能 自然语言处理 算法
2025年AI 搜索优化(GEO)行业年度盘点:从资本爆发到入场公司初步分化
2025年,AI搜索优化(GEO)爆发式增长,取代传统SEO成营销新焦点。受全球资本热捧,中国市场规模突破480亿元,即搜AI与边鱼科技领跑,分别布局全域搜索与中小微企业服务。技术与商业闭环加速构建,行业迈向可持续价值竞争。
|
7月前
|
JSON 安全 API
技术实践:利用房天下 API 按关键词获取房产数据列表
本文介绍如何调用房天下API,通过关键词(如楼盘名、区域等)查询房产列表数据,获取房源名称、价格、户型、面积等信息,并提供Python示例代码及安全调用注意事项,适用于房产信息集成与市场分析。
|
9月前
|
定位技术
基于vue3.5+vite7+element-plus网页聊天系统
最新版vite7.1+vue3.5+element-plus仿微信web网页版聊天vite7-webchat。
498 4
|
SQL 存储 OLAP
数据外置提速革命:轻量级开源SPL如何用文件存储实现MPP级性能?
传统交易型数据库在分析计算中常遇性能瓶颈,将数据迁至OLAP数据仓库虽可缓解,但成本高、架构复杂。SPL通过轻量级列存文件存储历史数据,提供强大计算能力,大幅简化架构并提升性能。它优化了列式存储、数据压缩与多线程并行处理,在常规及复杂计算场景中均表现优异,甚至单机性能超越集群。实际案例中,SPL在250亿行数据的时空碰撞问题上,仅用6分钟完成ClickHouse集群30分钟的任务。
数据外置提速革命:轻量级开源SPL如何用文件存储实现MPP级性能?
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
|
算法 Java 数据库
Java生成随机字符串的方法
Java生成随机字符串的方法
483 0
|
存储 网络协议 安全
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(上)
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(上)