应用开发
未读
04_系统编程-线程篇
第三章 Linux 多任务开发—线程 3.1 线程相关命令 在Linux系统中,线程是轻量级的执行单元,与进程共享同一地址空间,是操作系统调度的最小单位。以下是关于线程的总结: 线程是轻量级的执行单元
线程是共享 整个 进程的资源
线程没有独立的内存空间
进程开发需要使用 <pthread.h>
应用开发
未读
02_系统编程-基础篇
第一章 进程的知识 多任务处理是指在同一时间内运行多个应用程序,每个应用程序称为一个任务。Linux 作为支持多任务的操作系统,通过调度策略实现任务的并发执行。实际上,单核处理器每次只能执行一个任务,每个任务有一个时间片,时间片用完后,操作系统切换到其他任务。这种快速切换给用户带来多个任务同时运行的
应用开发
未读
07_网络编程-TCP
第三章 TCP通讯 TCP 概述 TCP 向应用层提供可靠的面向连接的数据流传输服务。它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达)。 通过源/目的 IP 可以唯一地区分网络中的两个设备,再通过源/目的端口可以唯一地区分网络中两个通信的应用程序。 3.1.1 TCP协议的
应用开发
未读
08_网络编程-UDP
第四章 UDP 通讯 4.1 相关函数介绍 sendto() 发送数据 #include <sys/types.h>
#include <sys/socket.h>
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
应用开发
未读
09_网络编程-网络模型
第五章 IO模型 5.1 I/O模型分类 IO模型是描述计算机如何处理输入/输出操作的方式。在网络编程和系统编程中,了解不同的IO模型对选择合适的编程方法和提高程序性能非常重要。常见的IO模型包括以下几种: 阻塞 与 运行 阻塞IO(Blocking I/O): 在阻塞IO模型中,应用程序调用IO函
应用开发
未读
10_网络编程-数据库
第七章 数据库 7.1 数据库的概念 7.1.1 数据 能够输入计算机并能被计算机程序识别和处理的信息结合 7.1.2 数据库 (database) 数据库是在数据库管理系统管理可控制下,存放在存储介质上的数据集合 7.1.3 数据库管理系统(DBMS) DBMS 是数据库系统中 对数据管理进行同意
应用开发
未读
06_网络编程-基础篇
第一章 网络体系结构 1.1 计算机网络分类 1.1.1 按范围 个人局域网 (PAN) 范围:通常是几米到十几米。 用途:连接个人设备,如手机、平板、笔记本电脑、智能手表等。 示例:蓝牙(Bluetooth)、红外线通信(Infrared Communication)。 局域网 (LAN)
应用开发
未读
05_系统编程-进阶篇
第五章 Linux 进程间通信 5.1 无名管道 如果写端存在写管道: 写入的数据量可以是任意多,直到管道写满(通常为 64KB)。此时写操作将阻塞,等待读端消费数据。 当管道中的数据被读取时,写端操作解除阻塞。 如果读端不存在写管道: 当管道的读端不存在时(即写端尝试写数据而没有进程在读取),==
应用开发
未读
03_系统编程-进程篇
第一章 Linux 多任务开发—进程 1.1 进程相关命令 1.1.1 查看系统进程限制 Linux系统中,可以使用以下命令查看系统允许的最大PID值: # 查看系统进程限制的命令
$ cat /proc/sys/kernel/pid_max
131072
1.1.2 系统中正在运行的进程 在L
STM32开发
未读
02_STM32_Freertos_移植篇
第一章 Freertos_源码结构 1.1 源码获取 1.1.1 官网获取 我们可以从 FreeRTOS 官网获取最新版本的内核源码,适合初学者查阅官方文档与下载稳定版本。 官网地址:www.freertos.org 1.1.2 GitHub 获取 如果你想获取 FreeRTOS 的最新开发版本或完