
linux系统编程
文章平均质量分 86
ZHANGα
c/c++软件开发工程师,嵌入式软件开发
展开
-
Day08 Liunx高级系统设计9-线程间同步与互斥
一个特殊的锁含有读写两种互斥锁其中读读不互斥读写互斥写写互斥在使用多个线程对同一个数据进行读写时建议使用读写锁的数据类型是:经验如果只有两个线程一个读一个写此时没必要使用读写锁普通的互斥锁也是可以的。原创 2023-12-13 20:10:12 · 1327 阅读 · 0 评论 -
Day07 Liunx高级系统设计8-线程
Linux下线程的属性是可以根据实际项目需要,进行设置,之前我们讨论的线程都是采用线程的默认属性,默认属性已经可以解决绝大多数开发时遇到的问题。如我们对程序的性能提出更高的要求那么需要设置线程属性,比如可以通过设置线程栈的大小来降低内存的使用,增加最大线程个数。原创 2023-12-12 19:01:53 · 1070 阅读 · 0 评论 -
Day06(下) Liunx高级系统设计7-磁盘映射与共享内存
存储映射使一个磁盘文件与存储空间中的一个缓冲区相映射。于是当从缓冲区中取数据,就相当于读文件中的相应字节。于此类似,将数据存入缓冲区,则相应的字节就自动写入文件。这样,就可在不适用read和write函数的情况下,使用地址(指针)完成I/O操作。使用存储映射这种方法,首先应通知内核,将一个指定文件映射到存储区域中。这个映射工作可以通过mmap函数来实现。共享内存允许两个或者多个进程共享给定的存储区域。物理内存电脑物理内存就是指的内存条虚拟内存是系统默认在C。原创 2023-12-11 19:50:01 · 1078 阅读 · 0 评论 -
Day06(上) Liunx高级系统设计6-消息队列
System V提供的进程间通讯机制(IPC通信机制需要一个key值key值可以是人为指定的,也可以通过ftok函数获得。原创 2023-12-11 19:10:46 · 954 阅读 · 0 评论 -
Day05 linux高级系统设计 - 管道
又名管道(pipe)无名管道是一种特殊类型的文件,在应用层体现为两个打开的文件描述符,1个描述符写 fd[1],1个描述符读fd[0]核心:0读1写特点1.管道不是普通的文件,不属于某个文件管理系统,存在于内存中2.半双工:数据在同一时间只能在单向传输补充:单工:指数据只能在单向传输数据双工:指在两台通讯设备之间,允许有双向的数据传输全双工:允许两台通讯设备之间同时进行双向数据传输。一般的电话,手机就是全双工系统,因为在讲话的同时也能听到对方的声音。原创 2023-12-09 11:12:01 · 972 阅读 · 0 评论 -
Day04 Liunx高级系统设计4-信号
中文名进程间通讯英文名:IPC英文全称作用数据传输:一个进程需要将他的数据发送给另一个进程】资源共享:多个进程可以共享同一个资源通知事件:一个时间需要给另一个进程或另一个组发送信号,告诉它发生了什么事进程控制:有些进程希望完全控制另一个进程的执行(如debug),此时控制进程希望拦截另一个进程的所有操作,并能够及时知道它的改变状态。发展史最初的UNIX进程间通信SYSTEM V进程间通信POSIX进程间通信可移植操作系统接口)Socket进程间通信Linux。原创 2023-12-07 21:33:13 · 1357 阅读 · 0 评论 -
并发交替打印大写字母和数字
【代码】并发交替打印大写字母和数字。原创 2023-12-07 10:42:13 · 380 阅读 · 0 评论 -
Day03 linux高级系统编程--进程
程序与进程程序:本质上一个可执行文件静态的进程:一个正在进程的程序动态的占据运行内存单道程序与多道程序单道程序:同时只能做一件事,A阻塞,B等待多道程序:同时可以做多件事,A阻塞,B正常执行并行与并发并行:有多核每个进程一个核同时执行并发:一个核多个进程交替执行在宏观上来看是并行在微观上来看是交替执行进程号父进程号进程组号会话号终端每个进程系统都会为其分配一个编号,该编号就是进程号进程号取值范围:0~32767。原创 2023-12-06 21:16:07 · 1053 阅读 · 0 评论 -
Day02 Liunx高级程序设计2-文件IO
是操作系统提供给用户使其可以操作内核提供服务的一组函数接口。原创 2023-12-05 21:27:36 · 1355 阅读 · 1 评论