首页 > 其他分享 >专题二:操作系统基本原理

专题二:操作系统基本原理

时间:2024-10-18 23:32:28浏览次数:1  
标签:专题 操作系统 基本原理 缓冲区 死锁 2.2 进程 磁盘 2.3

1. 操作系统概述

操作系统:

  • 管理系统的硬件、软件、数据资源

  • 控制程序运行

  • 人机之间的接口

  • 应用软件与硬件之间的接口

进程管理

存储管理

文件管理

作业管理

设备管理

2. 进程管理

2.1. 进程状态(三态模型、五态模型)

2.2. ★★★信号量与PV操作★★★

2.2.1. 前趋图

2.2.2. 进程的同步与互斥

互斥:如千军万马过独木桥

同步:速度有差异,在一定情况停下等待

2.2.3. PV操作

临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等

临界区:每个进程中访问临界资源的那段代码称为临界区

信号量:是一种特殊的变量

单缓冲区生产者、消费者问题PV原语描述:

生产者: 消费者:

生产一个产品: P(s2):

P(s1): 从缓冲区取产品:

送产品到缓冲区: V(s1):

v(s2): 消费产品:

S1初值为1,S2初值为0

2.3. ★★★进程死锁问题★★★

进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。

例:系统有3个进程:A、B、C。这3个进程都需要5个系统资源。如果系统至少有多少个资源,则不可能发生死锁。

进程A

进程B

进程C

2.3.1. 临界值问题:最小资源总数=m*(n-1)+1,m为进程数,n为单个进程需要的资源数

2.3.2. 死锁的条件与避免

2.3.3. ★★★进程调度★★★

先来先服务

优先数调度

轮转法

短作业优先

3. 存储管理

3.1. 段式存储

3.2. 页式存储

页号

页内地址

31 16 15 0

3.3. ★★段页式存储★★

4. 文件管理

4.1. ★索引文件结构★

索引最大长度

磁盘块大小1KB,每个块号占3B,因此一个磁盘物理块可存放1024/3=341个块号

一级索引

341*磁盘块大小(B)/1024=341KB

二级索引

341341磁盘块大小(B)/1024=116281KB

4.2. ★树形目录结构★

绝对路径:是从盘符开始的路径。

相对路径:是从当前路径开始的路径

若当前目前为:D1,要求F2路径,则:绝对路径:/D1/W2/F2,相对路径:W2/F2

4.3. ★空闲存储空间的管理(位示图法)

位示图

5. 设备管理

5.1. I/O设备管理软件

用户进程

设备无关程序

设备驱动程序

中断处理程序

硬件

5.2. 缓冲技术(单缓冲区、多缓冲区)

单缓冲区

(每个盘读入缓冲区时间 +缓冲区送至用户区时间)* 磁盘块个数+ 每个磁盘块处理时间

双缓冲区

每个盘读入缓冲区时间 *磁盘块个数 +缓冲区送至用户区时间 +每个磁盘块处理时间

标签:专题,操作系统,基本原理,缓冲区,死锁,2.2,进程,磁盘,2.3
From: https://www.cnblogs.com/yongjannes/p/18475227

相关文章

  • 专题(十九)Linux 下的正则表达式
    一、作用与介绍正则表达式通常用于判断语句中,用来检查某一字符串是否满足某一格式正则表达式是由普通字符与元字符组成普通字符:包括大小写字母、数字、标点符号及一些其它符号元字符:是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)......
  • 【哈工大_操作系统实验】Lab5 基于内核栈切换的进程切换
    本节将更新哈工大《操作系统》课程第五个Lab实验基于内核栈切换的进程切换。按照实验书要求,介绍了非常详细的实验操作流程,并提供了超级无敌详细的代码注释。Linux0.11采用TSS和一条指令完成任务切换,虽然简单但执行时间长。堆栈实现任务切换更快,且可以使用指令流水......
  • Free RTOS实时操作系统
    FreeRTOS实时操作系统目录FreeRTOS实时操作系统裸机和实时操作系统嵌入式操作系统的作用向裸机工程中添加FreeRTOS源码修改FreeRTOSConfig.h文件(操作系统的配置文件)--修改stm32f10x_it.c创建任务–动态内存FreeRTOS文件夹介绍更改过后的代码裸机和实时......
  • ESP32-IDF GPIO 专题
    目录一、基本介绍1、配置结构体2、API2.1gpio_config2.2gpio_reset_pin2.3gpio_set_intr_type2.4gpio_intr_enable2.5gpio_intr_disable2.6gpio_set_level2.7gpio_get_level2.8gpio_set_direction2.9gpio_set_pull_mode2.10gpio_isr_register2.11gpio_install......
  • 操作系统层面有哪些锁
    操作系统层面有哪些锁互斥锁互斥锁在同一时刻只允许一个线程或进程访问共享资源,其他线程或进程需要等待锁的释放。同步锁两个或两个以上的进程或线程在运行过程中协同步调,按预定的先后次序运行。比如A任务的运行依赖于B任务产生的数据互斥与同步的区别​ 互斥锁是通......
  • AOT漫谈专题(第五篇): 如何劫持.NET AOT编译器 进行源码级调试
    一:背景1.讲故事上篇聊到了C#程序编译成Native代码的宏观过程,有粉丝朋友提了一个问题,能不能在dotnetpublish发布的过程中对AOT编译器拦截进行源码级调试,这是一个好问题,也是深度研究的必经之路,这篇我们就来分享下吧。二:托管和非托管调试器1.调试器介绍相信大家现在都知......
  • 麒麟操作系统jdk环境配置
    本文以java8为例。jdk8下载地址:https://www.oracle.com/java/technologies/downloads/#java8进入页面后可以看到不同操作系统jdk包的下载链接(需注册账号登录才能下载安装包)。由于麒麟操作系统是基于Linux系统的,所以这里首先进入Linux下载列表。根据CPU型号查询内核架构类型......
  • openEuler、Linux操作系统---(7)权限管理与进程管理讲解
    一、引言在Linux操作系统的广袤领域中,权限管理与进程管理犹如两道坚实的壁垒,对系统的安全性、稳定性及运行效率起着至关重要的作用。本次讲解将引领各位深入探索Linux系统的权限机制和进程管理领域,通过对chmod、chown、umask等命令的运用来实现文件权限的修改、文件所有......
  • 专题:链表(已完结)
    1.移除链表元素就是续签prenodecurnode需要注意本地使用虚拟头节点逻辑更加简单/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val......
  • 在Windows下载VMware安装麒麟桌面操作系统
    在Windows上安装下载VMwareWworkstationPro一、下载安装虚拟机下载:去vmware官网下载PC端VMware;安装:下载文件:安装之后的界面;点击下一步出现了这个页面,证明电脑里面已经存在vmware,可以直接用,如果需要重新安装,可进行直接删除,再重新打开安装程序继续安装;到选择位置......