在上一篇计算机启动过程文章中介绍了计算机启动的基本流程,本篇文章主要介绍Linux内核Kernel的启动过程。 一、内核启动的基本流程 sequenceDiagram participant Bootloader participant Kernel participant InitProcess
前言 线程是计算机中的一种执行单元,是操作系统进行调度的最小单位。它是进程中的实际运行单位,每个进程可以包含多个线程。线程可以理解为进程中的一个执行流,它独立运行,拥有独立的栈和寄存器,但共享进程的资源,如内存空间、文件等。线程通过并发执行,将一个进程的任务划分成多个子任务并行处理,以提高程序的
前言 在做计算机最后两道题目碰到了MP3格式的镜像,分析发现是计算机内存,要进行内存取证。现在内存取证在ctf比赛中也是常见的题目,内存取证是指在计算机系统的内存中进行取证分析,以获取有关计算机系统当前状态的信息。内存取证通常用于分析计算机系统上运行的进程、网络连接、文件、注册表等信息,并可以用于检
前言 进程是计算机中运行的程序的实例。它是操作系统对正在执行的程序的一种抽象概念。每个进程都有自己的独立内存空间、运行状态和执行上下文。进程可以包含一个或多个线程,每个线程可以独立执行一部分任务。操作系统通过分配和管理进程资源来实现多任务和并发执行。进程之间可以通过进程间通信机制进行数据交换和协
前言 现代计算机基于计算、存储和调度的体系, 于是现代架构都是围绕这三大话题不断演进。 在基础架构部, 也是主要为了解决这三个难题,为业务事业部提供透明的、高可用、可快速伸缩的 三大能力, 我们组主要负责 [流量调度] 这个话题,下面是一些宏观的技术笔记。 在单体结构, 流量调度是直观且无感的(DN
* 很多时候,专业的计算机人士在讨论计算机问题的时候,总在讨论这个实现的原理是什么,这个如何实现,如何更好地实现,如果榨干计算机硬件的性能来实现某个功能活着需求,但是,对于跨学科,跨领域的问题,却很少讨论和涉及,如果你问他们,他们多半会敷衍的回答,没有这样的需求,没有这样的场景. * 其实计算机本身
根据冯诺·依曼结构,计算机中要有存储器。所以直到今天,内存和硬盘仍然在电脑中占有非常重要的地位。与大容量的硬盘不同,内存在存取速度上有着非常惊人的表现,但是断电后又不能保存存入的信息。因此在电脑硬件长期的发展过程中,内存一直扮演着中转站的角色。和其他硬件一样,内存遵循着摩根定律,从最远古的SIMM到
https://zhuanlan.zhihu.com/p/63322067 谈电脑硬件的文章很多,但一般是从电脑有哪些配件说起。这篇文章我尝试从架构方面来阐述,希望更有助于萌新对电脑的各种配件的作用进行理解吧。 1、冯·诺依曼架构[1] 现代计算机,常见的有两种架构,其中一种是冯·诺依曼架构。先看图
https://www.cnblogs.com/xuanyuan/p/14749838.html 计算机 很久很久以前,有一台机器,体型巨大,每秒钟可以进行几千次的加法运算,名震一时,人类给它取了个名字:计算机。 除了加法,它还能计算平方、立方、正弦、余弦,比人类的大脑算得快多了。 许多程序慕名而来
第一部分:Java 计算机语言介绍 第一代语言:机器语言。指令以二进制代码形式存在 第二代语言:汇编语言。使用助记符表示一条机器指令 第三代语言:高级语言 C、Pascal、Fortran面向过程的语言 C++面向过程/面向对象 Java跨平台的纯面向对象的语言 .NET跨语言的平台 Python、
简介 在计算机软件开发的世界里,多线程编程是一个重要且令人兴奋的领域。然而,与其引人入胜的潜力相伴而来的是复杂性和挑战,其中之一就是处理共享数据。当多个线程同时访问和修改共享数据时,很容易出现各种问题,如竞态条件和数据不一致性。 本文将探讨如何在Java中有效地应对这些挑战,介绍一种强大的工具——并
如何在自己的计算机上安装类似 ChatGPT 的个人 AI 并在没有互联网的情况下运行它 本文旨在为任何人安装此软件。最初它有一个视频,伴随着操作方法,但是事情变化很快,我的三次尝试只是推迟了我发表这篇文章。我以后可能会包括它。我努力创建一个简单的分步说明,为极端新手安装个人 AI。可能从未去过Gi
钩子劫持技术是计算机编程中的一种技术,它们可以让开发者拦截系统函数或应用程序函数的调用,并在函数调用前或调用后执行自定义代码,钩子劫持技术通常用于病毒和恶意软件,也可以让开发者扩展或修改系统函数的功能,从而提高软件的性能和增加新功能。钩子劫持技术的实现一般需要在对端内存中通过`create_alloc()`函数准备一块空间,并通过`assemble_write_memory()`函数,将一段汇编代
算术运算指令集是计算机中的一组基本操作,用于对数字执行常见的算术运算操作。这些指令都是计算机中非常基础的运算指令,可以用于实现所有常见的算术运算操作,并可以通过组合使用实现更加复杂的数学运算。在实际编程中,程序员可以根据具体需求选择合适的运算指令,实现程序中的算术运算操作。
循环语句(for)是计算机编程中的一种基本控制结构,它允许程序按照指定的次数或范围重复执行一段代码块。for循环在处理需要进行迭代操作的情况下非常有用,它使得程序可以更加方便地控制循环的次数。一般来说,for循环由三个部分组成:初始化部分、条件表达式和更新部分,以及一个需要重复执行的代码块。在每次循环迭代开始时,程序首先执行初始化部分,然后检查条件表达式的值,如果为真,则执行代码块,并在每次循环结
InlineHook 是一种计算机安全编程技术,其原理是在计算机程序执行期间进行拦截、修改、增强现有函数功能。它使用钩子函数(也可以称为回调函数)来截获程序执行的各种事件,并在事件发生前或后进行自定义处理,从而控制或增强程序行为。Hook技术常被用于系统加速、功能增强、等领域。本章将重点讲解Hook是如何实现的,并手动封装实现自己的Hook挂钩模板。首先我们来探索一下Hook技术是如何实现的,如下
InlineHook 是一种计算机安全编程技术,其原理是在计算机程序执行期间进行拦截、修改、增强现有函数功能。它使用钩子函数(也可以称为回调函数)来截获程序执行的各种事件,并在事件发生前或后进行自定义处理,从而控制或增强程序行为。Hook技术常被用于系统加速、功能增强、开发等领域。本章将重点讲解Hook是如何实现的,并手动封装实现自己的Hook挂钩模板。
物理内存 计算机物理内存条的容量,比如我们买电脑会关注内存大小有多少G,这个容量就是计算机的物理内存。 虚拟内存 操作系统为每个进程分配了独立的虚拟地址空间,也就是虚拟内存,虚拟地址空间又分为用户空间和内核空间,操作系统的位数不同,虚拟地址空间的大小也不同,32位操作系统虚拟地址内核空间为1G,用户
昨天接到了许久未见老友的一个电话,片刻寒暄之后聊到主题:朋友受人之托,帮人打听家中小孩选择计算机专业之后的就业问题的。 既然是朋友,自然不敢欺瞒,就把目前计算机就业相关的真实情况如实“汇报”了。 那么计算机行业现状如何呢?大家看这幅图自然就明白了: 杭州一家不知名的公司(我从业十几年未曾听过的一家公
数据类型是计算机编程中将不同类型的数据值分类和定义的方式。 通过数据类型,可以确定数据的存储方式和内存占用量,了解不同类型的数据进行各种运算的能力。 使用`pandas`进行数据分析时,最常用到的几种类型是: 1. 字符串类型,各类文本内容都是字符串类型 2. 数值类型,包括整数和浮点数,可用于计算