面试操作系统 - 第 1 部分

news/2024/5/6 22:50:15/文章来源:https://www.cnblogs.com/amboke/p/16704092.html

面试操作系统 - 第 1 部分

从来没有在课堂上或非 CS 部门认真对待过 OS 科目(比如我)。不用担心,我支持你!

You after reading the article

在这一系列文章中,我将尝试提供尽可能多的相关内容以及操作系统面试中需要的内容,但尽可能使质量达到最佳。

注意:- 本文的某些部分包含我从互联网上找到的定义。它们只是为了让读者更好地理解。

因此,让我们直接进入主题。

操作系统的最初日子(操作系统)

  • 最初发生的情况是用户/程序员必须编写程序、控制指令,并且必须发送输入数据。
  • 输入数据为穿孔卡格式,输出也相同。
  • 所以操作系统必须读取数据,通过点传递,并考虑输出。
  • 主要问题是输入数据和处理数据之间存在显着差异,因为输入是一个缓慢的过程(手动在卡上打孔),需要时间,而操作系统是可以更快地处理数据的软件。

1.批处理操作系统

Batch Process Operating System

  • 具有相似需求的作业被批处理在一起,并通过处理器作为一个组执行。
  • 有一个操作员将具有相似需求的工作分类到相同的批次中。
  • 在批处理执行期间,不需要干预。
  • 这些类型的操作系统的显着优势是可以节省活动的时间,例如 加载编译器 因为相同的组是连续执行的。
  • 主要缺点是内存有限,并且 i/o 设备直接与 CPU 交互。

2. Spooling——外设同时在线操作

Source:- Internet(You can see that system interacts with the disk to perform a task)

  • 与 CPU 相比,I/O 设备相对较慢。
  • 在 Spooling 中,数据首先存储到磁盘上,然后 CPU 通过主存与磁盘交互。
  • 由于主内存和磁盘被认为是数字的,它们大大减少了执行时间。
  • 主要优点是 I/O 设备与 CPU 没有交互,并且 CPU 利用率更高,即 CPU 大部分时间都很忙。
  • 缺点:- 在开始假脱机时本质上是单编程,即 CPU 一次选择一个任务,但后来它被升级了。

3. 开机

  • 它是启动计算机并加载内核(CPU的核心)的过程。
  • 当计算机开机时,会执行 POST(开机自检)。
  • 然后执行驻留在 ROM 中的引导加载程序,该加载程序加载内核或更复杂的加载程序。
  • 当内核正在执行/加载到主内存中时,系统已准备好执行用户指定的任务。
  • 所以过程是这样的:- 打开 → POST → 引导加载程序 → 内核 → 执行任务。

注意:-我们可以在另一篇文章(详细文章)中讨论这个主题的另一个调整。

4. 进程状态

  • 它被定义为流程的当前活动。
  • 当一个进程执行时,它的状态会发生变化。

Process State or Life Cycle Of Process

  • 任何时刻只能运行一个进程。
  • 许多进程可以处于就绪或等待状态。
  • 每个进程由操作系统内部由进程控制块 (PCB) 表示,也称为任务控制块。
  • PCB 包含 - 进程状态、程序计数器、CPU 调度信息和 I/O 状态信息。

5.进程调度

  • 它是从所有准备好的进程中选择一个进程来执行。
  • 有各种类型的调度程序可以帮助将进程从等待状态转移到执行。
  • 进程调度的主要目的是让 CPU 尽可能的忙碌。当 CPU 频繁切换到多个进程时,就会发生这种情况,从而产生一种它们都在一个进程中执行的感觉。
  • 上面的行被提取到操作系统的概念/类型,称为 ** 多任务操作系统** .
  • 在多任务操作系统中,操作系统 ** 上下文切换** 多个进程之间的频率如此之高,以至于似乎所有任务都在一次执行。
  • 只是为了让您了解操作系统的速度有多快

用于制造 A15 仿生芯片(iPhone 14 中的操作系统)的 Apple 神经引擎每秒可以执行 15.8 万亿次操作。该死!!

  • 正如你所看到的,操作系统确实更快,我们必须做些什么来挤压它的每一点。现在让我们专注于这个话题。

7. 术语

  • 僵尸进程‍♂️:- 这是一个已经终止但它的进程控制块仍然存在的进程,因为它的父进程还没有接受它的返回值。
  • 上下文切换:- CPU 在多个作业之间切换以赋予它们执行特定任务所需的计算能力,这称为内容切换,这意味着在多个进程之间切换上下文。

Source:- GeeksForGeeks (Diff Types Of Schedulers)

  • 长期调度程序:- 这些调度程序从用户提交的进程中选择进程并将它们加载到就绪队列中(队列用于它们的 FIFO 属性,也用于解耦系统)。
  • 短期调度员:- 如您所见,它们有助于将进程从就绪队列或主内存转移到 CPU。
  • 中期计划者:- 在某些情况下,即使进程在执行池中,也无法立即执行。所以中期调度器所做的就是将它们从当前位置移除,然后将它们放回就绪队列或主内存中。它有助于控制多道程序的程度。
  • 多编程操作系统:- 如果您认真阅读本文,您可以得出多程序操作系统的结论,即这些调度程序和假脱机的组合。从形式上讲,这是一个可以执行一系列任务的操作系统, ** 一次执行一个** 但不需要与 I/O 设备直接交互。
  • 抢先调度:- 假设您的 CPU 正在执行一项任务,但同时有一个主要的高优先级任务出现(例如对防火墙的攻击)。发生的情况是,CPU 正在从当前任务中被抢走,所有的计算能力都流向了高优先级的任务。这被称为抢占式调度,这意味着一个进程可以在任何时间通过从它那里获取 CPU 来强制停止。当这种强制离开发生时,任务进入就绪队列。
  • 非抢占式调度:- 与抢占相反,即在进程执行时不能抢夺CPU。非抢占式调度的主要优点是它消除了所有调度开销。

我想这就是今天的全部内容。写这篇文章花了我一些时间,一点点的欣赏和改进会对我有帮助的!!

随意连接 领英 **** 或者你可以给我发邮件 [email protected]。

最后,连接为 第2部分 .编码快乐!!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/37422/20521802

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_9382.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍 Preact Signals

1. 什么是 Signals? Signals 是用来处理状态的一种方式,它参考自 SolidJS,吸收了其大部分的优点。无论应用多么复杂,它都能保证快速响应。 Signals 的独特之处在于状态更改会以最有效的方式来自动更新组件和 UI。 Signals 基于自动状态绑定和依赖跟踪提供了出色的工效,并具…

手写RPC框架Feign

Feign原理实现手写RPC框架Feign什么是RPCFeign注入原理EnableFeignClientsFeign调用入口手写Feign手写RPC框架Feign 阅读本文你可获得: 1、RPC原理 2、feign注入原理 3、如何手写feign框架 4、动态代码设计模式应用场景 什么是RPC RPC:远程过程调用&…

基于ssm的校运会管理系统设计与实现-计算机毕业设计源码+LW文档

开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:…

CSS基础篇---01选择器、字体与文本样式

CSDN话题挑战赛第2期 参赛话题:学习笔记 文章目录 1.初识CSS CSS引入方式 2.选择器 标签(元素)选择器 class选择器 id选择器 通配符选择器 案例演示 3.字体样式 字体大小 字体粗细 字体样式 字体类型 字体系列 层叠性 font复…

VM关闭虚拟机之后,连接不上前一天设置的静态ip

错误场景: 问题原因: centos7 默认的网卡 ens33 在虚拟机启动时,没有自动启动。导致设置的静态ip不生效,故连接不上。 解决方案: 查看托管是否启动,倘若网卡没有启动很可能是没有加入托管。 查看托管是否…

【强化学习】《动手学强化学习》动态规划算法

【强化学习】《动手学强化学习》动态规划算法一、基本思想二、悬崖漫步环境三、策略迭代算法3.1 策略评估3.2 策略提升3.3 悬崖漫步环境下的策略迭代四、价值迭代算法一、基本思想 动态规划算法在计算机专业课中是特别重要的思想,将待求问题分解成若干个子问题&…

Springboot 集成kafka

一、创建项目并导入pom依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId> </dependency> 二、修改application.yml配置 1. producer 生产端的配置 spring:#重要提示:kafka配置,该…

Redis介绍和安装

Redis介绍 Redis是一个开源的、基于Key-Value(键-值&#xff09;存储的NoSQL数据库。Redis因其丰富的数据结构、极快的速度、齐全的功能而为人所知&#xff0c;它是目前内存数据库方面的事实标准&#xff0c;是目前使用广泛的开源缓存中间件。 Redis特点 结构丰富&#xff0…

CS231a课程笔记:Lecture2 Camera Models

关于齐次坐标&#xff1a;(15条消息) 为什么要引入齐次坐标&#xff0c;齐次坐标的意义&#xff08;一&#xff09;_追求卓越583的博客-CSDN博客_齐次坐标的意义(15条消息) 为什么要引入齐次坐标&#xff0c;齐次坐标的意义&#xff08;二&#xff09;_追求卓越583的博客-CSDN博…

DNS 解析流程

一、背景 最近&#xff0c;在S3协议项目中调研通过DNS域名解析处理流量负载均衡问题。原来对dns也有一些粗浅的了解&#xff0c;知道通过DNS可以将域名转换为IP地址&#xff0c;也可以做负载均衡。但是DNS的解析流程以及缓存等机制&#xff0c;只是一知半解。正好&#xff0c;…

windows安装nginx并设置开机自启动

在macOS和linux中使用nginx我早已经轻车熟路。突然切到windows的环境中&#xff0c;我反而不会用了。 之前写了《windows使用nginx探索笔记》内容比较冗长&#xff0c;所以本文尽量精简一下。 环境 操作系统&#xff1a;windows 2008R2 Datacenter 已经安装的软件&#xff1…

C语言中malloc(),free(),calloc(),realloc()

申请内存malloc()在申请内存时不会对内存进行初始化赋值 在申请内存后&#xff0c;没有对内存进行初始化的话&#xff0c;这段内存中就存储着系统随机值。 int n 5; int* p (int*)malloc(n * sizeof(int));malloc(size):size就是你想开辟的内存的字节大小。我们通常想要用这段…

SpringCloud基础6——分布式事务,Seata

用于复习快速回顾。 目录 1.分布式事务问题 1.1.本地事务&#xff0c;ACID原则 1.2.分布式事务 1.3.演示分布式事务问题 2.理论基础 2.1.CAP定理 2.1.1.一致性&#xff0c;数据同步 2.1.2.可用性&#xff0c;节点正常访问 2.1.3.分区容错 2.1.4.矛盾 2.2.BASE理论 …

vulnhub-xxe lab: 1

ifconfig nmap 192.168.61.0/24 找到192.168.61.145 目录扫描&#xff08;御剑&#xff09; 192.168.61.145/xxe 192.168.61.145/admin.php 无法访问&#xff0c;但是robots.txt里面写的应该不会是无效网站&#xff0c;所以可能是被拒绝访问了 抓xxe的包 可以发现是用xml写的…

[ web基础篇 ] Burp Suite 爆破 Basic 认证密码

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

层次选择器

层次选择器 后代选择器简介后代选择器可以选择作为某元素后代的元素(包括儿子,孙子,重孙子) 两个元素之间的层次间隔可以是无限的示例<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><title>Title</t…

怎么把握住股票每天的最佳交易时机?

每个股民都希望自己能够在每天的股价最高点卖出&#xff0c;然后在最低点再买回来&#xff1b;但是怎么去判断最好的交易时机呢&#xff0c;很多人会想很多方法去识别判断最佳交易点&#xff0c;今天给大家分享一种方法&#xff1b;我一直在思考股票交易的底层逻辑是啥&#xf…

如何在基础镜像中安装指定python版本

背景 由于规范要求要使用指定的镜像版本,但是由于该镜像中的python与我使用的版本有差异,怕引起一些不必要的兼容问题,所以我需要自己按基础镜像基础上安装对应版本的python。 Dockerfile 直接上最终dockerfile,为什么这样写,后面说到。 FROM centos:7 # 指定工作目录 WOR…

【2022中国高校计算机大赛 微信大数据挑战赛】Top 1-6 方案总结

前段时间参加了 2022中国高校计算机大赛 微信大数据挑战赛&#xff0c;比赛链接&#xff1a;https://algo.weixin.qq.com/。 由于时间原因精力有限&#xff0c;我们队伍的方案做的比较简陋&#xff1a; 【初赛&#xff1a;rank-18&#xff0c;复赛&#xff1a;rank-40&#xff…

网课查题接口 搜题公众号对接题库教程 (附赠题库接口)

网课查题接口 搜题公众号对接题库教程 &#xff08;附赠题库接口&#xff09; 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查…