logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

编程

可提供的服务

编程,后端开发,软件开发和51单片机方面的解答

Linux——孤儿进程&进程调度&大O(1)调度

文章主要讲解了操作系统中的进程管理相关概念。首先介绍了孤儿进程的形成及处理机制,当父进程先退出时子进程会被init/systemd进程收养。其次解释了进程优先级概念,包括PRI和NI值的含义。然后区分了并发(单CPU)和并行(多CPU)两种执行模式。接着阐述了进程切换时CPU上下文保存与恢复的机制。最后详细分析了Linux内核的O(1)调度算法实现,重点说明了runqueue结构及其active/

文章图片
#linux#服务器#ubuntu
Linux——基础IO&链接&动静态库

本文介绍了Linux系统中基础IO操作、文件描述符、软硬链接以及动静态库的关键概念。重点解析了FILE结构体的组成、用户/内核缓冲区的刷新策略,以及文件描述符如何从底层系统调用封装为上层FILE指针的过程。详细对比了软硬链接的特性与区别,指出硬链接不能用于目录以避免路径解析死循环。最后深入讲解了动静态库的生成与使用方式,包括静态库(.a)的独立性和动态库(.so)的运行时加载特性,并提供了相关编译

文章图片
#linux#ubuntu#服务器
Linux——进程间通信

本文介绍了进程间通信的三种方式:匿名管道、命名管道和共享内存。匿名管道适用于有血缘关系的进程,通过pipe()创建,使用文件描述符进行读写操作,具有单向通信、同步机制等特点。命名管道通过mkfifo()创建,以文件形式存在,支持双向通信。共享内存通过创建共享内存空间实现通信,但已被主流方式淘汰。文章还详细说明了匿名管道在进程池中的应用实现,并比较了三种通信方式的特点,指出匿名管道和命名管道是目前的

文章图片
#linux#服务器#ubuntu
Linux——线程同步

本文探讨了多线程编程中的同步机制,重点讲解了条件变量的使用。通过售票系统示例,展示了如何利用互斥锁+条件变量解决线程饥饿问题。同时介绍了生产者-消费者模型,说明其通过缓冲区解耦生产消费过程,提升系统并发能力。文章强调编程技术需要持续学习,没有捷径可走。最后提供了完整的C语言实现代码,演示了条件变量的创建、等待、唤醒和销毁等操作流程。

文章图片
#linux#ubuntu#服务器 +1
Linux——网络基本概念

本文介绍了Linux网络模型及其关键概念。主要内容包括:1) TCP/IP五层网络模型(物理层、数据链路层、网络层、传输层、应用层)及其功能;2) 网络与系统的关系,指出传输层和网络层被内置到系统内核中;3) 网络协议的本质是结构体/类,通过JSON格式实现跨语言通信;4) 详细说明了序列化(将数据结构转为字符串)和反序列化(字符串还原为数据结构)的过程,并演示了使用Jsoncpp库的具体实现方法

文章图片
#c++#服务器#linux +1
Linux——HTTP协议

本文详细的介绍了HTTP协议的结构,很适合小白的学习,无废话,纯干货!

文章图片
#服务器#c++#http +3
Linux——HTTP-cookie&session

本文介绍了HTTP中cookie和session的工作原理。由于HTTP协议的无状态特性,需要通过cookie和session来维持用户状态。服务器通过set-cookie响应头设置cookie信息,客户端保存后会在后续请求的Cookie头中自动携带。为提高安全性,服务器可使用session机制:将用户信息存储在服务端,仅将sessionID通过cookie返回客户端。这样既保持了用户状态,又避免

文章图片
#linux#服务器#ubuntu +1
HTTPS协议

HTTPS是HTTP的安全版本,通过SSL/TLS协议实现加密传输。它采用混合加密机制:先用非对称加密(公钥/私钥)交换对称加密密钥,再用对称加密传输数据。CA机构颁发的数字证书用于验证服务器身份,包含数据摘要和签名。相比HTTP的明文传输(80端口),HTTPS(443端口)提供加密通信,但性能开销较大。核心区别在于HTTPS实现了端到端加密,解决了HTTP的数据安全问题。

文章图片
#linux#服务器#ubuntu +1
Linux——进程信号

本文介绍了Linux进程信号的处理机制,包括信号的种类、产生方式、保存机制和处理流程。信号可分为分时系统信号(1-31)和实时系统信号(34-64)。信号可通过键盘快捷键、系统命令(kill)或函数(kill/raise/abort/alarm)产生,也可由硬件异常(除0、野指针访问)或子进程退出触发。信号保存涉及block(阻塞)、pending(未决)和handler(处理)三张表。信号处理需

文章图片
#linux#服务器#ubuntu
Linux——进程信号

本文介绍了Linux进程信号的处理机制,包括信号的种类、产生方式、保存机制和处理流程。信号可分为分时系统信号(1-31)和实时系统信号(34-64)。信号可通过键盘快捷键、系统命令(kill)或函数(kill/raise/abort/alarm)产生,也可由硬件异常(除0、野指针访问)或子进程退出触发。信号保存涉及block(阻塞)、pending(未决)和handler(处理)三张表。信号处理需

文章图片
#linux#服务器#ubuntu
到底了