
LinuxC编程(文件io,网络编程...)
文章平均质量分 68
LinuxC编程(文件io,网络编程...)
嵌入式学习者。
求知若渴,虚心若愚
展开
-
Linux应用编程(线程同步)(互斥锁)
对于一个单线程进程来说,它不需要处理线程同步的问题,所以线程同步是在多线程环境下可能需要注意的一个问题。线程的主要优势在于,资源的共享性,譬如通过全局变量来实现信息共享,不过这种便捷的共享是有代价的,那就是多个线程并发访问共享数据所导致的数据不一致的问题。原创 2023-04-27 20:51:20 · 1434 阅读 · 0 评论 -
Linux应用编程(线程)
什么是线程?线程是参与系统调度的最小单位。它被包含在进程之中,是进程中的实际运行单位。一个线程指的是进程中一个单一顺序的控制流,一个进程中可以创建多个线程,多个线程实现并发运行,每个线程执行不同的任务。线程具有以下一些特点:⚫ 线程不单独存在、而是包含在进程中;⚫ 线程是参与系统调度的基本单位;⚫ 可并发执行。同一进程的多个线程之间可并发执行,在宏观上实现同时运行的效果;⚫ 共享进程资源。原创 2023-04-21 22:45:13 · 621 阅读 · 0 评论 -
Linux应用编程(进程间的通信)
所谓进程间通信指的是系统中两个进程之间的通信,不同的进程都在各自的地址空间中、相互独立、隔离,所以它们是处在于不同的地址空间中,因此相互通信比较难,Linux 内核提供了多种进程间通信的机制。原创 2023-04-19 17:46:31 · 773 阅读 · 0 评论 -
Linux应用编程(进程)
在 exit()函数之前添加了打印信息,而从上图中可以知道,打印的 pid 值并不相同,0 表示子进程打印出来的,46953 表示的是父进程打印出来的,所以从这里可以证实,fork()函数调用完成之后,父进程、子进程会各自继续执行 fork()之后的指令,它们共享代码段,但并不共享数据段、堆、栈等,而是子进程拥有父进程数据段、堆、栈等副本,所以对于同一个局部变量,它们打印出来的值是不相同的,因为 fork()调用返回值不同,在父、子进程中赋予了 pid 不同的值。守护进程是一种很有用的进程。原创 2023-04-19 09:04:29 · 957 阅读 · 0 评论 -
Linux应用编程(信号基础)
也就是说当进程此时正在执行某个信号的处理函数,默认情况下,进程会自动将该信号添加到进程的信号掩码字段中,从而在执行信号处理函数期间阻塞该信号,默认情况下,我们期望进程在处理一个信号时阻塞同种信号,否则引起一些竞态条件;如果进程当前正在执行信号处理函数,在处理信号期间接收到了新的信号,如果该信号是信号掩码中的成员,那么内核会将其阻塞,将该信号添加到进程的等待信号集(等待被处理,处于等待状态的信号)中,为了确定进程中处于等待状态的是哪些信号,可以使用 sigpending()函数获取。带着这个问题来聊一聊。原创 2023-04-17 10:39:21 · 776 阅读 · 2 评论 -
Linux应用编程(系统信息与系统资源)
进程时间指的是进程从创建后(也就是程序运行后)到目前为止这段时间内使用 CPU 资源的时间总数,出于记录的目的,内核把 CPU 时间(进程时间)分为以下两个部分:⚫ 用户 CPU 时间:进程在用户空间(用户态)下运行所花费的 CPU 时间。有时也成为虚拟时间(virtualtime)。⚫ 系统 CPU 时间:进程在内核空间(内核态)下运行所花费的 CPU 时间。这是内核执行系统调用或代表进程执行的其它任务(譬如,服务页错误)所花费的时间。原创 2023-04-15 15:44:02 · 856 阅读 · 1 评论 -
Linux应用编程(文件属性与目录)
开头先给大家介绍 Linux 系统下的 7 种文件类型,包括普通文件、目录、设备文件(字符设备文件、块设备文件)、符号链接文件(软链接文件)、管道文件以及套接字文件。接着围绕 stat 系统调用,详细给大家介绍了 struct stat 结构体中的每一个成员,这使得我们对 Linux 下文件的各个属性都有所了解。接着分别给大家详细介绍了文件属主、文件访问权限、文件时间戳、软链接与硬链接以及目录等相关内容,让大家知道在应用编程中如何去修改文件的这些属性以及它们所需要满足的条件。原创 2023-04-12 22:18:23 · 1047 阅读 · 0 评论 -
Linux应用开发(标准I/O库)
标准 I/O 和文件 I/O 的区别如下:⚫ 虽然标准 I/O 和文件 I/O 都是 C 语言函数,但是标准 I/O 是标准 C 库函数,而文件 I/O 则是 Linux系统调用;⚫ 标准 I/O 是由文件 I/O 封装而来,标准 I/O 内部实际上是调用文件 I/O 来完成实际操作的;⚫ 可移植性:标准 I/O 相比于文件 I/O 具有更好的可移植性,通常对于不同的操作系统,其内核向应用层提供的系统调用往往都是不同,譬如系统调用的定义、功能、参数列表、返回值等往往都是不一样的;原创 2023-04-11 11:23:34 · 713 阅读 · 0 评论 -
Linux应用编程(文件IO进阶)
以上给大家所描述的这样一种情形就属于竞争状态(也成为竞争冒险),操作共享资源的两个进程(或线程),其操作之后的所得到的结果往往是不可预期的,因为每个进程(或线程)去操作文件的顺序是不可预期的,即这些进程获得 CPU 使用权的先后顺序是不可预期的,完全由操作系统调配,这就是所谓的竞争状态。原创 2023-04-10 20:00:04 · 515 阅读 · 0 评论 -
Linux应用编程(文件IO基础)
每次给打开的文件分配文件描述符都是从最小的没有被使用的文件描述符(0~1023)开始,当之前打开的文件被关闭之后,那么它对应的文件描述符会被释放,释放之后也就成为了一个没有被使用的文件描述符了。:如果读取成功将返回读取到的字节数,实际读取到的字节数可能会小于 count 参数指定的字节数,也有可能会为 0,譬如进行读操作时,当前文件位置偏移量已经到了文件末尾。:如果成功将返回写入的字节数(0 表示未写入任何字节),如果此数字小于 count 参数,这不是错误,譬如磁盘空间已满,可能会发生这种情况;原创 2023-04-09 22:27:30 · 352 阅读 · 0 评论 -
嵌入式linux指令
嵌入式自学笔记原创 2022-09-19 11:36:37 · 616 阅读 · 0 评论 -
嵌入式shell命令及软件包,gdb调试
嵌入式自学原创 2022-09-22 14:50:23 · 366 阅读 · 0 评论 -
嵌入式(标准IO)
标准IO原创 2022-09-29 21:18:10 · 533 阅读 · 0 评论 -
嵌入式(流刷新定位,格式化输入输出)
流原创 2022-09-30 16:52:44 · 142 阅读 · 0 评论 -
嵌入式文件IO
文件IO原创 2022-10-01 15:17:03 · 253 阅读 · 0 评论 -
嵌入式(文件属性、目录操作)
文件属性、目录操作原创 2022-10-01 20:56:22 · 552 阅读 · 0 评论 -
嵌入式(进程的创建和回收)
进程创建和回收原创 2022-10-02 14:19:09 · 451 阅读 · 0 评论 -
嵌入式(exec函数族和守护进程)
exec函数族和守护进程原创 2022-10-02 22:04:06 · 116 阅读 · 0 评论 -
嵌入式(线程的创建和回收)
线程的创建和回收原创 2022-10-03 15:58:52 · 195 阅读 · 0 评论 -
嵌入式(线程的取消和互斥)
线程的取消和互斥原创 2022-10-03 22:23:21 · 117 阅读 · 0 评论 -
嵌入式(条件变量和线程池)
条件变量和线程池原创 2022-10-06 15:42:05 · 152 阅读 · 0 评论 -
嵌入式(有名管道和无名管道)(进程间通讯)
有名管道和无名管道原创 2022-10-06 22:14:11 · 220 阅读 · 0 评论 -
嵌入式(内存共享)
内存共享原创 2022-10-07 13:54:11 · 206 阅读 · 0 评论 -
嵌入式(信号机制)
信号机制原创 2022-10-08 21:03:15 · 401 阅读 · 0 评论 -
嵌入式(消息队列和信号灯/量)
消息队列,信号灯原创 2022-10-09 19:32:05 · 334 阅读 · 0 评论 -
嵌入式(网络编程)(网络基础)
网络基础原创 2022-10-10 10:21:09 · 934 阅读 · 0 评论 -
嵌入式(TCP编程)
TCP原创 2022-10-10 22:31:07 · 839 阅读 · 0 评论 -
嵌入式(并发服务器多线程编程)
并发编程原创 2022-10-11 16:23:31 · 164 阅读 · 0 评论 -
嵌入式(UDP编程)
UDP原创 2022-10-11 21:28:16 · 256 阅读 · 0 评论 -
嵌入式(IO多路复用)
io多路复用原创 2022-10-12 18:45:53 · 260 阅读 · 0 评论 -
嵌入式(TCP、IP协议原理)
TCI/IP协议原理原创 2022-10-14 10:55:57 · 1008 阅读 · 0 评论 -
嵌入式(网络编程扩展)
网络编程扩展原创 2022-10-15 11:29:53 · 207 阅读 · 0 评论 -
嵌入式(数据库开发)
数据库原创 2022-10-15 15:37:50 · 152 阅读 · 0 评论 -
嵌入式(Linux应用开发综合实战)
linux应用实战原创 2022-10-17 21:30:26 · 1109 阅读 · 0 评论