logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

学习笔记—Linux—基于OS网络架构

本文介绍了计算机网络的分层模型及其与操作系统的关系。首先讲解了OSI七层模型和TCP/IP五层模型的设计理念与功能区别,指出实际应用中TCP/IP模型将OSI的应用层、表示层和会话层合并为应用层。文章通过生动的"敲桌子协议"案例解释了网络协议的三要素(语法、语义、同步)。重点阐述了网络协议在操作系统中的实现方式,指出TCP/IP协议栈是基于C/C++结构体实现的,这也是操作系统

文章图片
#学习#linux#网络
学习笔记—Linux—基于OS网络架构

本文介绍了计算机网络的分层模型及其与操作系统的关系。首先讲解了OSI七层模型和TCP/IP五层模型的设计理念与功能区别,指出实际应用中TCP/IP模型将OSI的应用层、表示层和会话层合并为应用层。文章通过生动的"敲桌子协议"案例解释了网络协议的三要素(语法、语义、同步)。重点阐述了网络协议在操作系统中的实现方式,指出TCP/IP协议栈是基于C/C++结构体实现的,这也是操作系统

文章图片
#学习#linux#网络
学习笔记—Linux—生产消费模型&读者写者模型

本文介绍了两种多线程任务分配模型:生产者消费者模型和读者写者模型。生产者消费者模型通过任务队列解耦生产者和消费者,重点讲解了基于阻塞队列和环形队列的两种实现方式。阻塞队列使用互斥锁和条件变量保证线程安全,而环形队列利用信号量实现更高效率。读者写者模型则区分了读操作和写操作的不同权限,Linux系统已提供读写锁(pthread_rwlock_t)的原生支持。两种模型都能有效提高多线程程序的并发性能,

文章图片
#学习#linux
学习笔记—Linux—线程同步

本文介绍了线程同步中的条件变量机制。条件变量用于控制线程对临界资源的访问顺序,避免单个线程长期占用锁。主要内容包括:1)条件变量的创建与销毁方式,分为全局和局部两种;2)关键操作函数:pthread_cond_wait使线程进入等待队列并释放锁,pthread_cond_signal唤醒单个线程,pthread_cond_broadcast唤醒所有线程;3)通过示例代码演示了5个线程如何通过条件变

文章图片
#学习#linux
学习笔记—Linux—信号概念&信号产生

本文介绍了Linux系统中的信号机制,主要包含以下内容:1. 信号是进程间异步通信的一种方式,分为非实时信号(1-31)和实时信号(34-64),实际开发中主要使用非实时信号。2. 信号处理方式有三种:忽略、默认处理和自定义处理。通过signal()函数可以自定义信号处理函数。3. 信号产生方式包括软件条件(kill、raise、abort、alarm等系统调用)和硬件条件(键盘中断、除零错误等硬

文章图片
#linux#学习
学习笔记—Linux—进程等待&进程替换

文章摘要: 本文详细讲解了Linux进程管理和替换的相关知识。在进程管理方面,重点介绍了僵尸进程的回收机制,包括wait和waitpid两种系统调用接口的使用方法、参数解析及阻塞/非阻塞等待模式的区别。在进程替换方面,系统阐述了exec系列接口(execl、execlp、execle、execv等)的功能特点、参数含义及使用方法,通过实例演示了如何将其他进程或系统命令替换到当前进程执行。文章内容深

文章图片
#linux#运维#服务器
学习笔记—C++—入门基础()

C++”是一种多功能的编程语言,它起源于1980年代初,由Bjarne Stroustrup在C语言的基础上发展而来。C++最初被设计为支持面向对象编程的C语言变体,后来经过多次迭代和标准化,发展成为一种广泛应用于系统软件、游戏开发、嵌入式系统等领域的语言。C++的发展经历了多个重要阶段,包括C++98、C++03、C++11、C++14、C++17、C++20和即将到来的C++23标准.定义命名

文章图片
#学习#c++#开发语言 +2
到底了