面试之Linux操作系统

统计Nginx前十ip

线程进程的区别体现在几个方面

1.因为进程拥有独立的堆栈空间和数据段,所以每当启动一个新的进程必须分配给它独立的地 址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,系统开销比较大,而线程不 一样,线程拥有独立的堆栈空间,但是共享数据段,它们彼此之间使用相同的地址空间,共享 大部分数据,切换速度也比进程快,效率高,但是正由于进程之间独立的特点,使得进程安全 性比较高,也因为进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产 生影响,而线程只是一个进程中的不同执行路径。一个线程死掉就等于整个进程死掉。 2.体现在通信机制上面,正因为进程之间互不干扰,相互独立,进程的通信机制相对很复杂, 譬如管道,信号,消息队列,共享内存,套接字等通信机制,而线程由于共享数据段所以通信 机制很方便。。 3.属于同一个进程的所有线程共享该进程的所有资源,包括文件᧿述符。而不同过的进程相互 独立。 4.线程必定也只能属于一个进程,而进程可以拥有多个线程而且至少拥有一个线程;

linux 程序启动过程

当你在 shell 中敲入一个命令要执行时,内核会帮我们创建一个新的进程,它在往这个新进程 的进程空间里面加载进可执行程序的代码段和数据段后,也会加载进动态连接器(在 Linux 里面 通常就是 /lib/ld-linux.so 符号链接所指向的那个程序,它本省就是一个动态库)的代码段和数 据。在这之后,内核将控制传递给动态链接库里面的代码。动态连接器接下来负责加载该命令 应用程序所需要使用的各种动态库。加载完毕,动态连接器才将控制传递给应用程序的 main 函 数。如此,你的应用程序才得以运行。(过程链接表(PLT), Global Offset Table(GOT))

你直到怎么观察Linux的IO性能吗?

ifstat 间隔 次数

iostat 间隔 次数

vmstat 间隔 次数

df -h 总体磁盘

io性能

pidstat -d

先用 iostat 发现磁盘 I/O 性能瓶颈;再借助 pidstat ,定位出导致瓶颈的进程;随后分析进程的 I/O 行为;最后,结合应用程序的原理,分析这些 I/O 的来源。 

你了解Linux的CPU工作原理吗

CPU是三级缓存结构, 一个CPU有两个逻辑线程, 一个逻辑线程有专享的L1级缓存, L2级缓存是CPU专用的, L3缓存是所有的CPU共享的

uptime命令会显示CPU的1分钟, 5分钟, 15分钟平均负载, 即平均活跃进程

CPU的使用率: 就是除了空闲时间外的其他时间占总 CPU 时间的百分比

dstat: 综合性能观察工具

进程组和会话区别: 

pidstat, 观察CPU使用率

perf top,类似于 top,它能够实时显示占用 CPU 时钟最多的函数或者指令

对于Linux的内存, 你有什么想说的

说说Linux虚拟内存机制

Linux的IO多路复用机制

说一说epoll原理

按下ctrl+c发生了什么

产生硬件中断信号

CPU从用户态切换到内核态, 处理中断

中断驱动程序将ctrl+c解释成一个SIGINT信号,记在该进程的PCB(进程管理块, 包块进程名字 id 优先级和状态信息等)中, 也就是发送一个SIGINT信号给进程

当某个时刻要从内核返回到该进程的用户空间代码继续执行之前,首先处理PCB中记录的信号,发现有一个SIGINT信号待处理,而这个信号的默认处理动作是终止进程,所以直接终止进程而不再返回它的用户空间代码执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值