E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Linux系统编程内核编程
Linux系统编程
——使用semaphore实现进程同步
#include#include#include#include#include#include/**->C->E->*A->BF*->D----->*/sem_t*sem_A;sem_t*sem_B;sem_t*sem_C;sem_t*sem_D;sem_t*sem_E;sem_t*sem_F1;sem_t*sem_F2;voidP(sem_t*sem){sem_wait(sem);}voidV
肯尼不思
·
2022-04-21 11:01
Linux系统
c语言
入门
内核编程
-20220410
今天开始跟着B站学习Linux
内核编程
,打开一个新世界!视频地址:https://www.bilibili.com/video/BV1QU4y1n7YD?
艾满
·
2022-04-14 20:07
linux系统文件关闭函数close,第五节
Linux系统编程
-文件IO-关闭函数 close
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.实验-关闭函数closeclose函数介绍任何一个文件在操作完成之后都需要关闭,这个时候需要调用close函数。调用close函数之后,会取消open函数建立的映射关系,句柄将不再有效,占用的空间将被系统释放。关闭文件close函数:•intclose(intfd);第二:
谢小布
·
2022-03-28 15:29
Linux系统编程
——线程基础知识
线程概念什么是线程LWP:lightweightprocess轻量级的进程,本质仍是进程(在Linux环境下)进程:独立地址空间,拥有PCB线程:也有PCB,但没有独立的地址空间(共享)区别:在于是否共享地址空间。独居(进程);合租(线程)。Linux下:线程:最小的执行单位进程:最小分配资源单位,可看成是只有一个线程的进程。Linux内核线程实现原理类Unix系统中,早期是没有“线程”概念的,8
奋斗的小程序员
·
2022-03-23 07:15
Linux系统编程
Linux线程
初始Linux—
Linux系统编程
第三节——初始进程
目录冯·诺依曼体系结构操作系统:OperatorSystem(OS)进程的基本概念进程标识符通过系统调用创建进程-fork初识进程状态僵尸进程孤儿进程进程优先级环境变量和环境变量相关的命令环境变量的组织方式main函数的三个参数冯·诺依曼体系结构在说冯诺依曼体系结构之前,我们先来了解这么一个常识:我们的电脑或者手机,总的来说,其体系结构都是由软件+硬件构成。而硬件部分,有像我们所说的磁盘、键盘、网
jxwd
·
2022-02-18 19:37
Linux
linux
运维
服务器
c语言
list
【
Linux系统编程
_Go语言系列】杂记篇(一)
博客原文地址这篇文章我想谈谈关于Go语言学习的思路。最近一直在看书,没怎么写博客,换个新号,重新整理下思路,开始记录这一段时间以来的学习成果。日常开发以Golang为主,市面上关于Golang的书基本都看过了,有几本印象深刻,《Go语言圣经》、《Go高级编程》、《Go源码剖析》,至于其他的书籍,也不是说不好,只是内容上雷同点较多,可能是因为先看了《Go语言圣经》的原因,后面看其他的书籍感觉基本上没
Geange
·
2022-02-18 07:12
Linux系统编程
-进程概念、进程管理、信号处理
1.进程知识点操作系统里的进程是程序一次执行的过程,是操作系统动态执行的基本单元;每当创建新的进程后,操作系统会为新的进程分配一个唯一的标识符,方便后续管理进程。进程的概念主要有两点:第一,进程是一个实体。每个进程都有自己的虚拟地址空间,包括文本区、数据区、和堆栈区。文本区域存储处理器执行的代码;数据区存储变量和动态分配的内存;堆栈区存储着活动进程调用的指令和本地变量。第二,进程是一个“执行中的程
DS小龙哥
·
2022-02-15 09:01
Linux系统编程与驱动开发
linux
服务器
运维
Linux网络编程
前言这篇文章承接
Linux系统编程
,简单记录了一下,顺便把实现的代码都贴在文章中了。服务器的底层实现,好像Get了一丢丢。加油,少年!
杰之行
·
2022-02-11 18:16
C/C++
Java/Scala
linux
网络
服务器
linux系统编程
-内存管理day02
本节总结了8.3~8.5的内容数据段的管理在老版本的Unix系统中,堆和栈还在同一个段中。堆中动态存储器的分配由数据段的底部向上生长;栈从数据段的顶部向着堆往下生长。堆和栈的分界线叫做中断(break)或中断点(breakpoint)。在现代系统中,数据段存在于它自己的内存映射中,仍用中断点来标记映射的结束地址。提供以下函数:#includeintbrk(void*end);void*sbrk(i
桔子满地
·
2022-02-10 17:40
Linux系统编程
—信号量
信号量(简介)共享内存和消息队列,这两者都是用于交换数据,而信号量通常用来做进程同步。在系统中,给予每一个进程一个信号量,代表每个进程目前的状态,未得到控制权的进程会在特定地方被强迫停下来,等待可以继续进行的信号到来。如果信号量是一个任意的整数,通常被称为计数信号量,或一般信号量;如果信号量只有二进制的0或1,称为二进制信号量。在linux系统中,二进制信号量又称互斥锁。信号量(操作)要掌握信号量
飞扬code
·
2022-02-05 23:35
C语言宏函数container of()简介
在linux
内核编程
中,会经常见到一个宏函数container_of(ptr,type,member),但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀?函数还可以这样定义???
·
2021-12-19 13:45
Linux系统编程
之命名管道与共享内存
在上一篇博客中,我们已经熟悉并使用了匿名管道,这篇博客我们将讲述进程间通信另外两种常见方式——命名管道与共享内存。1.命名管道管道是使用文件的方式,进行进程之间的通信。因此对于管道的操作,实际上还是用诸如write,read等接口实现。匿名管道应用的一个限制就是只能在具有亲缘关系(如父进程与子进程、兄弟进程)之间进行通信。如果想在不相关的进程间进行数据交换,可以使用FIFO文件来做这种工作。这里的
乌有先生ii
·
2021-12-02 22:00
Linux系统编程
之匿名管道
1.进程间通信介绍1.1进程通信的基本概念在之前我们已经学习过进程地址空间。Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterP
乌有先生ii
·
2021-12-01 18:00
【Linux网络编程学习】socket API(socket、bind、listen、accept、connect)及简单应用
此为牛客LinuxC++课程和黑马
Linux系统编程
笔记。1.什么是socket所谓socket(套接字),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。
F+T
·
2021-11-10 17:45
Linux
C++学习笔记
#
Linux网络编程篇
网络
linux
socket
【Linux网络编程学习】预备知识(网络字节序、IP地址转换函数、sockaddr数据结构)
此为牛客LinuxC++课程和黑马
Linux系统编程
笔记。1.网络字节序我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分。磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。
F+T
·
2021-11-09 23:46
Linux
C++学习笔记
#
Linux网络编程篇
linux
tcp/ip
Linux系统编程
之文件IO
前言在学习C语言时,我们接触过如fopen、fclose、fseek、fgets、fputs、fread、fwrite等函数,实际上,这些函数是对于底层系统调用的封装。C默认会打开三个输入输出流,分别是stdin,stdout,stderr。执行manstdin后,会展示如下描述:#includeexternFILE*stdin;externFILE*stdout;externFILE*stder
乌有先生ii
·
2021-11-08 08:00
【
Linux系统编程
学习】Linux线程控制原语
此为牛客LinuxC++课程笔记。0.关于线程注意:LWP号和线程id不同,LWP号是CPU分配时间片的依据,线程id是用于在进程内部区分线程的。1.线程与进程的区别对于进程来说,相同的地址(同一个虚拟地址)在不同的进程中,反复使用而不冲突。原因是他们虽虚拟址一样,但,页目录、页表、物理页面各不相同。相同的虚拟址,映射到不同的物理页面内存单元,最终访问不同的物理页面。但!线程不同!两个线程具有各自
F+T
·
2021-11-06 21:22
Linux
C++学习笔记
#
Linux系统编程篇
linux
Linux系统编程
之进程控制(进程创建、终止、等待及替换)
进程创建在上一节讲解进程概念时,我们提到fork函数是从已经存在的进程中创建一个新进程。那么,系统是如何创建一个新进程的呢?这就需要我们更深入的剖析fork函数。1.1fork函数的返回值调用fork创建进程时,原进程为父进程,新进程为子进程。运行manfork后,我们可以看到如下信息:#includepid_tfork(void);fork函数有两个返回值,子进程中返回0,父进程返回子进程pid
乌有先生ii
·
2021-11-06 09:00
驱动篇——
内核编程
基础
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图。由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新。如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。你如果是从中间插过来看的,请仔细阅读羽夏看Win系统
寂静的羽夏
·
2021-11-03 14:00
【linux环境高级编程】第7篇:linux系统进程详解,看这一篇就够了
from=search&seid=6289925691599795128
linux系统编程
:https://www.cnblo
黑猫奥利奥
·
2021-11-01 21:23
黑猫带你学:嵌入式C语言
linux
运维
服务器
多进程
嵌入式
【
Linux系统编程
学习】父进程捕获SIGCHLD信号以处理僵尸进程
配合之前说过的sigaction函数和waitpid函数,我们可以解决子进程变成僵尸进程的问题。先看如下示例程序:#include#include#include#include#include#includeintmain(){pid_tpid;inti;//循环创建20个子进程for(i=0;i0){while(1){printf("parentpid:%d\n",getpid());slee
F+T
·
2021-11-01 11:48
Linux
C++学习笔记
#
Linux系统编程篇
linux
【
Linux系统编程
学习】信号、信号集以其相关函数
此为牛客LinuxC++和黑马
Linux系统编程
课程笔记。
F+T
·
2021-11-01 11:55
Linux
C++学习笔记
#
Linux系统编程篇
linux
Linux系统编程
-(四)信号
一.信号概述1.1中断中断就是字面的意思,譬如正在打游戏,手机响了,这时后中断游戏,去接手机,回来再打游戏,这就是中断。1.2什么是信号信号是软件中断,是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号是Linux进程间通信的最古老的方式,也是最常用的通信方式。1.3信号机制进程A给进程B发送信号,进程B收到信号之前执行自己的代码,收到信号后,不管执行到程序的什么位置,都要暂停运行,去
·
2021-09-04 09:49
linux编程
C语言container of()函数案例详解
在linux
内核编程
中,会经常见到一个宏函数container_of(ptr,type,member),但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀?函数还可以这样定义???
·
2021-08-26 14:43
Linux系统编程
--(三)进程间通信
一.进程间通讯1.1什么是进程间通信我们运行起来的进程,相互之间资源是独立的,不能在一个进程中直接访问另一个进程的资源。但是很多时候不同的进程需要进行信息的交互和状态的传递等,譬如数据传输,一个进程需要将它的数据发送给另一个进程,或者多个进程间资源共享,或者一个进程需要控制另一个进程的执行,再或者,一个进程要给另一个进程发送消息等,就需要进程间通信(IPC:InterProcessesCommun
·
2021-08-22 23:19
linux编程
linux
内核编程
container of()函数介绍
前言在linux
内核编程
中,会经常见到一个宏函数container_of(ptr,type,member),但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀?
·
2021-07-27 18:40
Linux系统编程
学习笔记
课程链接:https://www.bilibili.com/video/BV1KE411q7ee课程视频资源和笔记:链接:https://pan.baidu.com/s/150gSAFxTGBaBF-wb6yZfhQ提取码:unix练习代码:https://gitee.com/daniel187/Linux_System001-Linux命令基础习惯终端:一系列输入输出设备的统称;$echo$SH
Daniel_187
·
2021-07-04 11:04
Linux
linux
操作系统
c语言
多线程
多进程
物联网学习教程—
Linux系统编程
之进程控制
Linux系统编程
之进程控制一、结束进程首先,我们回顾一下C语言中continue,break,return的作用:continue:结束本次循环break:跳出整个循环,或跳出switch()语句return
千锋IT教育
·
2021-06-24 03:30
linux系统编程
-内存管理day04-选择合适的内存分配机制&存储器操作
本节包含了对合适的内存分配机制的选择,以及常见的存储器操作选择一个合适的内存分配机制前面学习了很多内存分配的方式,可能会使我们不知道在一个具体问题中不知道该选择哪一种。(大部分情况下malloc()总是最好的选择,然而在某些情况下,采用其它的方式会更好一些).静态分配和自动分配有两类是不需要程序员去控制内存分配的:在栈中分配临时变量在堆中分配全局变量需要程序员控制分配和释放的内存分配方法mallo
桔子满地
·
2021-06-22 07:52
Linux系统编程
10:Socket编程2-接口
1.接口1.1转换操作转换操作主要分为三类:字节序转换操作、IP地址转换操作和主机名转换操作。1.1.1字节序转换操作网络序转主机序No.函数含义作用1ntohs()networktohostshort把unsignedshort类型从网络序转换到主机序2ntohl()networktohostlong把unsignedlong类型从网络序转换到主机序主机序转网络序No.函数含义作用1htons(
jdzhangxin
·
2021-06-20 22:17
Linux 系统编程 -进程概念篇
Linux系统编程
-进程篇冯诺依曼体系结构冯诺依曼的两个重要思想当代计算机的三级缓存操作系统操作系统的概念操作系统的组成操作系统作用Linux下的操作系统体系进程进程概念进程特性进程的组成进程与程序区别进程控制块
蚍蜉撼树谈何易
·
2021-06-14 08:47
Linux系统编程
操作系统
linux
多进程
新星计划
原力计划
Linux系统编程
6:信号量
0.信号量背景#include#include#includeintmain(intargc,char*argv[]){fork();inti=0;for(;i0:减12V(信号量)0:恢复进程;>0:加11.POSIX信号量资料:unpv22e-ch10.1~10.13查看:mansem_overview1.1接口头文件:semaphore.h库:pthread分类信号量分为命名信号量(基于文件
jdzhangxin
·
2021-06-07 12:55
Linux系统编程
——DIY编写Linux中的FTP(客户端与服务器)
代码内容:
Linux系统编程
——DIY编写Linux中的FTP(客户端与服务器)运行环境:Linux编程语言:C语言主要语法:函数,指针,结构体Linux套接字,进程,多种输入输出函数,网络编程,底层调用功能
暖心淡年华
·
2021-05-16 13:26
日常代码存档
DIY
linux
ftp
Linux系统编程
——网络编程(套接字)代码
代码内容:
Linux系统编程
——套接字运行环境:Linux编程语言:C语言主要语法:函数,指针,结构体备注:个人日常学习代码存档代码socket_client.c:#include#include#include
暖心淡年华
·
2021-05-15 20:45
日常代码存档
linux
Linux系统编程
——线程代码
代码内容:
Linux系统编程
——线程运行环境:Linux编程语言:C语言主要语法:函数,指针,结构体备注:个人日常学习代码存档代码thread_cond1:#include#include#include
暖心淡年华
·
2021-05-15 20:53
日常代码存档
linux
个人代码存档模板
代码内容:
Linux系统编程
——运行环境:Linux编程语言:C语言主要语法:函数,指针,结构体备注:个人日常学习代码存档代码demo1:demo2:demo3:demo4:demo5:demo6:附:
暖心淡年华
·
2021-05-15 19:33
日常代码存档
linux
iOS架构-内核开发
这篇博客的内容学习《OSX与IOS
内核编程
》。书上有些已经过时的指导。可以参考我这个。
li_礼光
·
2021-05-11 08:55
【README】
Linux系统编程
必读:本专栏内容提要以及系统调用接口总结
前言本专栏是
Linux系统编程
学习笔记,内容主要是Linux的认识,命令,进程,IPC,信号,文件和多线程等,点击标题可进行跳转第一部分:主要是该篇博客涉及到的核心知识点第二部分:
Linux系统编程
中会涉及到大量系统调用
快乐江湖
·
2021-05-04 16:57
Linux系统编程
多线程
Linux
系统编程
系统调用接口
总结
Linux系统编程
IO课程属于:Linux下的高级编程,也称为
Linux系统编程
,也就是应用层和内核层之间的接口层。1.为什么要学Linux下的高级编程?
行_d
·
2021-04-27 20:17
Linux系统编程
11:I/O复用
0.背景阻塞IO操作通常IO操作(比如read和write)都是阻塞I/O的,当调用read时,如果没有数据收到,线程或者进程就会被挂起,直到收到数据。阻塞IO.png当服务器处理1000个连接,但是只有很少连接执行IO操作,那么需要1000个线程或进程来处理1000个连接,而1000个线程大部分是被挂起的。线程内存和切换开销由于CPU的核数或超线程数一般都不大,比如4,8,16,32,64,12
jdzhangxin
·
2021-04-26 17:17
[
Linux系统编程
]Makefile项目管理
分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,也可以执行操作系统的命令。–引自百科词条往期文章链接文章目录1学习目标2makefile概述3目标、依赖、处理动作的概念(重要)4makefile基础规则4.1一个规则的概念4.2两个函数的概念4.3
Windalove
·
2021-04-26 17:40
Linux系统编程
makefile
Linux
系统编程
Linux 系统编程 — 细说系统调用规范,入行要先熟悉套路
节选自《攻克
Linux系统编程
》本课程主要带大家深入研究
Linux系统编程
。系统编程的任务,可以定义为使用系统提供的功能解决我们面对的实际问题,而系统调用,则是系统开放给应用执行特定功能的接口。
大尚DS
·
2021-04-24 15:33
[
Linux系统编程
]守护进程/线程(四)
距离上一次利用高并发技术实现360度行车记录仪功能已经过去半年了。开始写一系列关于系统编程和网络编程内容进行总结。温故而知新,欢迎大家讨论学习。文章目录1守护进程1.1什么是守护进程1.2守护进程创建步骤1.3守护进程代码实现(重点)2线程2.1什么是线程2.2线程共享资源2.3线程间非共享资源2.4线程的优缺点2.5线程控制原语2.5.1pthread_self函数2.5.2pthread_cr
Windalove
·
2021-04-16 10:16
Linux系统编程
linux
系统编程
守护进程
进程
服务器
Linux
内核编程
helloworld代码演示
1.hello.c#include#include#include#include#includestaticshortinta=1;staticintb=2;staticlongintc=3;staticchar*d="bp";staticintmyintArray[2]={-1,-1};staticintarr_argc=0;module_param(a,short,S_IRUSR|S_IWU
·
2021-03-31 15:08
linux内核
Linux
内核编程
helloworld代码演示
1.hello.c#include#include#include#include#includestaticshortinta=1;staticintb=2;staticlongintc=3;staticchar*d="bp";staticintmyintArray[2]={-1,-1};staticintarr_argc=0;module_param(a,short,S_IRUSR|S_IWU
·
2021-03-31 15:00
linux内核
c语言基础回顾(1)五大板块 —— 数组,指针,结构体,链表,字符串
板块:参考:原文链接作者:seino_m之前一直在学习
linux系统编程
,文件系统与树莓派,如今到智能家居项目,发现c语言的知识陌生了,优先强化相关应用。
丶PURSUING
·
2021-03-10 09:02
C语言
编程语言
指针
c语言
阿里云高校君一岁啦!
咕咕咕:高校君免费发放的ECS帮助我完成了小学期的数据库实验和
Linux系统编程
课程(邮件系统编程,实现了公网邮件发送)~把栏杆拍断:完成了自己的物联网毕
阿里云开发者
·
2021-03-09 13:22
弹性计算
物联网
大数据
Linux
数据库
云计算
Linux系统编程
——进程控制
文章目录前言相关概念多任务进程的定义进程和程序的区别进程的身份——进程标识进程的三态模型进程的类型进程相关的命令行查看进程信息优先级命令后台命令Linux进程的虚拟内存进程控制块——PCB进程组会话进程控制进程创建——fork特殊的返回值父子进程fork函数语法使用实例exec函数族概述exec函数族语法exec函数族调用本质进程终止概述_exit、exit函数语法进程回收概述wait函数语法wa
/ubuntu/LLL
·
2021-02-13 18:56
嵌入式Linux系统编程
Linux系统编程
【3.1】——编写ls命令
ls命令简介老规矩,直接在终端输入:manls(有关于man命令的简介可以参考笔者前期博客:
Linux系统编程
【1】——编写more命令)可以看到,ls命令的作用是显示目录中的文件名,它带有可选的参数,
lularible
·
2021-02-07 20:19
操作系统
linux
Linux系统编程
【2】——编写who命令
学到的知识点通过实现who命令,学到了:1.使用man命令寻找相关信息2.基于文件编程3.体会到c库函数与系统调用的不同4.加深对缓冲技术的理解who命令的作用who命令的使用在控制终端输入:manwho结果如下图所示可以看出,who命令的使用很简单,直接在终端输入:who作用就是显示当前登录的用户信息。who命令的显示结果含义第一列表示已登录用户,第二列表示终端名,第三列表示登录时间,第四列表示
lularible
·
2021-02-07 20:12
操作系统
linux
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他