自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1488)
  • 收藏
  • 关注

原创 探究Salient Span Masking:技术专家也能会心一笑

不像传统的Masked Language Model(MLM)会随机地遮住一些单词让模型猜,Salient Span Masking直奔重点,专挑文中的「香味十足」部分——也就是信息量大的token(词汇单元),比如专业名词或是关键短语,来进行遮挡。Salient Span Masking学的就是这门“捡重点”的手艺,把机器引导至文本的精髓所在,效仿我们阅读时的重点标记习惯,提升语言模型的高效学习能力。牢记哟,唯有不断学习和实践,才能保持在技术的巅峰,嗯,至少在会议上装逼也得装得心安理得。

2024-02-16 14:34:20 830

原创 活用CDF:统计学中的隐藏英雄

累积分布函数或许不是最光鲜亮丽的统计学概念,但它的实用性和灵活性使其成为任何数据科学家和统计学家工具箱中不可或缺的工具。通过今天的探索,希望你已经对CDF有了更深入的理解,并准备好在自己的数据分析项目中应用它。

2024-01-28 01:55:21 874

原创 泊松分布:数学中的意外之喜

泊松分布,以法国数学家西莫恩·德尼·泊松命名,是描述在一定时间内发生某事件次数的概率分布。这听起来可能有点抽象,但别担心,我来用一个简单的例子解释。假设你经营着一个小而受欢迎的网上杂货店。根据过去的数据,你知道平均每小时会有3个顾客下单。那么,在接下来的一小时内恰好有5个顾客下单的概率是多少呢?这就是泊松分布登场的时刻。泊松分布是数学中一个美妙而强大的工具,它提醒我们,即使在最不可预测的情况下,数学仍然能够提供深刻的见解。所以,下次当你想探索周围世界的奥秘时,不妨以泊松分布为指导。

2024-01-27 23:29:34 1318

原创 无尽连接的纽带:计算机网络套接字详解

套接字是计算机网络中应用层与传输层之间的接口。它为应用程序提供了一种机制,使得不同主机上的应用程序可以进行通信。在套接字的设计中,常见的分类包括面向连接的套接字(SOCK_STREAM)和面向无连接的套接字(SOCK_DGRAM)。套接字作为计算机网络中重要的工具之一,扮演着连接不同主机上应用程序的纽带。通过本文的讲解,我们详细了解了套接字的定义、分类、创建、绑定、连接、监听、数据传输以及关闭与释放等方面的知识。相信在今后的网络编程中,你能够更加熟练地运用套接字进行网络通信。

2023-09-29 14:47:34 483

原创 计算机系统: PPO(物理页偏移)详解

PPO,即物理页偏移,是指计算机内存系统中页面访问的一种方式。在虚拟内存系统中,每个进程有自己的虚拟地址空间,这些虚拟地址需要通过内存管理单元(MMU)转换为物理地址才能访问实际的物理内存。PPO是指物理地址中用于表示页面内偏移量的部分。物理地址由页框号(PFN)和偏移量两部分组成,其中偏移量即为PPO。通过PPO,我们可以确定所需数据在物理页面中的位置,从而进行有效的内存访问。

2023-09-22 16:29:41 535

原创 计算机系统:Closing marks详解,超全

Closing marks是计算机系统中一个重要的概念,它表示一个进程的结束点。在计算机系统中,每个进程都有自己的生命周期,在执行完任务后,必须通过Closing marks显式地告知系统该进程已经完成。在本篇博客中,我们详细介绍了计算机系统中Closing marks的含义和作用。Closing marks在计算机系统中起着重要的作用,用于释放资源、更新进程状态以及向其他进程发送通知。我们还介绍了Closing marks的几种实现方式,包括函数返回值、系统调用和信号。

2023-09-18 23:33:42 424

原创 深入剖析 dup2 函数:掌握文件描述符的神器

在 Unix-like 系统中,文件描述符(File Descriptor)是一种用于标识已打开文件或资源的整数。它是操作系统提供给用户程序访问文件或输入输出设备的接口。每个打开的文件都会被分配一个唯一的文件描述符,程序通过操作文件描述符来读取或写入文件。它的作用是将 oldfd 所指的文件描述符复制到 newfd,并且返回 newfd。如果 newfd 已经打开,则先关闭 newfd,再进行复制。该函数成功时返回新的文件描述符,失败时返回 -1,并设置相应的错误码。

2023-09-18 23:33:04 891

原创 互动无界:揭秘计算机系统中的Standard I/O黑科技!

标准输入输出指的是计算机程序与外部环境(如终端、文件等)进行数据交互的方式。在Unix和类Unix系统中,标准输入输出被称为stdin、stdout和stderr。其中,stdin用于接收输入数据,stdout用于输出普通信息,stderr用于输出错误信息。本文全面介绍了计算机系统中标准输入输出的概念和使用方法。我们详细讨论了标准输入、标准输出和标准错误输出的含义和使用技巧,并简单介绍了文件重定向的用法。通过深入理解和灵活运用标准输入输出,我们能够更好地编写高质量的计算机程序和系统。

2023-09-18 23:31:28 239

原创 开启计算机系统的新世界:深入解析I/O重定向

I/O重定向是指将一个程序默认的输入或输出流(通常是标准输入和标准输出)重新定向到其他的设备或文件。通过I/O重定向,我们可以改变程序与用户或其他程序之间的数据流动方向,实现更灵活的数据处理和交互方式。

2023-09-18 23:30:29 266

原创 计算机系统揭秘:Open File Table解密,全面详解!

本文详细介绍了Open File Table的原理、功能以及在计算机系统中的作用。作为连接用户与文件之间的桥梁,OFT为文件访问和管理提供了便利,同时也为系统资源的优化和性能的提升做出了贡献。通过深入理解OFT的工作原理,我们能更好地利用计算机系统中的文件功能,提高程序的效率和性能。

2023-09-18 23:28:43 273

原创 计算机系统: 文件共享详解

文件共享是计算机系统中非常重要的一个功能,它可以方便地在多个计算机之间传输和分享文件。无论是在个人生活中还是在工作场所,文件共享都扮演着至关重要的角色。本文将详细介绍文件共享的概念、原理、常用协议以及相关安全性问题。

2023-09-18 23:28:02 1285

原创 计算机系统核心组成部分的descriptor table

总之,描述符表是计算机系统中非常重要的一部分,它允许CPU访问内存和外设。为了保证安全性和可靠性,描述符表通常由操作系统内核来管理,以确保只有授权的进程能够访问特定的内存段,同时还需要遵循内存保护和安全规则。本篇文章简单介绍了x86架构计算机中的三种描述符表形式:系统段描述符表(SDT),全局描述符表(GDT)和局部描述符表(LDT),以及选择符,这些都是重要的机制,对于理解计算机系统的核心组成部分非常关键。

2023-09-18 23:27:11 232

原创 揭秘计算机系统中的File Metadata,探寻数字世界的秘密

在计算机系统中,文件是我们日常工作和生活中不可或缺的一部分。然而,除了文件内容本身外,文件还有一些隐藏的信息,被称为文件元数据(File Metadata)。本文将深入剖析文件元数据的概念、作用以及常见的元数据类型,带领大家一起探寻数字世界的秘密。文件元数据是指描述文件属性和特性的数据,它与文件内容本身无直接关联。它储存了文件的各种信息,如文件名称、大小、创建时间、修改时间、访问权限等。通过文件元数据,计算机系统能够管理、搜索、归档和保护文件。下面,我们将逐一介绍一些常见的文件元数据类型。

2023-09-18 23:26:33 444

原创 计算机系统:缓冲输入/输出(Buffered I/O)的实现详解

缓冲输入/输出是指通过在计算机系统中引入内存缓冲区来处理I/O操作的一种方法。它将数据暂时存储在内存中的缓冲区中,而不是直接从外部设备读取或写入。这样做的好处是可以减少对外部设备的访问次数,从而提高了系统的效率和响应速度。本文详细介绍了计算机系统中缓冲输入/输出的实现原理和相关细节。通过使用缓冲区来处理I/O操作,我们可以提高系统的性能和响应速度,同时增强数据的可靠性和一致性。希望本文能够帮助读者更好地理解和应用缓冲输入/输出技术。

2023-09-18 23:24:11 481

原创 计算机系统: 实现 rio_readn 函数的详解

rio_readn 函数是基于缓冲技术的非阻塞式 I/O 函数,其主要作用是从描述符 fd 中读取 n 个字节的数据,并将其存储到内存地址 usrbuf 中。其中,fd 是打开的描述符,usrbuf 是用户空间缓冲区的指针,n 是要读取的字节数。函数返回值为 ssize_t 类型,表示实际读取的字节数。本文介绍了 rio_readn 函数的实现方法。该函数是基于缓冲技术和非阻塞式 I/O 技术的,可以提高数据的读取效率。

2023-09-18 23:22:17 234

原创 Unbuffered RIO输入输出详解:窥探计算机系统的神秘面纱

Unbuffered RIO是指在计算机系统中进行输入和输出操作时,直接将数据从外部设备读取或写入内存,而不经过缓冲区的中间处理。这意味着数据能够实时地流入和流出计算机系统,极大地提高了系统的响应速度和效率。相比于传统的缓冲输入输出(Buffered I/O),Unbuffered RIO采用了一种更加直接的数据传输方式。在传统的缓冲I/O中,数据首先存储在缓冲区中,然后再被传输到目标内存位置。

2023-09-18 23:21:18 233

原创 计算机网络通信:MTU 详解

MTU指的是在计算机网络中可以一次性传输的最大数据长度。它是网络通信中的一个重要参数,代表了网络设备(如路由器、交换机等)能够承载的最大数据块大小。超过MTU大小的数据需要被分割成多个分组进行传输。

2023-09-18 23:20:38 2703

原创 Short Counts:优化计算机性能的秘密武器!

在计算机系统中,Short Counts是指执行器在达到预定周期之前中止执行的情况。它在计算机系统的运行过程中起着至关重要的作用。Short Counts是计算机系统中一个重要的概念,它通过在预定周期之前中止执行来提高系统的性能和稳定性。在处理器设计、操作系统和嵌入式系统等领域都有广泛的应用。通过合理地设置Short Counts的参数,我们可以优化计算机系统的运行效率,提高用户体验。希望通过这篇博客,你能够对Short Counts有一个更深入的了解。计算机系统是一个广阔而深奥的领域,我们只是浅尝辄止。

2023-09-18 23:11:14 256

原创 窥探计算机系统内部:深入解析strace工具

strace是一款用于跟踪和记录系统调用的工具,它可以捕捉到程序与操作系统之间的交互过程。通过strace,我们可以查看程序运行时的系统调用序列,包括打开文件、读写数据、网络通信等。strace可以为我们提供丰富的信息,帮助我们排查和解决问题。通过本文的介绍,我们对strace工具有了更深入的理解。strace作为一款系统级别的跟踪工具,可以帮助我们窥探计算机系统内部的运行机制。它的强大功能为我们解决程序调试和优化过程中的各种问题提供了极大的便利。

2023-09-18 23:10:29 229

原创 探秘perror函数,C语言程序员必备的错误破解利器!

perror 函数是 C 语言标准库中的一个函数,在头文件中声明。它用于将上一次系统调用失败的原因输出到标准错误流中。本文介绍了 perror 函数的用途、原理和使用方法。perror 函数是一个非常有用的错误处理工具,可以帮助程序员快速定位和解决问题。合理利用 perror 函数,可以提高代码的可读性和可维护性。希望本文对你理解 perror 函数有所帮助。如果你对 C 语言的错误处理还有其他问题,欢迎留言讨论!

2023-09-18 23:09:26 613

原创 文件描述符(file descriptor)详解,让你彻底了解计算机系统!

文件描述符是一个与输入/输出资源相关的整数,也可以被称为文件句柄(file handle)、文件指针(file pointer)或文件引用(file reference)。简单来说,它是操作系统为了管理 I/O 操作而维护的一个表中的索引,代表着系统中打开的文件的一个“门牌号”。这个表通常被称为文件描述符表(file descriptor table),其中每个条目描述了一个打开的文件,并包含文件的类型、读写位置以及其他状态信息。我们可以通过文件描述符来引用这些打开的文件,进行文件读写操作。

2023-09-18 23:08:43 3193

原创 穿越计算机系统的路径:pathnames 详解!

在计算机系统中,路径名是用于指定文件或目录位置的字符串。它由一系列的目录名和文件名组成,用特定的分隔符来分隔它们。路径名的格式和语法在不同的操作系统中可能会有所不同,下面我们将分别介绍在 Unix-like 系统和 Windows 系统中的路径名规则。本文深入探讨了计算机系统中 pathnames 的概念和使用。我们了解了路径名在不同操作系统中的规则,并且区分了绝对路径和相对路径的概念。通过良好的路径名管理,我们能够更方便地定位和访问文件或目录,提高计算机系统的效率。

2023-09-18 23:07:35 83

原创 计算机系统:cwd(current working directory)详解,超全!!!

在计算机系统中,cwd是指当前工作目录(Current Working Directory)。它是操作系统当前正在运行的进程所在的目录。在命令行界面中,用户输入命令时,默认情况下会在cwd下执行。

2023-09-18 23:03:36 1666

原创 一个神秘的数字:0xa,揭开计算机系统的面纱

在计算机系统中,我们通常使用二进制表示数据。然而,二进制数在书写和读取时较为繁琐,因此引入了十六进制数。十六进制数由0-9和A-F共16个字符表示,其中A表示10,B表示11,以此类推,直到F表示15。与二进制数相比,十六进制数更简洁,并且易于转换为二进制或其他进制。

2023-09-18 23:01:38 780

原创 Regular files——计算机系统中的普通文件详解

普通文件(Regular files)是指储存在文件系统中的常规文件,它们包含了人类可读的字符文本、二进制数据或其他任何形式的信息。这些文件可以被打开、读取、写入、修改和删除。普通文件可以是文本文件、二进制文件或程序(可执行)文件等。与普通文件相对应的有两种特殊的文件类型:目录和特殊文件。目录文件是一种用于组织文件和子目录的数据结构,而特殊文件则是指Linux系统中的设备文件、管道文件和链接文件等。本文详细介绍了计算机系统中的普通文件(Regular files),包括其定义、属性和类型等方面。

2023-09-18 22:58:46 131

原创 计算机系统的黑科技:Relocation Entries详解

在计算机编程中,Relocation Entries是指把一个软件程序从一个内存地址移动到另一个内存地址时所需的修改。简单来说,当我们运行一个程序时,它需要被加载到内存中才能执行。而Relocation Entries就是确保程序正确地加载到内存中,以便能够顺利执行。Relocation Entries是计算机系统中的一个黑科技,它可以确保程序正确地加载到内存中,并且允许多个程序共享同一份代码。在Linux系统中,动态链接和共享库是使用Relocation Entries最常见的方式。

2023-09-15 00:11:10 71

原创 智能化时代下的计算机系统:Relocation详解

Relocation指的是将程序或模块从一段内存移动到另一段内存的过程。在计算机系统中,程序代码和数据通常被加载到主存储器中执行。然而,由于各种原因,如内存不足或其他进程的干扰,程序可能无法被加载到所需的位置。这时,就需要使用Relocation技术,将程序加载到其他可用的内存地址上,并调整程序中的地址引用,使其能够正确地执行。

2023-09-15 00:10:17 85

原创 计算机系统: extern attributes详解

全局变量的定义包括类型和初始值,并且只能在一个源文件中进行。而全局函数的定义可以在任意源文件中进行,并且不需要初始值。在不同的源文件中,变量或函数的声明必须与其定义一致。如果不一致,编译器会报错。通过使用extern属性,我们可以在不同的源文件中共享全局变量和函数。这样可以提高代码的重用性和可读性,同时实现代码的模块化。在使用extern属性时,需要注意声明和定义的一致性,并遵循一些规范和注意事项。

2023-09-14 23:58:18 74

原创 超然于进程的神奇存在——线程

线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程(Process)当中,是进程中的实际运作单位。与进程相比,线程更为轻量级,共享进程的地址空间和系统资源。每个进程都至少包含一个线程,称为主线程,而其他线程则被称为子线程。线程作为计算机系统中重要的概念和技术,对于提高程序性能、提升用户体验至关重要。本文详细介绍了线程的定义、特性、模型和实现原理,以及其在各个领域的应用。希望读者通过本文的阅读,能够对线程有更深入的了解,并能在实际开发中灵活运用。

2023-09-14 23:57:39 27

原创 计算机系统中的ABI:一次详尽解析

ABI,全称为“Application Binary Interface”,即应用程序二进制接口。它定义了应用程序与操作系统之间进行交互的方式和规范,确保不同的软件组件能够正确地协同工作。ABI包括了函数调用约定、寄存器的使用、参数传递方式、系统调用接口等内容,为软件开发者提供了一个稳定和一致的编程接口。ABI作为计算机系统中的重要概念,扮演着连接应用程序和操作系统的桥梁角色。它通过规范标准化的函数调用约定、寄存器使用方法和系统调用接口等内容,保证了不同软件组件之间的互操作性和跨平台兼容性。

2023-09-14 23:56:45 721

原创 符号链接器(Linker Symbols):深入解析,无所不知!

在软件开发过程中,我们通常会编写大量的代码文件,并将其编译为目标文件。这些目标文件中包含了各种函数、变量等符号定义。而符号链接器就是用来将多个目标文件链接成一个可执行文件或共享库的工具。本文全面介绍了符号链接器的原理、功能和应用领域。从符号解析到符号重定位,再到符号合并,链接器在软件开发过程中起着至关重要的作用。希望通过本文的介绍能够增进对符号链接器的理解,提高软件开发的效率和质量。

2023-09-14 23:56:01 129

原创 计算机系统中的.bss段:深入解析与细节剖析

在计算机的内存分段结构中,每个程序都会被分为不同的段,包括代码段、数据段和.bss段。其中,.bss段是一种特殊的数据段,用于存储未初始化的全局变量和静态变量。在计算机系统中,.bss段是一种用于存储未初始化全局变量和静态变量的特殊数据段。它在程序加载到内存时会被清零,并在使用前不需要显式地初始化。.bss段的大小取决于程序中未初始化变量的总大小,它的位置紧跟在数据段之后。了解和理解.bss段的特点和细节,对于编写高效、可靠的程序具有重要的意义。

2023-09-14 23:55:24 1035

原创 计算机系统: 探秘ELF(可执行和可链接格式)的奥秘!

ELF作为一种通用的二进制文件格式,被广泛应用于各种操作系统和硬件架构。它定义了如何组织和布局可执行文件、共享对象文件以及核心转储文件。ELF格式具有可移植性、灵活性和扩展性的特点,因此在现代计算机系统中发挥着重要的作用。ELF(Executable and Linkable Format)是现代计算机系统中广泛使用的二进制文件格式。它定义了可执行文件、共享对象文件和核心转储文件的结构和布局,为操作系统提供了加载、链接和调试程序的基础。

2023-09-14 23:52:35 180

原创 Shared Object File (.so):开发必备,详解使用指南!

在Linux系统中,使用ldd和nm等工具可以查看和调试共享对象文件。使用共享对象,程序可以在运行时动态地链接到所需的库,而不是在编译时将库链接到程序中。SO文件是一种特殊类型的可执行文件,它可以被多个程序所共享,被称为“共享目标”文件。例如:libm.so.6,在此文件名中,“lib"是一个前缀,代表这是一个库文件,而"m"是库的名称,”.so"表示这是一个共享目标文件,"6"表示版本号。在Linux系统中,与.so文件相关的内容相当重要,本文将会介绍SO文件的基本概念、创建方法以及一些相关工具的使用。

2023-09-14 23:50:23 415

原创 计算机系统深度解析:Executable Object File(a.out 文件)全面详解!

a.out 文件是指可执行文件中的一种常见格式。它是用于 Unix 和类 Unix 操作系统上的可执行文件格式之一,经常用于 C 编程语言的程序编译后生成的可执行文件。在早期的 Unix 系统中,a.out 文件格式被广泛采用,直到后来被更为通用的 ELF (Executable and Linkable Format) 格式所取代。然而,在某些系统上,a.out 文件格式仍然得到支持,并且可以通过特定的工具进行创建和解析。在本文中,我们深入探讨了 a.out 文件的内部结构、应用场景以及使用方式。

2023-09-14 23:49:34 466

原创 可迁移目标文件(.o文件)详解:深入探究计算机系统的重要组成部分

可迁移目标文件是编译器输出的一种中间文件格式,它包含了源代码被编译后生成的机器指令、变量、函数以及其他符号的二进制表示。与可执行文件相比,可迁移目标文件不包含绝对地址,这使得它能够在链接时进行符号地址的重定位,从而实现可执行文件的生成。可迁移目标文件在软件开发中具有重要意义。首先,它们可以充分利用模块化编程的优势,将一个大型程序拆分为多个可迁移目标文件,有助于提高代码的可维护性和重用性。其次,它们为不同的平台和操作系统提供了一种通用的代码交换格式,能够在不同环境下进行移植和共享。

2023-09-14 23:48:52 541

原创 汇编器:计算机系统的翻译工匠

通过深入了解汇编器的原理和应用,程序员可以更好地理解计算机系统,并发挥其最大的潜力。它在计算机系统中扮演着重要的角色,可以帮助程序员将高级语言编写的指令转化为底层机器可执行的指令。汇编器是一种可以将汇编语言指令转换为机器码的程序。它接受由程序员编写的汇编语言代码作为输入,然后根据特定的规则进行解析和转换,最终生成等效的机器码。:在软件安全领域,逆向工程是一项重要的技术,而汇编器是逆向工程过程中常用的工具之一。:对于包含相对寻址或绝对寻址的指令,汇编器能够计算出正确的内存地址,并将其嵌入到生成的机器码中。

2023-09-14 23:48:05 193

原创 替换策略详解:计算机系统中的性能优化技巧

在计算机系统中,内存管理是一个至关重要的方面。为了优化系统的性能和资源利用率,计算机系统采用了各种替换策略来管理内存中的数据和页面。本文将深入讨论常见的替换策略,并解释它们的原理、特点以及如何选择适当的策略。

2023-09-14 23:47:15 295

原创 计算机系统:VPO(Virtual Page Offset)详解

VPO是指虚拟页偏移,它是虚拟内存中虚拟页地址的一部分。在虚拟内存系统中,整个地址空间被划分为许多固定大小的虚拟页,每个虚拟页都有一个唯一的虚拟页号和一个虚拟页偏移量。VPO就是指虚拟页的偏移量部分,用于表示页内的具体地址。本文对计算机系统中的VPO进行了详细解析。VPO作为虚拟内存管理中的重要概念,可以帮助操作系统将虚拟地址映射到物理地址上。它的计算方式取决于虚拟页的大小,通常为虚拟页大小对应的二进制位数。通过理解VPO的概念和作用,我们可以更好地理解虚拟内存管理的原理和实现。

2023-09-13 23:50:04 1030

原创 超全解析 | 计算机系统之VPN(Virtual Page Number)详解

VPN,即Virtual Page Number,是指虚拟内存中的页号。在操作系统中,内存被划分为固定大小的页(Page),而每个页都对应着一个唯一的VPN。通过VPN,操作系统能够精确地定位和管理虚拟内存中的数据。

2023-09-13 23:49:14 426

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除