《对线面试官》| 高频 Linux 面试题 Part2
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
Linux高频面试题Part1摘要
在上一篇文章中,分享了一些校招面试中常见的Linux面试题。本文继续分享更多的Linux相关的面试题和知识点。
Linux操作系统的核心
Linux操作系统的核心是内核(Kernel),它管理着系统上的所有软硬件资源,是应用程序和硬件之间的桥梁。内核的主要任务包括流程管理、内存和I/O管理、系统调用控制以及管理设备驱动程序。
Linux进程状态
Linux进程有三大基本状态:就绪态(只欠CPU)、执行态(已获得CPU)和阻塞态(进程因等待某事件发生而无法继续执行)。进程的状态可以在这三种状态之间转换。
文本处理和进程管理
可以使用grep命令过滤掉文本中的注释和空行,lsof命令查看被进程打开的文件。管道(pipe)、共享内存和消息队列是父子进程之间的通信方式。
僵尸进程和孤儿进程
僵尸进程是子进程结束后未被父进程回收的进程,而孤儿进程是父进程结束后被init进程接管的子进程。init进程会回收孤儿进程占用的资源,避免变成僵尸进程。
文件和系统管理
使用stat命令查看文件的访问时间、修改时间。md5sum命令用于比较文件内容是否相同。设置DNS server的配置文件是/etc/reslove.conf。任务计划的前5个数字分别代表分钟、小时、日期、月份和星期。
系统负载和CPU使用率
系统负载表示处在可执行状态和不可中断睡眠状态的进程数量。CPU使用率是在单位时间内CPU处在非空闲态的时间比。CPU使用率升高通常会导致系统负载升高,但系统负载升高不一定意味着CPU使用率升高。
CPU上下文切换和内存访问
CPU上下文切换是保存前一个任务的状态,并加载新任务状态的过程。进程无法直接访问物理内存,内核为每个进程提供了连续的虚拟地址空间,通过内存映射管理物理内存。
写时复制技术
Linux的写时复制(COW)技术避免了不必要的资源复制,提高了创建子进程的效率。在fork()时,子进程共享父进程的内存空间,仅在需要写入时才为子进程分配独立的物理空间。
程序与进程的区别
程序是存储在磁盘上的二进制文件,而进程是程序运行时在计算机中的执行环境,包括内存数据、寄存器值、指令、打开的文件和设备状态信息。
想要了解更多内容?