当前位置: 首页 > news >正文

【刷题Day25】用户态和内核态、Reactor、虚拟内存(浅)

什么是用户态和内核态?

用户态(User Mode)和内核态(Kernel Mode)是操作系统中的两种运行模式,用于区分应用程序与操作系统内核的操作权限。

两者区别在于权限级别:

  • 用户态:应用程序在用户态下运行,权限较低,不能直接访问硬件或进行特权操作。应用程序需要通过系统调用与内核进行通信,由内核代为执行敏感操作。用户态的优势是安全性高,即使程序出现问题也不会影响操作系统的稳定性。
  • 内核态:内核态是操作系统内核运行的模式,具有最高的权限,可以直接访问硬件资源和执行各种特权操作(如内存管理、进程调度)。当程序执行系统调用或硬件中断时,操作系统会将其切换到内核态。

到底什么是 Reactor?

Reactor是一种处于并发I/O事件的设计模式,特别适合于网络服务器的开发。它通过事件驱动机制和非阻塞I/O,能够高效地处理大量并发连接。

Reactor模式的核心思想是将I/O事件与响应的处理程序解耦,并通过事件分发器(Event Demultiplexer)来管理事件和响应操作。

Reactor的工作方式:

  • 事件驱动:Reactor通过监听多个事件源(如Socket连接、读写事件),在有事件发生时调用对应的处理程序(Handler)。
  • 非阻塞I/O:使用非阻塞I/O模型,Reactor能够在单个或少数线程中高效处理大量I/O操作,避免了线程的频繁切换。
  • 事件分发与处理:Reactor会将收到的事件(如连接到达、数据可读、数据可写)分发给响应的事件处理器,处理器对事件进行处理。

为什么要有虚拟内存?

虚拟内存的主要作用是提升系统效率和简化内存管理。

  1. 内存扩展能力:
    • 虚拟内存允许程序运行在比实际物理内存大的地址空间上。即使物理内存不足,系统也可以通过交换(swapping)将不常用的内存页移到磁盘中,使得多个程序能够同时运行。
  2. 进程隔离:
    • 每个进程拥有独立的虚拟地址空间,防止进程内的内存访问冲突,提高系统稳定性和安全性。
    • 使用虚拟内存,操作系统可以通过页面表设置访问权限,防止非法访问。
  3. 简化内存管理:
    • 操作系统可以更灵活地分配和回收内存,无需手动考虑物理内存布局问题。
    • 虚拟内存可以将程序逻辑地址与物理地址解耦
http://www.xdnf.cn/news/127729.html

相关文章:

  • 《100天精通Python——基础篇 2025 第2天:Python解释器安装与基础语法入门》
  • 部署本地知识库,怎么选择 vllm 和 langchain_ollama
  • 打破“沙漏“现象→提高生成式搜索/推荐的上限
  • SpringBoot自定义拦截器以及多个拦截器执行顺序
  • 前端算法Hot 100 _二分查找
  • HTB - BigBang靶机记录
  • C++学习:六个月从基础到就业——STL算法(三)—— 数值算法(上)
  • 深入理解表单---提交用户与网页交互的重要方式:GET 与 POST 的本质区别与应用实践
  • 【C++】入门基础【下】
  • 信息系统项目管理工程师备考计算类真题讲解八
  • rabbitmq安装项目集成
  • 智能清洁机器人中的实时操作系统应用研究
  • Android学习总结之扩展基础篇(一)
  • 动手试一试 Spring Boot默认缓存管理
  • 中央对齐模式1 2与更新中断
  • Apifox 4月更新|Apifox在线文档支持LLMs.txt、评论支持使用@提及成员、支持为团队配置「IP 允许访问名单」
  • 使用setGraphicsEffect重新设置阴影导致程序崩溃的问题
  • SAP SuccessFactors Recruiting and Onboarding The Comprehensive Guide
  • 【oql】spark thriftserver内存溢出,使用oql查询导致oom的sql
  • 覆盖纸(Overlay Paper):装饰材料领域的“隐形冠军”
  • 每日一练(4~24):互质的数【省模拟赛】
  • 【python】解释builtin.py函数为何全是pass
  • Kaamel白皮书:Model Context Protocol (MCP) 隐私安全最佳实践
  • AGP8+ fullMode 完全模式混淆闪退
  • MAC地址攻击和ARP攻击的原理及解决方法
  • nodejs导入文件模块和导入文件夹
  • 研0调研入门
  • 【Vue3 实战】插槽封装与懒加载
  • LJF-Framework 第14章 LjfSecurity适配SpringSecurity
  • springcloud-openfeign