热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【操作系统】经典面试题吐血整理

进程与线程的区别在引入线程之前,进程是资源分配的基本单位也是cpu调度的基本单位。但是在引入线程之后,cpu调度的基本单位变成了线程。之所以引入线程是为了提高系统的并发性,减


  • 进程与线程的区别



    • 在引入线程之前,进程是资源分配的基本单位也是cpu调度的基本单位。但是在引入线程之后,cpu调度的基本单位变成了线程。之所以引入线程是为了提高系统的并发性,减少进程并发带来的时空开销。他们的所占用的内存空间不同,通信方式不同。



  • 进程间的通信方式



    • 管道: 速度慢, 容量有限, 只有 父子之间的进程能通信.






    • 消息队列: 容量受到系统限制.


    • 共享内存: 速度快, 但要保持同步



  • 线程间通信方式



    • 同步:这里讲的同步是指多个线程通过 synchronized 关键字这种方式来实现线程间的通信.

    • while轮询的方式:这种方式会 浪费CPU资源. 就类似于现实生活中, 某个人一直看着手机屏幕是否有电话来了. 而不是在干别的事情,当有电话来时,响铃通知TA电话来了。

    • wait /notify 机制:好处就是CPU的利用率提高了. 坏处是如果通知过早, 会打乱程序的执行逻辑.


  • 进程间的调度





  • 死锁是什么,如何解决死锁



    • 各进程互相等待对方手里的资源,导致进程都阻塞,无法向前推进


    • 预防死锁


    • 避免死锁:银行家算法


    • 死锁检测:死锁定理,资源分配图的简化


    • 死锁解除:撤销,回退



  • 实现多线程的方式



    • 用户级线程


    • 内核级线程


    • 多线程模型



  • 磁盘调度算法(6种)



    • 先来先服务


    • 最短寻道时间优先


    • SCAN


    • C-SCAN


    • LOOK


    • C-LOOK



  • 进程调度算法(6种)



    • 先来先服务

    • 短作业优先

    • 高响应比优先

    • 优先级调度算法

    • 时间片轮转调度

    • 多级反馈队列算法


  • 操作系统的功能



    • 进程管理


      • 进程管理主要是要实现进程线程之间调度,处理进程之间的同步和互斥问题,以及可能产生的死锁等问题。



    • 内存管理


      • 内存空间的分配和回收(非连续分配中有基本分页和基本分段),虚拟存储技术(请求分页,请求分段,缺页中断),内存空间扩充(覆盖交换),地址转换,存储保护等。



    • 文件管理


      • 对文件目录的管理(FCB indoe),如何实现文件共享(硬链接软链接),文件保护(口令加密访问控制),对非空闲磁盘块的管理(连接分配,索引分配),以及对空闲磁盘块的管理(位示图法,空闲链表法,成组链法),磁盘调度,磁盘管理(低级格式化,磁盘分区,逻辑格式化)。



    • 设备管理


      • 这一块主要的知识就是中断处理(程序直接控制,中断驱动方式,DMA方式,通道控制)






推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
author-avatar
莣Q楽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有