操作系统八股文06-补充-程序相关知识

八股文--操作系统篇 参考:https://leetcode-cn.com/circle/discuss/zIxrWn/ ### 内核空间和用户空间;为啥要这么区分 其实所有的系统资源管理都是在内核空间中完成的。比如读写磁盘文件,分配回收内存,从网络接口读写数据等等。 其实就是通过一个特殊的指令让进程从用户态进入到内核态(到了内核空间),在内核空间中,CPU 可以执行任何的指令,当然也包括从磁盘上读取数据。具体过程是先把数据读取到内核空间中,然后再把数据拷贝到用户空间并从内核态切换到用户态。 对于一个进程来讲,从用户空 阅读详情

补充2-程序相关知识

1. 程序执行步骤

  • 预编译:展开头文件、注释、宏替换

    g++ test.cpp -E -o test.i
    
  • 编译:生成汇编代码

    g++ test.i -S -o test.s
    
  • 汇编:生成机器码

    g++ -c test.cpp
    
  • 链接:不同目标文件进行连接,生成可执行文件

    g++ test.s -s -o test.o
    

2. 动态链接、静态链接

2.1 静态链接

  • 静态库:在链接阶段复制到了程序中

  • 命名规则

    • linux: libxxx.a
    • windows: libxxx.lib
  • 制作过程

  1. 使用src中的源文件,制作静态库

    g++ -c add.cpp minis.cpp -I ../include/
    ar rcs libcalc.a minis.o add.o
    
  2. 将创建的静态库移动到lib中

    mv libcalc.a ../lib/
    
  3. 使用静态库编译main.cpp

    g++ main.cpp -o mian -I include/ -L lib/ -l calc
    

g++中,-I 指定头文件位置,-L 指定库文件位置,-l 指定库文件

2.2 动态链接

  • 动态库:运行时由系统加载到内容中供程序调用

    • 命名规则
      • linux: libxxx.so
      • windows: libxxx.dll
    • 制作过程
  1. 使用src中的源文件,制作动态库
g++ -c -fpic add.cpp minis.cpp -I ../include/
g++ -shared *.o -o libcalc.so
  1. 将创建的动态库移动到lib中
mv libcalc.a ../lib/
  1. 使用动态库编译main.cpp

    g++ main.cpp -o mian -I include/ -L lib/ -l calc
    
  2. 添加动态库路径

    • 临时配置

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/workspace/WebServr/lession04/lib 
      
    • 永久配置 用户级

      在.bashrc中加入上述指令
      source .bashrc
      
    • 永久配置 系统级

      在/etc/profile中加入上述指令
      source /etc/profile
      
    • 永久配置 系统级

      在/etc/ld.so.conf中加入路径
      ldconfig
      

dll 查询依赖关系

2.3 动态库、静态库对比

  • 静态库

    • 优点

      • 加载速度快
      • 发布程序无需提供静态库、移植方便
    • 缺点

      • 消耗系统资源、浪费内存
        • 更新、部署、发布麻烦
  • 动态库

    • 优点

      • 可以实现进程间资源共享
      • 更新、部署、发布简单
      • 可以控制何时加载动态库
    • 缺点

      • 加载速度慢
        • 发布时需要提供依赖的动态库

3. 程序内存划分

  • 用户区 0-3G

    • .text 代码段

    • .data 已初始化的全局变量

    • .bss 未初始化的全局变量

    • 堆空间 低地址 -> 高地址

    • 共享库

    • 栈空间 高地址 -> 低地址

  • 内核区 3-4G

Java面试八股文高效准备:从原理链路到Offer实战 在Java后端面试中,ConcurrentHashMap的size()实现、Kafka的百万并发支撑、MySQL的B+树索引等高频考点,本质上考察的是候选人能否将知识点串联成完整的技术链路。理解并发容器、消息队列、索引优化等核心概念,掌握其底层原理与技术价值,是将面试追问转化为加分项的关键。针对分布式系统、JVM、Redis等企业级应用场景,系统化梳理知识网络,并借助模拟追问与限时输出训练结构化表达,能显著提升面试通过率。本文结合真实面试复盘,分享一套从背题到答题、从概念到应用的八股文准备方法论,帮助开发者 阅读详情

相关推荐

2025华为OD面试手撕代码真题目录、八股文真题目录以及面试技巧

1. **华为OD面试技术面准备指南** 2. **华为OD面试技术面常见问题解答** 3. **华为OD面试技术面经验分享** 4. **华为OD面试技术面注意事项** 5. **华为OD面试技术面攻略** 6. **华为OD面试技术面模拟题目与解析** 7. **华为OD面试技术面知识点梳理** 8. **华为OD面试技术面常考**

算法大师! 3万+

程序员面试中,如何轻松应对“八股文”面试

与此同时,也有支持“八股文”的声音:“熟练掌握“八股”,关键时刻出bug是真的能救命的。因此,在面试过程中,我们应该合理运用八股文,既要重视基础知识的考察,也要关注应聘者的实践能力和综合素质。在这个背景下,程序员的面试变得越来越重要,而“八股文”作为面试的一部分,也受到了广泛关注。通过八股文的考察,他们可以展示自己的基础知识和学习能力,为今后的职业发展奠定基础。促进学习成长:八股文涉及的知识点多为基础性和通用性的内容,掌握这些知识点有助于程序员在工作中不断学习成长,提升自己的综合素质。

本博客除普及前沿技术及代码实践案例,还主要分享工作中使用比较前沿的技术栈与心得 1070

Unsloth Desktop 本地大模型微调量化实战指南

大语言模型的本地化定制正在成为开发者与内容创作者的重要需求,而微调与量化则是其中最关键的两项技术。LoRA 与 QLoRA 通过仅训练少量低秩矩阵,大幅降低显存占用和训练成本,让消费级 GPU 也能完成模型适配;GGUF 格式则打通了训练与推理的边界,使微调后的模型可直接接入 Ollama、llama.cpp 等主流推理引擎。本文以 Unsloth Desktop 为切入对象,从其底层加速原理出发,梳理了环境准备、模型加载、对话测试、量化导出、微调验证及 API 批量调用的完整链路,并针对显存优化、端口冲突

weixin_29055137的博客 397

程序员面试中的“八股文”:助力还是阻力?

八股文”在程序员面试中扮演着至关重要的角色,它通常指的是一系列固定的技术问题和知识点,如数据结构、算法、操作系统等。例如,对于数据结构和算法的熟练掌握,不仅能够体现应聘者的专业水平,更在实际工作中,如优化代码效率、解决复杂问题时发挥关键作用。同时,作为应聘者,也应当意识到“八股文”只是面试的一部分,真正的职业发展还需要依靠持续的学习和实践,不断提升自身的技术广度和深度。所谓的“八股文”,指的是一系列在技术面试中频繁出现的问题,这些问题通常涉及数据结构、算法、设计模式等计算机科学的基础知识。

王尼莫的博客 1051

ETL第八章无人售货机零售项目实践

ETL实战项目——无人售货机

m0_52058217的博客 4418

S32K144 ADC硬件触发实战:PDB模块配置与DMA传输全流程解析

本文详细解析了S32K144微控制器中ADC硬件触发的全流程实现。通过配置PDB模块产生精确的定时触发信号,并联动DMA实现转换数据的自动搬运,构建了一个无需CPU干预的高效、低抖动数据采集系统。文章深入讲解了时钟配置、模块初始化、DMA引擎搭建及实战调试技巧,为汽车电子和工业控制应用提供了可靠的解决方案。

weixin_29174141的博客 226

八股文!这么背!

作者:阿秀校招八股文学习网站:https://interviewguide.cn这是阿秀的第「267」篇原创小伙伴们大家好,我是阿秀。不知道什么时候八股文这个说法开始流传出去了,以前是没有这个说法的,我印象中就是近三五年流传开来的。现在无论是找实习,校招还是社招, 感觉计算机相关的求职都离不开八股文了,操作系统、计算机网络、数据库MySQL、Redis等面试问题。很多人也把我当初的学习笔记当做八股...

博客 5240

【图像处理】德里奇( Deriche)边缘检测器

Deriche边缘检测,同canny算法齐名,因此,知道canny原理,也有必要知道德里奇的检测原理。本篇专门针对德里奇算法展开讨论。

gongdiwudu的专栏 8683

八股文:程序员的“救命稻草”还是“无用赘物”?

在现代技术公司中,面试往往是一场充满悬念的技术“选拔赛”。每一位候选人都在展示自己的技术实力,而“八股文”如同一把神秘的宝剑,成为了评判的标准之一。记得小王第一次面试时,面试官问了一个关于分布式系统设计的问题。小王迅速回忆起大学时背过的“八股文”内容,顺利回答,赢得了面试官的赞许。然而,当小王正式进入工作岗位后,他发现实际项目中的问题远比面试中的题目复杂得多。“八股文”的作用究竟在哪里?它真的是敲开技术大门的“救命稻草”吗,还是工作中的“无用赘物”?

theskylife的博客 1421

【实战】CANOE实现UDS安全访问过程的CAPL脚本

首先我已经有了包含安全访问算法的dll文件,并通过Diagnostics/ISO TP Configuration中加载了此dll文件,如下。在on start部分,要将“ECU qualifier“作为参数,执行diagSetTarget函数。这个函数是用于设置tester从现在开始与之通信的目标ECU,并配置/建立与该ECU的通信通道。我最近在做密钥学习上位机时,遇到一些问题:如何用CAPL脚本实现安全访问过程?ECU Qualifier可以通过加载cdd文件后,在如下位置找到。CAPL脚本如何编写。

weixin_46481662的博客 4939

部署与可视化系统:移动端跟踪系统:YOLOv8 + ByteTrack 结合 Android CameraX 实现实时行人计数 App

本文详细介绍了在Android移动端实现实时行人检测、跟踪与计数系统的完整方案。系统采用YOLOv8+ByteTrack技术栈,基于NCNN推理引擎,无需云端算力即可在手机端侧完成全流程处理。文章从技术选型、系统架构、CameraX集成等多个维度进行深入解析,重点阐述了移动端部署面临的工程挑战和优化策略。通过四层管道模型设计,实现了从图像采集到目标跟踪的高效处理流程,并采用C++ NDK开发确保性能。该系统在中端手机上可达到10FPS,旗舰机型可达30FPS,为移动端实时目标跟踪提供了可落地的解决方案。

ZXSXJ的博客 91

程序员面试中的“八股文”:敲门砖还是绊脚石?

程序员面试中的“八股文”:敲门砖还是绊脚石?

极客编程科技优快云官网账号 1036

c++篇 cad.arx Win10环境配置vs2019+arx2021多版本配置+vs2022 配置图

msvc v141 v140这个两个好像是编译vs2015 vs2017版本的,必须装,然后v142装最新的,剩下的有些是默认的,还有就是mfc这些恐怕要装,然后是v140v141这两个版本的windows sdk是8.1,需要单独装一下。Windows SDK version 8.1 下载地址。windows sdk是10.0.19041.0。先安装vs2019,如图。

我的博客 781

程序员面试“八股文”:助力成长还是应试枷锁?

八股文”原指明清科举考试中的一种文体,因其格式僵化、内容空洞而著称。在程序员面试语境下,“八股文”则指的是一系列固定的、常被问及的技术问题,如数据结构与算法、操作系统原理、网络协议、框架知识等。这些问题往往有标准答案或解题思路,应聘者需通过背诵和练习来准备。当前,不少企业在面试程序员时,倾向于通过“八股文”来快速评估应聘者的基础知识掌握程度和技术广度。这种做法看似高效,实则可能忽略了应聘者的实际编程能力、问题解决能力和创新思维。

蒲松龄 1119

ROCm rocr-libhsakmt分析系列9-3: queue的内核创建流程

KFD队列是用户空间与GPU通信的核心机制,通过多种队列类型(计算、DMA、调试等)实现命令流管理。核心数据结构包括描述队列属性的queue_properties、内核调度对象queue、进程级管理器process_queue_manager,以及跨进程设备的qcm_process_device等。这些结构通过ring buffer、doorbell机制和MQD硬件描述符协同工作,支持队列全生命周期管理、资源调度、异常处理和上下文保存/恢复功能。

图形/计算GPU的驱动与虚拟化技术分享园地 2129

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

“八股文”在实际工作中是助力、阻力还是空谈?

总的来说,"八股文"在面试中的运用具有一定的合理性,能有效评估求职者的专业基础和技术能力,但也存在一定的局限性,可能忽视了对求职者实际开发能力和创新思维的考察。八股文,这一术语起源于中国古代科举考试中的一种固定格式的文体,而在现代,尤其是在编程领域,它被用来形容那些在面试和工作中经常被提及却可能与实际工作不完全相关的基础知识点。此外,值得注意的是,面对这一面试方式,求职者需要采取平衡的策略,一方面要熟练掌握"八股文"所涉及的知识点,另一方面也要积极培养解决实际问题的能力,展示出自己的逻辑思维和创新能力。

[Blog][Domain] programb.blog.youkuaiyun.com 1027

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

InterviewGuide 开源计算机校招学习笔记仓库解析:从学习路线到校招八股文的完整知识导航

InterviewGuide(阿秀的学习笔记)是一个以计算机校招求职为核心主题的开源学习笔记仓库,内容涵盖基础学科学习路线、编程语言路线、面试八股文、数据结构与算法、校招/实习经验总结等一整套知识体系。本文以仓库根目录 [README.md](https://link.gitcode.com/i/32cd2694a842742187dff687de19931f) 为骨架,结合 [docs/note

gitblog_00952的博客 263

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

CPP找工作八股文记录

用以个人在找工作学习过程中积累的八股文,来源于优快云等网络资源总结。

weixin_45016269的博客 1603

进程和线程(操作系统八股文part2)

运行中的程序叫进程**(Process)**。进程是资源分配的最小单位,线程是执行的最小单位。由于每个进程的用户空间都是独立的,不能相互访问,这时就需要借助内核空间来实现进程间通信,原因很简单,每个进程都是共享一个内核空间。Linux 内核提供了不少进程间通信的方式,其中最简单的方式就是管道,管道分为「匿名管道」和「命名管道」。匿名管道顾名思义,它没有名字标识,匿名管道是特殊文件只存在于内存,没有存在于文件系统中,shell 命令中的「」竖线就是匿名管道,通信的数据是无格式的流并且大小受限。

linjixia的博客 1440

InterviewGuide 项目全景解析:从学习路线、校招八股文到算法刷题的一站式求职笔记仓库

> 本文以 `forthespada/InterviewGuide`(《阿秀的学习笔记》)仓库的 [README.md](https://link.gitcode.com/i/0898a1324410e14e6afe12d51415c033) 为骨架,系统拆解这个面向互联网校招与社招求职的开源知识库:它包含哪些内容板块、每个板块对应仓库中哪些文档、如何按自己的基础与时间挑选学习路径,以及如何在本地

gitblog_00210的博客 1004

面试中的双刃剑,助力还是阻力?——程序员面试与实际工作能力的探讨

  视觉创想

2401_85750860的博客 433

程序员面试的面试利器与素质考察的基石

  ---

2401_85750860的博客 297

校招面试“背八股文“困境破解:从“死记硬背“到“理解内化“的实战方法论(基于 InterviewGuide 学习笔记)

> 本文以 InterviewGuide 仓库中的一篇真实校招答疑([《越学越没信心!面试的时候像是在背八股文》](https://link.gitcode.com/i/07ff073a51565f7ee9266ebe16e00bff))为核心骨架,结合仓库内积累的面试题库、算法笔记与学习路线,系统拆解"八股文"的成因、正确的回答方式,以及双非研二 C++ 求职者在秋招冲刺阶段的落地行动清单。读者

gitblog_01126的博客 665

面试八股文总是背了又忘?双非校招生的“越学越没信心”自救指南——基于 InterviewGuide 学习笔记的实战复盘

> 本文基于 InterviewGuide(《阿秀的学习笔记》)中「越学越没信心!面试的时候像是在背八股文」这一篇真实答疑文档展开。文章完整还原了一位双非研二同学在秋招冲刺 C++ 时遇到的典型困境(基础记不住、项目做不出来、算法刷不完),并结合仓库中的八股文面试题库、力扣刷题笔记与 C++ 项目推荐等一手资料,系统拆解“八股文怎么答才不算背”“剩四个月到底该干什么”两大核心问题,给出可执行、可验

gitblog_00693的博客 168

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 349
上一篇: 操作系统八股文05-补充-PV操作、管程、生产者消费者
下一篇: Java Arrays自定义排序的五种写法
今生有幸.~
博客等级 码龄9年 26粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值