首页 > 数据库 > 数据库开发技术 > 2024 Linux面试题总结
你好,我是李逸皓,我的梦想是:运维,永不背锅!
放个链接,万一有人关注呢
↓ ↓ ↓ ↓ ↓
管道(Pipe)和命名管道(Named pipe):管道是一种半双工的通信方式,数据只能单向流动;而命名管道则是管道的扩展,它是全双工的,允许数据双向流动。管道主要用于父子进程或者兄弟进程之间的通信,而命名管道则可以用于任意两个进程之间的通信。
消息队列(Message Queue):消息队列是一种链表结构,存放在内核中,可以实现不同进程之间的消息传递。每个消息都有一个优先级,接收者会先接收优先级高的消息。
共享内存(Shared Memory):共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,因为数据不需要在进程之间复制。
信号(Signal):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。信号是异步的,进程无法预知信号的到达时间。
套接字(Socket):套接字可以用于不同机器之间的进程通信。套接字支持TCP和UDP协议,可以实现可靠的或者不可靠的、双向的通信。
Linux内存管理的主要目标是满足物理内存的需求,同时也要满足虚拟内存的需求。这是因为在现代操作系统中,每个进程都有自己的地址空间,这个地址空间是虚拟的,也就是说,它并不直接对应物理内存。因此,Linux需要一种机制来管理和映射这两种内存。主要的内存管理机制包括:
虚拟内存:Linux使用页表来实现虚拟内存,使得每个进程都认为自己独占了全部的物理内存。每个进程有自己的页表,页表中的每个条目都将虚拟页映射到物理页。当进程访问一个地址时,硬件会自动查找页表,找到对应的物理页,然后完成访问。这个过程对进程是透明的,进程不需要知道自己的数据实际上存储在哪里。
页替换算法:当物理内存耗尽时,Linux需要选择一个或多个页面将其写回磁盘,以便为新的页面腾出空间。这就涉及到页替换算法。最常见的页替换算法是最近最少使用(LRU)算法。LRU算法的基本思想是:最近使用过的页面很可能在未来还会被使用,因此,当需要替换一个页面时,LRU算法会选择最长时间未被使用的页面。
3.什么是Linux的虚拟文件系统(VFS)?
粉丝进群方式如下图:

↓↓↓ 点个在看,无需赞赏!
原文作者:运维book思议;如有侵权,请联系管理员删除。