
Linux操作系统
文章平均质量分 95
oxma
这个作者很懒,什么都没留下…
展开
-
Linux | 守护进程
守护进程的主要目的是提供某种服务或功能,例如网络服务、系统监控等。它们通常以root用户身份运行,并且具有较高的权限来执行特定的任务。守护进程通常不与用户进行交互,它们在后台默默地运行,并在需要时响应特定的事件或请求。原创 2023-09-16 10:30:33 · 464 阅读 · 1 评论 -
Linux | 进程间通信之socket
Socket(套接字)是一种用于网络通信的编程接口,它提供了一组函数,可以用于创建网络连接、发送和接收数据等操作。通过Socket,可以在不同的计算机之间建立网络连接,进行数据的传输和通信。在 UNIX/Linux 系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。你也许听很多高手说过,UNIX/Linux 中的一切都是文件!那个家伙说的没错。原创 2023-09-12 13:16:42 · 1396 阅读 · 0 评论 -
Linux | 进程间通信之信号
Linux信号是一种进程间异步通信机制,用于在进程之间传递信息。信号可以用于通知进程发生了某个事件,或者要求进程执行某个特定的操作。Linux系统中有很多不同的信号,每个信号都有一个唯一的编号和一个特定的含义。在内核中,每个进程都有一个PCB,在PCB内部有一个用于表示该进程收到的信号描述符集。信号描述符集是一个位图,每个位代表一个信号,当对应的位为1时,表示进程收到了该信号,当对应的位为0时,表示进程没有收到该信号。在Linux操作系统中我们可以用 kill -l 命令来查看所有的信号集:其中一共有62个原创 2023-09-08 17:11:47 · 101 阅读 · 0 评论 -
Linux | 进程间通信之信号量
信号量其实是内核中的一个计数器和阻塞队列,通过信号量来对临界资源的访问进行控制,主要用于实现进程间的互斥与同步,而不是用于缓存进程间通信的数据。多个执行流为了访问临界资源会竞争式的申请信号量,因此信号量是会被多个执行流同时访问的,也就是说信号量本质也是临界资源。信号量本质就是用于保护临界资源的,我们不可能再用信号量去保护信号量,所以信号量的PV操作必须是原子操作。原创 2023-09-07 16:44:05 · 371 阅读 · 1 评论 -
Linux | 进程间通信之消息队列
消息队列是一种在分布式系统中用于异步通信的机制。它允许不同的应用程序、服务或组件之间通过发送和接收消息来实现解耦和异步通信。消息队列的基本原理是发送者将消息发送到队列中,而接收者从队列中获取消息并进行处理。消息队列中的消息通常按照先进先出(FIFO)的顺序进行处理,确保消息的顺序性。通常情况下多个进程可同时向一个消息队列发送消息,也可以同时从一个消息队列中接收消息。发送进程把消息发送到队列尾部,接受进程从消息队列头部读取消息,消息一旦被读出就从队列中删除。原创 2023-09-07 11:55:31 · 574 阅读 · 1 评论 -
Linux | 进程间通信之共享内存
共享内存的建立大致包括以下两个过程:在物理内存当中申请共享内存空间。将申请到的共享内存挂接到地址空间,即建立映射关系。共享内存的释放大致包括以下两个过程:将共享内存与地址空间去关联,即取消映射关系。释放共享内存空间,即将物理内存归还给系统。原创 2023-09-05 19:10:11 · 817 阅读 · 1 评论 -
Linux | 进程间通信之管道
管道(Pipe)是一种用于进程间通信的机制,它可以将一个进程的输出直接连接到另一个进程的输入,从而实现数据的传输和共享。1//who用于查看当前云服务器的登录用户(一个用户一行),wc -l 用于统计当前的行数其中,who命令和wc命令都是两个程序,当它们运行起来之后就变成的两个进程,who进程通过标准输出将数据打到 ” | “(管道)中,wc进程再通过标准输入从” | “(管道)中读取数据,至此便实现了数据在不同进程间的传输。原创 2023-09-05 13:18:19 · 298 阅读 · 1 评论 -
Linux | 文件系统 基础IO
首先,我们复习了C语言文件的IO操作,从而引出了文件描述符fd,通过fd再次理解重定向。之后我们又学习了文件的储存机制,理解了inode,从而明白了文件的创建,删除,恢复。再理解了inode之后,学习软硬链接是简单的。最后我们学习了动态库和静态库的基础知识,并创建了属于我们自己的动,静态库。以上就是今天要讲的内容,本文介绍了进程的相关概念。本文作者目前也是正在学习Linux相关的知识,如果文章中的内容有错误或者不严谨的部分,欢迎大家在评论区指出,也欢迎大家在评论区提问、交流。原创 2023-09-04 10:43:19 · 301 阅读 · 1 评论 -
Linux | 虚拟地址空间
虚拟内存是计算机操作系统中的一种技术,它允许程序使用比实际物理内存更大的内存空间。虚拟内存通过将部分数据从内存转移到硬盘上的交换文件中,来释放物理内存空间,并提供了更大的可用内存空间。虚拟内存的工作原理是将内存划分为固定大小的页面(通常为4KB),并将页面映射到物理内存或交换文件中。当程序需要访问一个页面时,操作系统会将该页面加载到物理内存中,如果物理内存已满,则会根据一定的页面置换算法将不常用的页面转移到交换文件中,以腾出空间给新的页面。原创 2023-08-31 09:46:25 · 302 阅读 · 0 评论 -
Linux | 进程创建 进程等待 进程终止 程序替换
进程创建,进程终止,进程等待,进程替换超详解原创 2023-09-02 16:44:25 · 186 阅读 · 0 评论 -
Linux | 进程(基础介绍)
我们双击打开一个可执行文件时,这个可执行文件就会被加载到内存当中去,因此,内存中被加载的可执行程序就是进程,我们可以在Windows下打开任务管理器可以看到相对于的进程。我们可以发现,进程占用了cpu与内存的空间,并且我们知道:cpu有强大的指令集,可以处理很多很多指令,但是cpu只能被动的接收别人的指令,然后处理别人的数据。原创 2023-08-31 09:45:17 · 193 阅读 · 0 评论