遇到的笔试题总结
1、输入/输出软件的层次
输入/输出软件一般分为四个层次: 用户层
、 与设备无关的软件层
、设备驱动程序
和中断处理程序
2、find指令查找48小时内修改过的文件
-atime n:查找系统中最后n*24小时访问的文件
$ find -atime -2
.
./.bash_profile
#UNIX/Linux文件系统每个文件都有三种时间戳:
#访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
#修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
#变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
3、协程Coroutine
🤔下列对协程的理解错误的是?
A. 一个线程可以运行多个协程
B. 协程的调度由所在程序自身控制
C. Linux中线程的调度由操作系统控制
D. Linux中协程的调度由操作系统控制
解答:D
协程可以在多核处理器上使用,并且可以与多线程结合来充分利用多核并行性。
协程由用户态调度是协作式的,一个协程让出CPU后,才执行下一个协程。
🚀协程的执行效率为什么高效?
- 因为子程序切换不是线程切换,而是由程序自身控制
- 因为协程在 IO阻塞 时会自动调度, 减少IO阻塞导致的时间损失.
- 协程的最大优势是高效利用CPU,因为协程的切换不需要像线程那样进行上下文切换
✍️对于CPU来说,协程是非抢占式(进程和线程是抢占式)
4、网络相关工具或命令行
- netstat
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
列出所有端口
netstat -a
列出所有 tcp 端口
netstat -at
列出所有 udp 端口
netstat -au
-
wireshark
可以抓取经过指定网卡的所有协议。
Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台。
-
tcpdump
tcpdump 是一种网络抓包工具,用于在 Linux 系统中捕获和分析网络数据包。它可以帮助用户监控和调试网络通信,诊断网络问题,以及进行安全审计等操作。
5、查看linux当前系统主机名字
Linux上查看主机名字的命令有多种,以下列举其中几种:
hostname
hostname
cat /etc/hostname
hostnamectl
uname -n
-n:查看当前主机名字
-a:系统架构、主机名等全部信息
uname -n
6、查看当前用户名
whoami
whoami
命令的功能是显示当前登录系统的用户的名称。
与机器的主机名字有所不同。
7、操作系统采用缓冲技术,能够减少对CPU的( )次数,从而提高资源的利用率。
A. 中断
B. 访问
C. 控制
D. 依赖
解答:A
解析:引入缓冲的主要原因包括:缓和CPU与I/O设备间速度不匹配的矛盾;减少对CPU的中断频率,放宽对中断响应时间的限制;提高CPU和I/O设备之间的并行性。所以采用缓冲技术,可减少对CPU的中断次数,从而提高系统效率。
7、df -h 查看文件系统使用情况
-h :以KB以上的单位来显示,可读性高
8、free 查看swap空间
小结
(有待补充)