![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
Pin_na
这个作者很懒,什么都没留下…
展开
-
Linux 进程基本概念 什么是进程
操作系统(Operator System)概念操作系统,简称OS,是一个基本的程序集合,用来维护计算机基本的运行。操作系统主要由内核(进程管理、内存管理、文件管理、驱动管理)和其他程序(如函数库、shell等组成)。OS的目的是为了让计算机与硬件交互,管理所有的软硬件资源来为用户(应用程序)提供一个良好的执行环境。通俗的来讲就是一款“职业”的管理软件,如图:计算机管理硬件的方...原创 2019-03-15 20:20:04 · 3365 阅读 · 5 评论 -
Makefile的一些技巧
最近被一个朋友问到Makefile的一点细节问题,一时忘记了没有答出来,挺尴尬......遂对Makefile的一些技巧细节做以总结一个多个文件项目的Makefile文件:# 定义编译器、链接器CC = gcc LD = gcc# 通配符函数表示目录下所有.c文件,相当于:SRCS = main.c a.c b.cSRCS = $(wildcard *.c)# 通配符函数把...原创 2019-05-22 16:34:57 · 648 阅读 · 0 评论 -
Linux下软硬链接和动静态库:别再傻傻分不清楚
在这之前大家很有必要先了解一下Linux的文件结构,相信对大家理解一下内容有很大帮助。传送门:https://blog.csdn.net/Sun_Life_/article/details/90049499软硬链接我们先来看一下Linux下打开一个文件的基本过程:系统通过文件名找到文件的inode索引节点信息,再通过inode来找到数据块打开文件为了解决文件的共享使用问题,Li...原创 2019-05-16 21:39:39 · 566 阅读 · 0 评论 -
了解Linux文件I/O
文件描述符:在了解基础I/O基础函数之前,我们很有必要先了解一下文件描述符有关知识,其中的不懂之处可以留作疑问再来看这篇文章,参考博客:https://blog.csdn.net/Sun_Life_/article/details/90049499open和openat打开或创建一个文件并返回文件描述符Q:为什么有了open还有openat,两者有什么区别?A:openat...原创 2019-05-12 18:54:04 · 545 阅读 · 0 评论 -
进程间通信方式——共享内存
共享内存 最快的进程间通信方式 为什么? 创建一块共享内存,将这块共享内存映射的自己的虚拟地址空间,接下操作都是直接对这块虚拟地址进行操作,进程间数据传递不再涉及到内核(进程不再通过执行进入内核的系统调用来传递彼此的数据),所以相较于其他的进程间通信少了两步内核态用户态之间的数据拷贝。...原创 2019-05-21 18:10:30 · 716 阅读 · 0 评论 -
进程间通信方式——消息队列
消息队列(System V)作用从一个进程向另外一个进程发送一个带有类型的数据块本质是存储在内核中的一个消息的队列(链表)特点每个数据块都被认为有一个类型,接受者进程接收的数据块可以有不同的类型值 和管道一样,每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总字节数也是有上限的(MSGMNB),系统上的消息队列总数也是有上限的(MSGMNI) 是一个全双工通...原创 2019-05-20 21:37:09 · 3738 阅读 · 2 评论 -
Linux进程信号详解
1. ⽤用户输⼊入命令,在Shell下启动⼀一个前台进程。2. ⽤用户按下Ctrl-C,这个键盘输⼊入产⽣生⼀一个硬件中断。3. 如果CPU当前正在执⾏行这个进程的代码,则该进程的⽤用户空间代码暂停执⾏行,CPU从⽤用户态 切换到内核态处理硬件中断。4. 终端驱动程序将Ctrl-C解释成⼀一个SIGINT信号,记在该进程的PCB中(也可以说发送了⼀一 个SIGINT信号给该进程)。5....原创 2019-05-09 22:41:48 · 399 阅读 · 0 评论 -
Linux进程间通信方式——管道
管道什么是管道管道是UNIX系统中最古老的IPC(进程间通信)方式,所有UNIX系统都提供这种通信机制。管道就是从一个进程连接到另一个进程的一个数据流局限性为了可移植性,管道都采用历史沿用的半双工(数据只能单向流动)通信 管道只能在具有公共祖先的两个进程间使用匿名管道pipe创建一个匿名管道由参数返回两个文件描述符:fd[0] 为读端(从管道读)打开,fd[...原创 2019-05-09 22:40:01 · 930 阅读 · 1 评论 -
Linux深入了解文件描述符及文件结构
文件描述符有句经典的话是:Linux下一切皆文件。它最简单的总结了Linux的特点,Linux下文件被分为普通文件、目录文件、链接文件和设备文件。在Linux下显示器、键盘等都会被看成是一个文件、而所有的文件就是通过文件描述符来管理的。举个栗子:一个Linux操作系统就相当于一本很厚很厚的书,书的每一页都是由文件构成的(包括我们的显示器键盘等,就有专门的页码,在那一页上查看就相当于显示器或...原创 2019-05-09 22:37:39 · 1491 阅读 · 0 评论 -
Linux中的进程控制
进程标识进程创建fork()fork用法:父进程复制自己,使父子进程同时执行不同的代码段------在网络编程中最常见 一个进程要执行另一个不同的程序------shell的实现方式一个现有的进程调用fork创建一个新进程,新进程为子进程。是父进程的一个副本,子进程拷贝父进程的数据段、堆和栈并独立使用,父子进程共享正文段(代码段)、内存映射。但是由于fork之后通常要调...原创 2019-05-09 22:35:27 · 573 阅读 · 0 评论 -
进程地址空间
在前面我们已经介绍了进程相关的基本概念,错过的童鞋们可以戳这里:https://blog.csdn.net/Sun_Life_/article/details/88580785这篇文章为大家总结一下Linux中进程地址空间相关知识:进程地址空间在这之前大家得先明白一个概念:地址:指向内存区域的一个编号假设我们有4GB的内存空间,我们不可能为每一个进程都分配满满4个GB的内存空间,...原创 2019-05-09 22:33:27 · 639 阅读 · 0 评论 -
Linux进程间通信详解
之前我总结了有关进程及进程控制的相关知识,不是很了解的朋友可以看一看:进程:https://blog.csdn.net/Sun_Life_/article/details/88580785进程控制:https://blog.csdn.net/Sun_Life_/article/details/90049461这篇文章主要为大家总结一下进程间通信的几种方式:首先请大家想一个问题,终端...原创 2019-05-18 02:00:42 · 1880 阅读 · 0 评论