操作系统常见面试题(第五弹)
内容来源公众号:小谢backup
1、Linux系统IO分为哪两个阶段?
1. 内核准备数据(读、写IO数据)2. 将数据从内核拷贝到用户空间
2、同步和异步的区别是什么?
同步需要用户线程发起IO请求,主动等待或轮询获取消息通知。异步是用户线程发起IO请求后,仍继续执行,当内核IO操作完成后,用户线程被动接受消息通知,通过回调,通知,状态等方式被动获取消息。
3、同步阻塞IO和同步非阻塞IO的最大区别是什么?
同步阻塞就是进程被"挂起",同步非阻塞是“每隔一会瞄一眼进度”的轮询方式。4、IO多路复用相比同步非阻塞IO有什么区别?
• 一次轮询多个IO任务;• 轮询工作由 进程 改为 内核(select、poll、epoll);
• 对于用户进程来说是阻塞的
5、如何选择 Linux 操作系统版本?
一般来讲,桌面用户首选 Ubuntu ;服务器首选 RHEL 或 CentOS ,两者中首选 CentOS 。
• 安全性要求较高,则选择 Debian 或者 FreeBSD 。
• 需要使用数据库高级服务和电子邮件网络应用的用户可以选择 SUSE 。
• 想要新技术新功能可以选择 Feddora ,Feddora 是 RHEL 和 CentOS 的一个测试版和预发布版本。
• 【重点】根据现有状况,绝大多数互联网公司选择 CentOS 。现在比较常用的是 6 系列,现在市场占有大概一半左右。另外的原因是 CentOS 更侧重服务器领域,并且无版权约束。CentOS 7 系列,也慢慢使用的会比较多了。
6、软链接和硬链接的区别?
- 硬链接不可以跨分区,软件链可以跨分区。
- 硬链接指向一个 inode 节点,而软链接则是创建一个新的 inode 节点。
- 删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除。
7、Linux有几种文件类型?
普通文件、目录文件、链接文件、设备文件、命名管道(FIFO)8、Linux 有哪些系统日志文件?
比较重要的是 /var/log/messages 日志文件。
该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。
9、sudo 和 sudo -i 的区别?
sudo 时间限制,比如 Ubuntu 默认为一次时长15分钟;sudo -i 没有时间限制,且执行完该命令后提示符变为 # 而不是 $。
10、sudo 和 su 的区别?
• sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码; • sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,但是环境变量并不是 root 的。