系统编程

昵称p12 天前
linux·数据库·系统编程
系统编程-数据库目录数据库引入1、先安装数据库2、数据库设置密码3、数据库的进入和退出(前提 你的密码更改过了)数据库的基本操作
昵称p1 个月前
linux·lvgl·系统编程
系统编程-lvgl目录带界面的MP3播放器 -- lvgl一、什么是lvgl?二、简单使用lvgl在工程中编写代码实现带界面的mp3播放器
Stitch .5 个月前
开发语言·笔记·vscode·后端·rust·系统编程
第二章Rust 基本概念(Rust 实战 Rust in Action7)从现在开始,友友们和小北正式踏入了 Rust 大陆,这片广袤而神秘的世界,在这个世界中,将接触到很多之前都没有听过的概念:
佟晖8 个月前
linux·系统编程
Linux进程通信-POSIX IPCLinux POSIX IPC的可移植性是不如System V IPC的,但是我们只用Linux,并且内核版本高于2.6.6的话就不存在该问题了。也因为POSIX IPC出现的比较晚,借鉴了systemV IPC的长处,规避其短处,使得POSIX IPC的接口更易用。进程间通信的手段很多,除了消息队列、信号量、共享内存,还有信号、socket、管道,普通的管道需要祖先进程有联系,具名管道可以应用于无关联的进程。
佟晖8 个月前
linux·系统编程
Linux线程间交互上一篇说过,系统会为线程mmap一块内存,每个线程有自己的私有栈,使用局部变量没啥问题。但是实际场景中不可避免的需要线程之间共享数据,这就需要确保每个线程看到的数据是一样的,如果大家都只需要读这块数据没有问题,但是当有了修改共享区域的需求时就会出现数据不一致的问题。甚至线程2的任务在执行到某个地方的时候,需要线程1先做好准备工作,出现顺序依赖的情况。为了解决这些问题,Linux提供了多种API来适用于不同的场景。
佟晖8 个月前
linux·系统编程
Linux线程API使用与分析线程是操作系统进程调度器可调度的最小粒度的执行单元执行ps -eLF查看线程通过输出看到是cpptools的进程 103724,它拥有多个线程,LWP就是线程ID,第一行的LWP 103724 == PID,表明是该线程组的主线程。NLWP表示该线程组有多少个线程(14个)。
佟晖8 个月前
linux·系统编程
程序启停分析与进程常用API的使用进程是程序运行的实例,操作系统为进程分配独立的资源,使之拥有独立的空间,互不干扰。拿c程序来说,其空间布局包括如下几个部分:
佟晖8 个月前
linux·网络·系统编程
I/O多路复用与socket简单来讲I/O多路复用就是用一个进程来监听多个文件描述符(fd),我们将监听的fd通过系统调用注册到内核中,如果有一个或多个fd可读或可写,内核会通知应用程序来对这些fd做读写操作,select、poll、epoll都是用于处理此类问题的系统API,只不过注册和调用的方式略有不同。 例如telnet命令的操作,telnet命令从shell读入数据然后写到socket fd上,同时也需要从socket fd上读数据写到shell上。telnet server需要从socket读出命令并发送给shell,再将
ZHANGα9 个月前
linux·c语言·开发语言·系统编程
Day06(下) Liunx高级系统设计7-磁盘映射与共享内存shmget函数1.获取唯一key值2.获取共享内存标识符3.建立共享内存映射4.操作映射1.读2.写
林沐华10 个月前
linux·运维·服务器·c++·unix·系统编程
【APUE】进程间通信目录一、管道1.1 匿名管道1.2 命名管道二、XSI IPC2.1 概述2.2 消息队列2.2.1 msgget
@新法10 个月前
linux·服务器·零拷贝·系统编程
Linux 零拷贝splice函数splice 是 Linux 系统中用于在两个文件描述符之间移动数据的系统调用。它的主要作用是在两个文件描述符之间传输数据,而无需在用户空间进行数据拷贝。也是零拷贝操作.
佟晖10 个月前
linux·网络·系统编程
Linux socket APIsocket是进程通信机制的一种,与PIPE、FIFO不同的是,socket即可以在同一台主机通信(unix domain),也可以通过网络在不同主机上的进程间通信(如:ipv4、ipv6),例如因特网,应用层通过调用socket API来与内核TCP/IP协议栈的通信,通过网络字节实现不用主机之间的数据传输。
林沐华1 年前
linux·ubuntu·操作系统·多线程·系统编程·c/c++·posix
【APUE】并发 — 线程目录一、线程的概念1.1 定义1.2 POSIX 线程标准1.3 线程标识1.4 相关函数1.5 一些补充
mjmmm1 年前
linux·运维·c语言·网络·tcp/ip·系统编程
Linux socket网络编程实战(tcp)实现双方聊天在上节已经系统介绍了大致的流程和相关的API,这节就开始写代码!回顾上节的流程:创建一个NET文件夹 来存放网络编程相关的代码:
mjmmm1 年前
linux·运维·网络·系统编程
Linux 网络编程 和 字节序的概念不同于之前学习的所有通讯方法,多基于Linux内核实现,只能在同一个系统中不同进程或线程间通讯,Linux的网络编程可以实现真正的多机通讯!
mjmmm1 年前
linux·c语言·开发语言·系统编程
消息队列消息队列是和管道并列的概念,也是进程间通信IPC中的一种。本文参考:消息队列(定义、结构、如何创建、消息队列的发送与接收、发送与接收实例)_咋么又饿了的博客-CSDN博客
mjmmm1 年前
linux·运维·服务器·c语言·系统编程
进程 的初识实际工作中,不可能一下子要看这么多进程,所以可以结合 grep 来查找程序中是否存在具体某个进程