操作系统大题整理

news2025/3/3 18:28:14

专题一

程序代码题:程序设计与分析,主要考的是线程,多线程的并发?

大题第一问(1)操作系统的结构有哪几种常用的结构?

宏内核:宏内核是将操作系统的主要功能模块都集中在内核的一种结构。高性能,复杂度高,缺乏灵活性。具体表现在:由于所有的功能都在内核中,模块之间的调用通过函数调用实现,通信开销小,执行效率高。内核代码庞大且复杂,因为包含了众多功能模块,使得内核的开发,维护和调试都比较困难。

微内核:微内核只把操作系统最基本的功能放在内核中,其他功能如文件系统,设备管理等都放在内核之外的空间。高可靠性,良好的拓展性。内核小简单,减少了内核出错的概率,如果用户空间的服务出现故障,不会直接导致整个系统崩溃。可以方便的在用户空间添加新的服务。

混合内核:混合内核结合了宏内核和微内核的特点,它在内核中保留了较多的功能,但又采用了微内核的一些设计理念,如将部分功能模块进行了分离和模块化处理。性能与拓展性的平衡,复杂性适中。

大题第二问(2)Linux源码从git中如何下载(题干中源码的链接给了)?拓展一下git常用方法,git怎么用,分支管理,创建......

在下载源码之前,需要确保系统已安装 Git。如果未安装,可以通过以下方式安装

sudo apt - get install git

克隆远程仓库: git clone <repository rul>     远程仓库的地址(URL)

创建并切换到新分支: git checkout -b <branch name>

仅创建分支:如果只想创建分支而不切换: git branch <branch name>

合并分区:git merge <source branch>

大题第三问(3)对于Linux是典型的宏结构,但是它仍然把微内核的优势引用进来,动态的内核加载机制,可以动态加载,加载的步骤是什么?

只需要写核心的步骤:第一步编写内核,第二步进行编译,第三步编译之后加载内核,第四步加载完成后还可以进行卸载。

专题二 虚拟化(主要是虚拟处理器)

大题第一问(1)给你一组实验数据,这个实验数据是上课做过的,让你计算cpu的个数,物理cpu和逻辑cpu的个数。

大题第二问(2)得出是有多颗cpu的,多核的,再给你一组数据,查看有几个进程,请把这俩个进程绑定到指定的逻辑cpu上,怎么处理?

专题三:虚拟化(包含虚拟化的内存)

大题第一问(1)对着程序输出结果找到相应的地址段就行

大题第二问(2)还需要解释.bss .data .rodata .text的含义:

.text段通常存放程序的可执行代码,它是可读的,因为在程序运行的过程中,代码本身通常是不会被修改的。

.data段存放的是已经初始化的全局变量和静态变量(非零初始化)

.rodata段存放的是只读数据,例如字符串常量,被const修饰的全局变量等

.bss段存放的是未初始化的全局变量和静态变量

PS:初始化赋值为0的变量属于.bss段

大题第三问(3)内存管理中相应的又分为动态分区和静态分区,其中堆和栈的区别是什么?

堆是一种无序的数据存储区域,更像是把数据随意的堆放在一块大的内存空间里,数据的存储和释放并没有像栈那样固定的顺序。堆的内存空间大小相对于栈来说要大的多,它通常是可以动态扩展的。堆的数据访问速度相对于栈要慢一些。

栈是一种后进先出的数据结构。在内存中,栈的生长方向是从高地址向低地址进行的,数据的存入和取出操作都是在栈顶进行,新的数据入栈时会被压入栈顶,而数据出栈时也是从栈顶取出相应的数据。栈的大小通常是有限的,并且相对较小。栈的数据访问速度通常比较快。因为栈的内存分配和释放操作简单且有规律。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL编程语言

第一章 1. 数据库是长期储存在计算机内&#xff0c;由专门的数据管理软件(数据库管理系统)&#xff0c;进行统一组织和管理控制的大量数据的集合。 2.数据库的基本特点不包括可以快速检索。 3. 数据管理技术的发展经历了&#xff1a;人工管理阶段、文件系统阶段、数据库系统阶…

【跨域问题】

跨域问题 官方概念&#xff1a; 当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域本质来说&#xff0c;是前端请求给到后端时候&#xff0c;请求头里面&#xff0c;有一个 Origin &#xff0c;会带上 协议域名端口号等&#xff1b;后端接受到请求&…

Linux(CentOS7)安装JDK和Maven

文章目录 CentOS软件安装方式JDK安装Maven安装 CentOS软件安装方式 安装方式特点二进制发布包安装软件已经针对具体平台编译打包发布&#xff0c;只要解压&#xff0c;修改配置即可。例如tomcatrpm(redhat package manager)安装软件已经按照redhat的包管理规范进行打包&#x…

RabbitMQ 可观测性最佳实践

RabbitMQ 简介 RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写&#xff0c;支持多种客户端。它通过使用交换机&#xff08;Exchanges&#xff09;、队列&#xff08;Queues&#xff09;和绑定&#xff08;Bindings&#xff09;来路由消息&#xff…

Github Copilot学习笔记

&#xff08;一&#xff09;Prompt Engineering 利用AI工具生成prompt设计好的prompt结构使用MarkDown语法&#xff0c;按Role, Skills, Constrains, Background, Requirements和Demo这几个维度描述需求。然后收输入提示词&#xff1a;作为 [Role], 拥有 [Skills], 严格遵守 […

单片机-定时器中断

1、相关知识 振荡周期1/12us; //振荡周期又称 S周期或时钟周期&#xff08;晶振周期或外加振荡周期&#xff09;。 状态周期1/6us; 机器周期1us; 指令周期1~4us; ①51单片机有两组定时器/计数器&#xff0c;因为既可以定时&#xff0c;又可以计数&#xff0c;故称之为定时器…

高比例压缩:Linux 中的压缩命令与技巧

文章目录 高比例压缩&#xff1a;Linux 中的压缩命令与技巧1. 压缩格式的选择2. gzip 命令示例&#xff1a;压缩文件示例&#xff1a;解压文件 3. bzip2 命令示例&#xff1a;压缩文件示例&#xff1a;解压文件 4. xz 命令示例&#xff1a;压缩文件示例&#xff1a;解压文件 5.…

【ArcGIS Pro二次开发实例教程】(1):图层的前置、后置

一、简介 此工具要实现的功能是&#xff1a;将内容框中当前选定的图层移到最顶层或最底层。 主要技术要点包括&#xff1a; 1、Config.daml文件设置&#xff08;UI设置&#xff09; 2、按钮的图片和位置设置 3、当前选定图层的获取 4、图层在内容列表中位置的获取和移动 …

Sprint Boot教程之五十:Spring Boot JpaRepository 示例

Spring Boot JpaRepository 示例 Spring Boot建立在 Spring 之上&#xff0c;包含 Spring 的所有功能。由于其快速的生产就绪环境&#xff0c;使开发人员能够直接专注于逻辑&#xff0c;而不必费力配置和设置&#xff0c;因此如今它正成为开发人员的最爱。Spring Boot 是一个基…

ESP32 IDF VScode出现头文件“无法打开 源 文件 ”,并有红色下划线警告

问题背景&#xff1a; ESP32 IDF VScode出现头文件“无法打开 源 文件 ”&#xff0c;并有红色下划线警告&#xff1a; 解决办法&#xff1a; 在工程里面的.vscode文件夹下&#xff0c;检查是否存在c_cpp_properties.json文件&#xff0c;如果没有可以手动创建添加。如图…

【Shell脚本】Docker构建Java项目,并自动停止原镜像容器,发布新版本

本文简述 经常使用docker部署SpringBoot 项目&#xff0c;因为自己的服务器小且项目简单&#xff0c;因此没有使用自动化部署。每次将jar包传到服务器后&#xff0c;需要手动构建&#xff0c;然后停止原有容器&#xff0c;并使用新的镜像启动&#xff0c;介于AI时代越来越懒的…

关于ssh-server在windows系统中进行部署及通过mobaxterm中ssh隧道技术实现不同网段之间进行网络通讯的问题

问题1.windows系统部署ssh-server 在安装部署过程中参考先行者就可实现部署。我使用的作者百度云安装包。 记录一下操作步骤&#xff1a; 1.在搜索中打开power shell命令行&#xff0c;将文件夹复制到C:\Program Files&#xff0c;切换到OpenSSH-Win64&#xff0c;执行如下安装…

写了个小工具,绿色/C#/Url/Base64/Encode/Decode

写这个小工具的动机是什么呢&#xff1f; 虽然很多在线工具也非常地方便&#xff0c;但经常在抓包的时候需要操作相关的转码工作&#xff0c;但你开着抓包工具访问网页有时候又非常地不方便。这时候就想到如果有一款本地的工具软件&#xff0c;就非常地耐斯。 这种工具也不是…

【优选算法】Binary-Blade:二分查找的算法刃(下)

文章目录 1.山脉数组的峰顶索引2.寻找峰值3.寻找旋转排序数组中的最小值4.点名希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 本篇接上一篇二分查找&#xff0c;主要通过部分题目熟悉二分查找的进阶使用&#xff0c;重点强调二段性&#xff0c;…

【Ubuntu22.04】VMware虚拟机硬盘扩容

1.首先打开虚拟机设置 2.根据需要对硬盘扩展 这边提示我们还需要进入虚拟机在内部分区 3.安装界面化磁盘管理工具 # 安装 sudo apt install gparted# 启动 sudo gparted调整硬盘大小 调整的时候会提示我们硬盘是只读的&#xff0c;因此还要进行操作 新建终端重新挂载文件系…

无网络时自动切换备用网络环境

目录 背景目标为什么需要做自动网络切换网络切换手段 网络环境实现思路和代码部署脚本开机自动执行附录连接两个网络时的路由问题 背景 目标 学校实验室有两个网络环境&#xff0c;我电脑使用网线连接稳定但低速的网络A&#xff0c;使用WiFi连接高速但不稳定的网络B。因此&am…

设计模式 行为型 策略模式(Strategy Pattern)与 常见技术框架应用 解析

策略模式&#xff08;Strategy Pattern&#xff09;核心思想是将算法的实现从使用该算法的类中分离出来&#xff0c;作为独立的对象&#xff0c;通过接口来定义算法家族&#xff0c;这样就可以很容易地改变或扩展算法。通过这种方式&#xff0c;可以避免在客户端代码中使用大量…

Unity 热更新基础知识

文章目录 1.一些名词2.三种编译方式3.Unity 两种脚本后端3.1 Mono3.2 IL2CPP3.3 对比 1.一些名词 IL&#xff08;Intermediate Language&#xff09;&#xff1a;中间语言&#xff08;类似于汇编代码&#xff09;CIL&#xff08;Common Intermediate Language&#xff09;&…

C++感受15-Hello STL 泛型启蒙

生鱼片和STL的关系&#xff0c;你听过吗&#xff1f;泛型编程和面向对象编程&#xff0c;它们打架吗&#xff1f;行为泛型和数据泛型&#xff0c;各自的目的是&#xff1f; 0 楔 俄罗斯生鱼片&#xff0c;号称俄罗斯版的中国烤鸭&#xff0c;闻名于世。其鱼肉&#xff0c;源于…

LabVIEW轴承性能测试系统

本文介绍了基于LabVIEW的高效轴承性能测试系统的设计与开发。系统通过双端驱动技术实现高精度同步控制&#xff0c;针对轴承性能进行全面的测试与分析&#xff0c;以提高轴承的可靠性和寿命。 项目背景 随着工业自动化程度的提高&#xff0c;对轴承的性能要求越来越高。传统的…