操作系统面试深度解析

需积分: 5 0 下载量 200 浏览量 更新于2024-08-03 收藏 1KB MD 举报
"面试之操作系统" 在面试中,操作系统(OS)是不可或缺的知识领域,它涉及到计算机系统的基础架构和管理。以下是对操作系统相关知识点的详细解释: 1. **并发与并行**:并发是指多个任务在一段时间内的交替执行,给人一种同时进行的错觉,而并行则是在同一时刻,多个任务真正地同时执行。在单核处理器中,通过时间片轮转实现并发;在多核处理器中,可以实现真正的并行。 2. **同步与异步、阻塞与非阻塞**:同步是指等待一个操作完成后再进行下一个操作;异步则是不等待,而是发送请求后继续执行其他任务。阻塞是指调用者在等待某个操作完成时无法执行其他任务;非阻塞则允许调用者在等待期间执行其他任务。 3. **进程与线程**:进程是资源分配的最小单位,拥有独立的内存空间;线程是CPU调度的最小单位,共享进程的内存空间。进程间通信(IPC)包括管道、信号量、消息队列、共享内存等。 4. **进程状态转换**:进程通常经历新建、就绪、运行、等待和终止五个状态。 5. **进程调度算法**:常见的有FCFS(先来先服务)、SJF(短作业优先)、RR(时间片轮转)、优先级调度等。 6. **死锁**:两个或更多进程相互等待对方释放资源而无法继续执行的现象。产生原因包括互斥、占有并等待、无剥夺和循环等待。 7. **解决死锁**:预防死锁通过避免四个必要条件之一;避免死锁是允许死锁发生但不让它出现;解除死锁包括资源剥夺、回滚和进程终止。 8. **缓冲区溢出**:当缓冲区大小不足以存储输入数据时,超出的数据会覆盖相邻内存区域,可能导致安全问题,如代码执行或数据泄露。 9. **分页与分段**:分页是将内存划分为固定大小的块(页),分段是根据程序逻辑结构划分内存(段)。分页关注物理内存管理,分段更注重逻辑组织。 10. **物理地址、逻辑地址与虚拟内存**:物理地址是内存芯片上的实际位置,逻辑地址是程序中使用的地址,虚拟内存是通过地址映射技术使得程序认为有比实际更多的内存。 11. **页面置换算法**:如LRU(最近最少使用)、LFU(最不经常使用)、OPT(最佳替换)等。 12. **动态链接库与静态链接库**:动态链接库在运行时才加载,节省内存;静态链接库在编译时合并,程序体积大但运行无需依赖外部库。 13. **外中断与异常**:外中断通常由外部设备引发,如键盘、鼠标;异常是处理器内部错误或指令执行异常,如除零错误、非法指令等。 14. **用户态与内核态**:用户态是普通程序运行的模式,访问权限受限;内核态具有最高权限,执行操作系统核心功能。 15. **用户态与内核态的切换**:通过系统调用或异常处理机制实现。 16. **进程终止方式**:正常退出、异常退出、被其他进程杀死等。 17. **守护进程、僵尸进程和孤儿进程**:守护进程常驻后台,不与终端关联;僵尸进程是已结束但未清理资源的进程;孤儿进程是其父进程已结束但还在运行的进程。 18. **避免僵尸进程**:父进程及时处理子进程退出状态,如wait()或waitpid()。 19. **锁机制**:包括互斥锁、读写锁、自旋锁、信号量等,用于控制并发访问资源。 20. **内存分配错误**:如内存泄漏、空指针引用、堆栈溢出等。 21. **内存交换**:被换出的进程保存在磁盘的交换分区。 22. **原子操作**:不可分割的操作,如原子递增,通常通过硬件支持实现。 23. **抖动(Thrashing)**:当系统频繁地将内存中的进程换入换出导致性能急剧下降的现象,通常因物理内存不足引起。 这些知识点是操作系统面试中常被问到的问题,理解和掌握它们对于成为一名优秀的IT专业人员至关重要。