摘要: 这篇文章概括了数据链路层和物理层在网络通信中的作用和功能。数据链路层负责为网络层提供链路级别的传输服务,通过MAC地址标识设备,并在链路上进行数据传输。物理层将数据包转换为电信号,在物理媒介中传输。不同的物理媒介包括双绞铜线、同轴电缆和光纤,它们都被用于实现高效的数据传输和通信。 阅读全文
posted @ 2023-09-18 14:33 努力的小雨 阅读(642) 评论(0) 推荐(3) 编辑
摘要: 学习网络协议的关键是了解其分层结构。在计算机网络中,我们使用的是OSI标准模型和TCP/IP网络模型。这些模型将网络通信划分为多个层级,每个层级都有不同的功能和作用。在本章节中,我们主要讲解了TCP/IP网络模型的前三层:应用层、传输层和网络层。后面的数据链路层和物理层将在下一篇文章中进行详细讲解 阅读全文
posted @ 2023-09-17 11:41 努力的小雨 阅读(1001) 评论(0) 推荐(5) 编辑
摘要: 本文讨论了零拷贝在优化数据传输效率方面的局限性。尽管零拷贝技术在减少数据传输过程中的内存拷贝次数方面有很大的优势,但它并非适用于所有情况。文章介绍了一些其他的优化方法,如异步I/O和直接I/O的组合、根据文件大小选择不同的优化方式。至此,我们的计算机基础专栏就结束了,不知道大家有没有发现,操作系统底层提供了丰富的解决方案来支持应用程序的复杂性和可扩展性。对于任何工作中遇到的问题,我们都可以从操作系统的角度寻找解决方法。 阅读全文
posted @ 2023-09-16 18:02 努力的小雨 阅读(625) 评论(2) 推荐(4) 编辑
摘要: 本章节主要讨论了如何通过零拷贝技术来优化文件传输的性能。零拷贝技术主要通过减少用户态和内核态之间的上下文切换次数和数据拷贝次数来提高性能。具体来说,介绍了两种实现零拷贝的方式:mmap + write和sendfile。使用mmap + write可以减少一次数据拷贝过程,而使用sendfile系统调用可以进一步减少系统调用和数据拷贝次数。此外,还介绍了如果网卡支持SG-DMA技术,可以通过DMA将数据直接拷贝到网卡缓冲区,实现真正的零拷贝。通过这些优化方法,可以显著提高文件传输的性能。 阅读全文
posted @ 2023-09-15 18:48 努力的小雨 阅读(627) 评论(0) 推荐(3) 编辑
摘要: 在本次讨论中,我们确实只是提到了DMA技术在文件传输过程中的重要作用,并对零拷贝技术进行了简要介绍。然而,网络传输中存在的问题和优化方法是一个庞大的话题,涉及到诸多方面。因此,我决定将这些问题的详细讨论留到下一篇文章中,以便更全面地探讨网络传输的优化。我希望通过这样的讨论,能够为读者提供有益的信息和思路,感谢大家的阅读和关注,期待在下一篇文章中与大家再次交流和分享关于网络传输的优化问题。 阅读全文
posted @ 2023-09-14 19:47 努力的小雨 阅读(268) 评论(0) 推荐(1) 编辑
摘要: 在发送数据包的过程中,不同层次的网络协议扮演着不同的角色。数据包在经过多层封装后,通过网络设备和路由器进行转发,并最终到达目标设备。在每个层次中,都会进行相应的处理和解封装,以确保数据包能够正确传输和被接收端处理。整个过程涉及到了物理层、数据链路层、网络层、传输层和应用层等多个层次的协议和设备。尽管在简化的示例中,发送数据包的过程相对简单,但实际情况中会更加复杂,需要通过路由表选择最佳路径来保证数据包的快速、高效传输。整个过程展示了网络分层结构的重要性和协同工作的复杂性。 阅读全文
posted @ 2023-09-13 09:26 努力的小雨 阅读(987) 评论(0) 推荐(1) 编辑
摘要: 在这篇文章中,我们将继续探讨网络分层的重要性和每个层次的功能。网络分层的优势在于每个层次的功能清晰明确,使得网络的设计和维护更加简化和灵活。网络分层的设计和实现使得我们能够在全球范围内进行高效的通信和信息交流。通过理解每个层次的功能和作用,我们可以更好地理解和解决网络中出现的问题 阅读全文
posted @ 2023-09-12 09:21 努力的小雨 阅读(547) 评论(0) 推荐(1) 编辑
摘要: 本文探讨了Linux操作系统中的通用块层和存储系统I/O软件分层的优化策略。通用块层作为文件系统和磁盘驱动之间的接口,通过排队和调度I/O请求,提高磁盘的读写效率和可靠性。存储系统的I/O软件分层包括文件系统层、通用块层和设备层,它们相互协作,实现对存储系统的高效管理和操作。本文旨在深入了解通用块层和其他I/O软件层的功能和作用,分析优化存储系统的管理和操作,提升系统性能和可靠性。 阅读全文
posted @ 2023-09-11 10:24 努力的小雨 阅读(577) 评论(0) 推荐(3) 编辑
摘要: 对于有科班背景的读者,可以跳过本系列文章。这些文章的主要目的是通过简单易懂的汇总,帮助非科班出身的读者理解底层知识,进一步了解为什么在面试中会涉及这些底层问题。否则,某些概念将始终无法理解。这些计算机基础文章将为你打通知识的任督二脉,祝你在编程领域中取得成功! 阅读全文
posted @ 2023-09-10 12:38 努力的小雨 阅读(978) 评论(0) 推荐(2) 编辑
摘要: 通过对键盘输入的处理过程和设备控制器的作用的了解,我们可以更好地理解操作系统如何与键盘设备进行交互,并正确处理键盘输入。同时,了解设备控制器的作用可以帮助我们更好地理解操作系统与外设硬件之间的通信和控制过程。 阅读全文
posted @ 2023-09-09 22:01 努力的小雨 阅读(327) 评论(0) 推荐(1) 编辑
摘要: 在这篇文章中,我将分享一次由于操作不当导致数据库瘫痪的经验。通过回顾故障发生的时间、系统简介、时间线、问题分析和经验总结等方面的内容。讨论操作时间不当、操作流程不当、缺乏执行计划和限流机制等问题,并提出一些建议,如确认数据库更新时间、优化更新操作、使用限流工具、设置超时时间和重试机制、调整数据库参数以及定期维护和优化数据库。通过分享这次经验,我希望能帮助他人避免类似的错误,并提高数据库操作的准确性和稳定性。 阅读全文
posted @ 2023-09-08 13:40 努力的小雨 阅读(3408) 评论(15) 推荐(9) 编辑
摘要: 对于有科班背景的读者,可以跳过本系列文章。这些文章的主要目的是通过简单易懂的汇总,帮助非科班出身的读者理解底层知识,进一步了解为什么在面试中会涉及这些底层问题。否则,某些概念将始终无法理解。这些计算机基础文章将为你打通知识的任督二脉,祝你在编程领域中取得成功! 阅读全文
posted @ 2023-09-07 10:40 努力的小雨 阅读(531) 评论(0) 推荐(1) 编辑
摘要: 本文介绍了非连续空间存放方式中的两种常见形式:链式分配和索引分配。链式分配通过链表的方式实现了文件的非连续分配,其中包括了隐式链接和显式链接两种方式。隐式链接通过遍历链表来获取下一个节点的指针,适合于文件的扩展,但查找效率较低。显式链接则将指针存储在文件分配表中,提高了检索速度,但不适用于大磁盘空间。索引分配通过为每个文件创建索引数据块,实现了文件的非连续分配和直接访问。多级索引和链式索引块是处理大文件存储的组合方式,提高了文件系统的性能和可靠性。通过深入了解这两种分配方式,可以更好地理解和应用非连续空间存放技术,从而有效提高文件系统的管理效率和性能。 阅读全文
posted @ 2023-09-06 09:25 努力的小雨 阅读(473) 评论(1) 推荐(1) 编辑
摘要: 本文主要讨论了操作系统中文件系统的实现和分配方式。首先介绍了虚拟文件系统(VFS)作为中间层,统一了不同文件系统的接口。然后介绍了文件的物理结构,包括文件块和逻辑块之间的映射关系。接着详细讨论了连续分配方式的特点和优缺点,包括顺序访问和随机访问的效率,以及磁盘空间碎片和文件长度扩展不方便的问题。最后提到了非连续分配方式来解决连续分配方式的问题,并留下了下次讨论的悬念。文件系统的实现和分配方式对于操作系统的性能和可靠性都有重要影响,因此深入理解和研究文件系统的原理和机制是非常有价值的。 阅读全文
posted @ 2023-09-05 09:48 努力的小雨 阅读(482) 评论(1) 推荐(2) 编辑
摘要: 本篇文章探索了文件系统的功能规划,着重讨论了文件存储、索引节点和目录项的管理、缓存策略以及文件数据的存储等方面。文件系统作为计算机系统中重要的组成部分,对于实现高效、可靠的文件管理与访问机制至关重要。通过深入了解文件系统的基本单位、元信息记录和目录结构,我们可以更好地理解文件系统的工作原理,本文旨在为读者提供对文件系统功能规划的全面认识,以帮助他们更好地理解和应用文件系统相关的技术。 阅读全文
posted @ 2023-09-04 09:32 努力的小雨 阅读(644) 评论(1) 推荐(2) 编辑