美文网首页
mach内核系列(一)

mach内核系列(一)

作者: SpringAlways | 来源:发表于2020-07-21 16:33 被阅读0次

mach task

概念

mach task是资源、虚拟地址空间、端口名空间的集合。

特点

  1. task依赖线程来执行代码,task本身无法做到这一点。
  2. 从一个task切换到另一个task,会触发上下文的转换,这通常是个昂贵的操作。因为它涉及到硬件的内存布局(虚拟地址空间)等概念。
  3. task区别于unix进程的点在于它们提供更少的功能。进程有信号、进程/组/session ID、文件描述符和其他很多东西,而task被用于资源分配和分享。task是资源容器。

虚拟地址空间

概念

Mach中的虚拟地址空间定义了有效的虚拟地址。所谓有效,是指被task拥有,并且正在执行的线程的地址。

特点

  1. task和虚拟地址空间是一一对应的。我们可以通过task来给虚拟地址空间命名.
  2. 地址空间被分为多个page。每一个page有自己独立的属性,如:读、写、执行(访问属性),是否继承、拷贝、共享(继承属性),以及其他一些系统属性。
  3. 页面操作已经做了优化。这些优化有助于把大块的数据从一个地址空间搬运到另一个地址空间。例如,线程间的数据搬运。(c/s)
  4. 在页面中可以被作为一个整体控制和处理的内存范围被称作内存对象。
  5. 无法被分页的内存页叫做 wired pages. 例如,mach自身就是拥有地址空间、线程、内存页(所有的都是wired page)的task.
  6. 珍贵页。珍贵页是那些当自己是干净的,并且系统需要内存时,也不会被静默丢弃的页面。例如,当一块内存在通过网络共享,如果未经任何操作修改,就被静默丢弃了,那么它是无法被恢复的。当然,如果使用了well-known pager mananger的系统,这块内存的内容可以通过磁盘恢复。不可静默丢弃这一条也就失效了。

相关文章

  • mach内核系列(一)

    mach task 概念 mach task是资源、虚拟地址空间、端口名空间的集合。 特点 task依赖线程来执行...

  • mach内核系列(二)

    capability 是一个保护引用的概念。把指定和授权结合在一起,防劫持。这种能力通常由系统内核(通常是微内核)...

  • Mach overview (Mach概述)

    Mach overview (Mach概述) OS X内核的基本服务和基元都是基于Mach 3.0的。苹果已经修改...

  • Mach-O文件格式

    Mach-O文件结构 Mach-O(Mach Object)是一种基于Mach内核的文件格式。iOS系统生成的可执...

  • 深入解析Mac OS X & iOS 操作系统 学习笔记

    Mach 原语:一切以消息为媒介 XNU 的核心是Mach 微内核。 Mach 是 OS X 和 iOS 的核心中...

  • Mach 的深入理解

    Mach 原语:一切以消息为媒介 XNU 的核心是Mach 微内核。 Mach 是 OS X 和 iOS 的核心中...

  • 深入解析Mac OS X & iOS 操作系统 学习笔记

    Mach 虚拟内存 在内核管理最重要的资源中,出了CPU本身,就是内存了。Mach 和所有内核一样,代码中有很大一...

  • iOS多线程 之 NSThread详解

    NSThread是对内核mach kernel中的mach thread的封装,所以,每一个NSThread的对象...

  • Mach-o格式头部结构

    Mach-o格式,是Mach操作系统内核(Mac、iOS系统的内核)主要支持的可执行文件格式。 用otool工具可...

  • GCD源码分析(一)

    Mach Mach是XNU的核心,被BSD层包装。XNU由以下几个组件组成: MACH内核进程和线程抽象 虚拟内存...

网友评论

      本文标题:mach内核系列(一)

      本文链接:https://www.haomeiwen.com/subject/gawikktx.html