mac os x 10.10 ipfw,怎么c 实现端口映射射

Mac OS X Leopard_百度百科
Mac OS X Leopard
&Leopard& 是日的世界开发者大会中所公开的,将会在日推出的64位操作系统。它同时支持PowerPC和以Intel为核心的Macintosh电脑。是第一个被认证为标准的。相比10.4,具有超过300项的更新,但是由于基本操作环境没有重大改变,所以可以看作是最tiger的一次大幅度升级,而不是苹果系统的一次新的革命。
Mac OS X Leopard简介
,,今天宣布Mac OS& X Server 10.5版将与Mac OS X Leopard同时。Leopard Server使苹果传奇的易用性得到扩展,使用户可以更容易地利用服务器的性能,并且引入了Podcast Producer — 一种把播客自动发布到iTunes& 或互联网上的理想方式。Leopard Server提供了超过250种新功能,允许人们仅点击鼠标数下,即可协同创建和编辑他们的共享网站;以及世界上第一个基于商业CalDAV标准的日历服务器iCal& Server。
Mac OS X LeopardLEOPARD(美洲豹)
Leopard是Mac OS X的第六个重要版本,提供了300 多项新功能,是迄今为止最出色的 Mac OS X 版本。
Mac OS X 10.5 “Leopard”是苹果为 Mac 产品所制作的作业系统Mac OS X的第六个版本,也是前代作业系统Tiger的继承者。最早於日发行,以两种版本:以个人电脑为诉求的桌上型电脑版本,以及伺服器版本—Mac OS X Server。苹果提供减价升级版或者内含升级版DVD给介於日到日购买新苹果电脑,且新电脑未预装Mac OS X v 10.5的用户。
根据苹果的说法,包含了超过300种更新与加强功能,含括核心操作系统元件,以及应用程式与开发工具。Leopard引进了显著大修过的桌面,包括重新设计的Dock,改进过的Finder,新功能Stacks、半透明选单条,以及内含最初於iTunes使用的Cover Flow。其它主要的特点在包含支援64位元GUI应用程式、可自动备份的时光机(Time Machine)、Spotlight搜寻可横跨多台机器,以及原来只在一部分Mac机型才有的Front Row与Photo Booth。
苹果错过了苹果执行长史提夫·贾伯斯所公告的Mac OS X 10.5推出时间。当第一次於2005年6月提出,贾伯斯说苹果将在2006年底或2007年初推出。一年後,更改成“2007年春天”,然而在日苹果公告将延後至10月推出,因iPhone的开发因素。
Leopard在2006年的 WWDC 对软体设计师做第一次发表,而Leopard已在日上市,以 129 美元、129 欧元,或是 4390 新台币卖出。苹果亦提供199美元的五人授权“家庭版”,116美元的学生版(皆含税)。凡於日至12月29日购买Mac可以9.95美元的代价购买升级。
Mac OS X Leopard终端使用者功能
苹果宣称 Mac OS v10.5 Leopard 有 300+ 功能,包括:
回到我的 Mac',一个可让 .Mac 使用者在外可以透过网路存取家里电脑的档案的功能。
内建Boot Camp。它是一种软体助理,自日开始即可在苹果网站上以对 Mac OS X v10.4 的测试版形式下载。它可让 Windows XP 或 Windows Vista得以以分区方式(或不同内建方式)安装在 Intel 核心的 Mac上。
Safari 3。加强版,包含了 Webclip -一个可让使用者将 Safari 显示的网页里任何部分转换成 Dashboard 的 widget,而
帮助开发人员编写 widget 代码。
新桌面,包括了重新设计的 3D Dock 与新的群组功能 Stacks。
新 Dock,显示部分的 Stacks。字典现在可同时搜寻 维基百科,与内建完整苹果术语的字典。此外亦包含了由小学馆所提供的日语200,000个新字、25,000个片语。
重新设计的 Finder 搭配与iTunes 7类似的界面,包含了Cover Flow与来源列表的边栏棒。
Front Row重新设计过,现在运行的界面更像 Apple TV。
iCal 日暦分享与群组行程,现在可以与来自於 Mail 的事件邀请做同步的整合。 它的图示即使在未开启程式下也可以显示现在的日期,在过去的版本图示在程式未开启时只会显示7月17日。
改进的 iChat,包含了多重登入、隐形、动态图示、标签页聊天,类似 Pidgin、Adium 与 iChat 外挂 Chax。iChat Theater让使用者可以将的图片、Keynote的简报、QuickTime的影片,与其它Quick Look的功能一同与视讯聊天合并。iChat Theater背景使用类似於Chroma Key,但由於使用即时差分无光表面技术,它不需要绿色或蓝色布幕在後。iChat也改进了桌面分享,如Apple Remote Desktop般的功能。
Mail加强版添加了RSS提要、信笺样板、便条,与待办事项(To Do)。待办事项由於使用系统全面性的服务,故可支援所有的应用程式。
网路档案分享改进版包括更多的对使用权限的个别细微控制,整合AFP、FTP与Samba分享於单一控制面板,同时亦提供分享个别资料夹这个从Mac OS 9就不再有的功能。
分级保护现在包括了从单纯限定使用网路,到从任何地方透过远端设定以达成家长监控的功能。
Photo Booth加强版,加进即时过滤与蓝屏技术的视频录制功能。
Podcast Capture -是一种让使用者录制与传播播客的应用程式。这个功能需要对某台有装并执行Podcast Producer的Mac OS X伺服器进行存取。
预览程式增加了对、注释、图形、提取、搜寻、标注,与尺寸的支援。
Quick Look,一个可让文件得以在未开启应用程式下直接预览的框架。
内建Web Clip版的Safari 3随系统出货。
Sherlock,这个从Mac OS 8.5开始内建的搜寻软体被剔除。原本功能在某程度上被 Spotlight 与 Dashboard 取代。
Spaces下的Spaces,一个实现多重的工具(每个虚拟桌面都被称为“空间”),允许每个使用者拥有多个桌面,可在各桌面执行不同的应用程式。使用者可管理自己所要的空间,如一个桌面工作、一个桌面娱乐,并於其间互相切换。可在Spaces上运作,可让使用者於萤幕上撇见所有桌面的缩图。使用者可创造并控制多达16个空间,而且应用程式间可以相互切换,综合起来产生非常庞大的工作空间。
Spotlight 加入额外搜寻功能如布尔操作子以及在有足够权限下搜寻其它的电脑的能力。
时光机(Time Machine),一个自动备份的工具让使用者可以复原被删除或被取代为其他版本的档案。
辅助使用的加强:对应用程式重大的改进,包括VoiceOver,增加对盲文、字幕与崭新、高品质的电子合成语音。
Mac OS X Leopard开发者技术
对64位元应用程式提供更多函式库和框架的原生支援,允许64位元应用程式执行。现存使用这些函式库与框架的32位元应用程式不需透过模拟或转译而继续执行。
Leopard提供 2.0运行包。它包括新的功能像是垃圾回收. Xcode 3.0也支援这个更新的语言且其本身重新改写过。
新的Core Animation框架能让开发者只需要指定“开始”和“目的”的空间就能创造出复杂的动画效果。Core Animation的主要目标是能让少量的程式码就能产生出复杂的动画。
苹果从升阳微系统的把整合进来,并且加入了图形化的介面称为Instruments(以前称做Xray)。DTrace提供了使用者、管理者和开发者可以用来调试作业系统和在其上执行应用程式的。
新的Scripting Bridge可以让程式设计者透过和与Cocoa 框架的互动。
Ruby on Rails包含在预设的安装之中。
的堆叠已更新到2.1版,并且使用低阶 () 来增加它的涡点处理速度。Apple已经将LLVM整合进GCC中。但并没有宣布有在其他作业系统的地方使用到LLVM.。
苹果於 Graphics and Media State of the Union演说确认了许多其他功能因为Core Animation变得可行,如即时桌面、对Quartz Composer透过自订修补程式的增强、新的开发者套件、以及对应用程式介面的增强。
也包括了个唯读版本、对 ZFS 档案系统的实现。
在2006年12月中,一个Leopard的预先释出版本似乎包含了对於Sun的ZFS支援。Sun的总裁CEO Jonathan Schwartz宣称已经变成Leopard的档案系统。然而,Mac OS X的资深专案行销经理在日发表声明,将会继续使用在Leopard,而非ZFS. Apple稍後澄清Leopard只有包含“唯读版”的ZFS支援。
Leopard内建万用磁碟格式 () 2.5 版驱动程式,是透过第三方光碟机读取高清DVD与蓝光碟片的必备工具。然而内含的 DVD 播放器只能播放由DVD Studio Pro制作的高清DVD光碟。
Leopard内建实现了潜在语意对映(latent semantic mapping) 框架,对分类资料(例如:校勘)相当有用。
Leopard获得UNIX完全相容认证。认证的意义是遵循简单UNIX规格 (Single UNIX Specification) 开发的软体可於 Leopard底下而不必修改任何代码。该认证只有当Leopard於下执行时适用。Leopard同时移除了对古典应用程式的支援。
Mac OS X Leopard安全加强
试著以多种方式改善Mac OS X的安全。新的安全功能除了避免一开始就攻击成功外,更致力於在攻击成功後提供更好的内部复原的工作。
Mac OS X Leopard函式库随机化
Leopard 实现了随机分布,顾名思义乱数化函式库於里的位置。过去造成窜改程式记忆体的通常倚赖於对这些函式库例行程序的已知位址,这种情况让骇客得以注入代码以启动多种执行绪或者更改档案。
Mac OS X Leopard应用程式层防火墙
内建两种引擎:原本随早期版本Mac OS X出版BSD的,以及新的 Leopard 应用程式层防火墙。不像IPFW般於核心进行显著的处理前拦截过滤IP资料节,应用程式层防火墙於通信协定层操作,对个别进程进行限制。应用程式层防火墙因此可针对个别应用程式进行过滤判断。在Leopard内建两个防火墙引擎中,只有应用程式防火墙完全开放於使用者介面。新防火墙对个别判断提供较少的控制(用户可决定允许或拒绝系统全面的或者个别应用程式的连线,但是仍必须利用IPFW详细设定TCP/IP标头层级策略)。预设亦为几个系统进程预先产生策略例外:像以及以超级用户权限执行的程式都不被过滤。
Mac OS X Leopard沙 盒
内建系统内核等级基於角色的()的支援。RBAC用来避免某些像Mail的应用程式对密码资料库进行修改的灾害事件。
Mac OS X Leopard应用程式签署
提供一种框架,利用签署做为代码签署的稽核手段,来防止在某些情况下,代码被恶意窜改。
Mac OS X Leopard安全访客帐号
对系统存取的访客可被赋予某个一旦登出即删除其暂存资料并重设的特殊帐号。
Mac OS X Leopard系统需求
苹果提供了要安装 Leopard 的基本系统需求如下,虽然部分程式与动作(如的背景)是需要有 Intel 处理器才可运行。
必须是任何的 Intel 处理器,PowerPC G5或G4(867 MHz 以上)。
DVD光碟机(为了安装作业系统)。
至少512 MB的内存。
内附的萤幕或是连接到支援苹果的显示卡。
至少9 GB的可用空间。
Leopard 并不为不同型态的处理器发行不同的版本,取代做法是出版单一万用版本可於PowerPC 与 Intel 处理器两者上执行。Leopard终止支援部分低速G4与所有G3的处理器。
Mac OS X Leopard包 装
Leopard 的零售包装与前代产品相比比较小,使用了全像摄影,让 &X& 有如浮在背景上的效果。开盒照可以参见这里。
Mac OS X Leopard版本历史
Mac OS X v10.5
  10.5.2
  10.5.3
  10.5.4
  10.5.5
  10.5.6
    对于新出的Mac OS X v10.6 &Snow Leopard& ,将是的下一个计划推出的Mac OS X操作系统。该系统于日在上由苹果CEO宣布,该操作系统将于自宣布开始大约一年后推出。Mac OS X v10.6将不增加任何新功能,而更多的集中改进系统性能,稳定性和提升易用性。
Mac与Windows操作系统的区别:在Windows系统中,每个程序通常都有自己的菜单栏。而在Mac系统中,只在屏幕上方设置了一个菜单栏,用于当前处于激活状态的程序;如果程序切换了,菜单也会随之发生变化。
广告任务栏:在Mac系统中,与Windows XP任务栏相对应的是Dock。Windows任务栏显示各种打开窗口的图标,与此不同的是,Mac Dock基本上只显示你最常使用的程序的图标。如果想将程序添加到Dock中,你只需把图标拖进去。同样地,移除该程序也只需要将图标拖出Dock,它就会在一阵动画烟雾中消失。
:Mac操作系统上没有开始菜单。这个功能被分散到Dock以及屏幕左上角的Apple菜单中。
控制面板:在Mac操作系统中,相对应Windows控制面板的功能叫System P你可以从Dock或Apple菜单中启动这一功能。
快捷键:常见的Windows快捷指令,例如按Ctrl+S进行保存、Ctrl+P进行打印以及其他快捷指令,都同样可以在Mac键盘上实现。但是,和Windows使用Control键不同,Mac键盘使用的是;该按键上有一个标志或苹果标识。因此,在Mac电脑上,按Command+S进行保存。
退出程序:在Windows操作系统中,你可以点击当前窗口右上角的红色X框来退出程序。但在Mac系统中,如果你点击相应的按键──左上角的红色X圆框──你只是关闭了窗口,而没有退出程序。如果要退出程序,你必须在最左边的中选择Quit指令,或者按Command+Q键。
最大化窗口:当你在Windows XP系统中点击蓝色的最大化按钮时,当前窗口会占据整个屏幕。在系统中,相对应的按钮是左上角的绿色圆圈;点击这个按钮可以将小窗口放大到根据内容优化的最佳尺寸,但不一定是全屏。
切换程序:在Windows XP系统中,在运行程序之间切换的常用方法是按Alt+Tab键。电脑会显示每个运行程序的图标,你可以在其中进行切换。在Mac系统中,你可以使用Command+Tab键完成相同的指令。Mac系统还有一个叫做Expose的绝妙功能,它能够以缩影的方式一次显示所有打开的窗口,你可以进行浏览。用户可以通过很多方式激活Expose,但最常用的方式是按F9键或者专用的Expose键,这取决于你的Mac款式。
右键:与人们的普遍看法相反,Mac也有和Windows一样的右键菜单功能。目前大多数台式Mac电脑的鼠标都能进行右键操作,而且你可以在任何当前的Mac电脑上使用几乎所有的两键USB鼠标。如果你使用的是Mac笔记本,其触摸板下面只有一个按钮,你可以在点击这个按钮的同时按下Control键,或者在点击该按钮的时候将两个手指放在触摸板上,同样可以实现右键的功能。我喜欢后面一种方法,但是必须事先通过System Preferences进行设置。
屏幕:在Mac系统中,桌面与是通过System Preference中的Desktop & Screen Saver进行设置的。屏幕分辨率在Displays System Preference中进行设置。而在Windows XP系统中,所有这些设置都包括在控制面板中的显示功能中。
呵护好MAC OS X苹果电脑操作系统经常在苹果电脑的论坛中看到这样的初级用户:冲着苹果的名声和牌子去买了苹果电脑,倍儿有面子。但用了一段时间后,就开始嚷嚷“速度变慢了”、“系统出现怪问题”。然后就开始埋怨说“苹果电脑不过如此”。每当看到这种用户,心里总是觉得无奈——尽管苹果电脑有着种种优秀之处,但它也是电脑,也会出现问题,也需要“呵护”。如果不注意系统的维护、“保养”,没有正确的维护和“保养”知识,再好的电脑,也经不住折腾。
常用技巧:重启系统解决故障
偶尔苹果电脑系统会突然出现怪怪的问题,例如开机没有任何声音、鼠标失去反应等。这时可以套用Windows系统的最常见的修复方法—重启电脑。重启时并后,问题往往会自然消失。
实用技巧:修复档案系统
苹果电脑OS X操作系统采用的是日志式文件系统,这和Windows的、等文件系统是对等的概念。既然是文件系统,也就会出现数据丢失或损坏的情况,如果是系统数据,就会影响到系统的运行。这时我们需要做的,就是将随机附带的系统光盘插入光驱,并在开机时按住“command+C”组合按键,用系统光盘来启动电脑。在下选择“磁盘工具”,然后选择需要修复数据的磁盘,执行磁盘的检查和错误的修复。如果结果显示“档案系统已被修复”,则应该再做一次检查,直到显示“磁盘看来没有问题”。
当磁盘出现无法修复的错误时,我们可以尝试第三方工具—磁盘武士。该软件主要是通过重新编写硬盘的目录文件来解决多种常见的磁盘问题,包括还原遗失的文件。
Mac OS X Leopard主要软件
利用 Cover Flow,让你如浏览音乐般浏览文件。
Quick Look
无需打开文件,即可浏览、播放、查看及翻阅它们。
Time Machine
查看任意一天系统的状况,单击即可恢复文件。
发送个性化信纸上撰写的电子邮件,做记录,并填写待办事项——会同步显示在 iCal 中。
包含特效和背景的视频聊天、远程演示,以及更多文本通讯功能。
创建个性工作空间,一切井然有序。
世界上最快的浏览器,现拥有更多功能。
让你的孩子拥有更安全、更愉快的 Mac 体验。
在你的 Mac 上运行 Windows 操作系统。
Leopard 在单个操作系统中提供 64 位动力及精确度。
Core Animation
借助内置的 API ,制作引人注目的图形及动画。
Leopard 充分利用最新的。
介绍完全兼容 UNIX 的 Mac OS X Leopard 。
Leopard 经过验证的基础确保了 Mac 的安全。
可访问所有支持 Bonjour 技术的电脑及周边设备。
安装 DVD Mac OS X Leopard 用户指南
Mac OS X Leopard软件
Address Book Automator Calculator Chess Dashboard
Dictionary DVD Player
Font Book Front Row
iCal iChat Image Capture iSync (Supported Devices)
iTunes Mail Photo Booth Preview
QuickTime Player Safari Spaces Stickies
System Preferences TextEdit Time Machine
Mac OS X Leopard应用工具
Activity Monitor AirPort Utility Audio MIDI Setup
Boot Camp Assistant Bluetooth File Exchange
ColorSync Utility Console
Digital Color Meter Directory Directory Utility Disk Utility
Grab Grapher
Keychain Access Migration Assistant Network Utility ODBC Administrator
Podcast Capture RAID Utility
Setup Assistant System Profiler
Terminal VoiceOver Utility X11
Mac OS X Leopard重要技术
AppleScript
CDSA security architecture
Cocoa, Carbon and Java
Core Animation
Core Audio
Core Image
Core Video
OpenGL PDF
Quartz Extreme
QuickTime 7
64-bit computing
Universal Access
USB and FireWire peripheral support
Mac OS X Leopard语言
法文 德文 西班牙文 意大利文
繁体中文 简体中文 韩文 葡萄牙文(巴西) 葡萄牙文 (葡萄牙) 俄罗斯文 波兰文
Mac OS X Leopard评 论
Leopard发行後,市面上出现关於新装 Leopard 开机时蓝屏当机的广泛事件报告。 大部分这些问题归咎於Leopard与某个非支援的增益扩充程式的不相容性,该程式名为应用程式强化器(Application Enhancer, APE),由Unsanity开发。它在许多用户不知情情况下,以罗技公司滑鼠驱动程式部分形式随滑鼠安静的安装到许多Macs上。苹果对此发表了一篇知识库文献阐述如何解决这个问题。
附带的安全功能被批评为不充分或者无效的,尤其是在研究组织 Heise Security 发表有关Leopard安装程式对保护降级後暴露的可攻击的服务,甚至防火墙重启仍如此的研究报告後,该改写过的 OS X 防火墙招致最多的批评。许多研究者指出Leopard新加的函式库随机化功能比起许多其他平台上的成熟产品来说没什效果。而新的“安全访客帐号”可被访客滥用来保留存取该系统,即使在Leopard登出进程删除掉这些访客根目录後也是如此。
虽然一般媒体对时光机资料复原迈出一步赞誉有加,它在许多出版物被批评为缺少如第三方备份软体般的功能。根据TidBITS网路报导的功能分析,编辑 Joe Kissell 指出时光机并不产生可以启动的备分拷贝、无法备份 Airport Disk 、无法备份 FileVault 加密过的直到用户登出帐号。他总结该功能“相当不赖於(备份软体)该做的事”但是他只会使用时光机於“较粗略备份策略组合的一部分”。
R.L. Prior 於 ThinkMac 部落格批评了许多使用者介面改进。包括透明选单棒、像书柜般的 Dock 与新档案夹图示。
Anil Dash控诉苹果自鸣得意的行为,因为当浏览其他电脑时,Leopard使用电脑萤幕显示蓝屏图示以代表其他非苹果厂牌电脑。他也批评这个图示是因为使用的电脑也有可能发生蓝屏死机。
企业信用信息最近的浏览历史
浏览此书的还浏览过
购买此书的人还购买过
书  名:深入解析Mac OS X and iOS操作系统
作  者: [美]Jonathan Levin著 郑思遥 房佩慈 译
出版时间:
出 版 社: 清华大学出版社
字  数: 1241 千字
印  次: 1-1
印  张: 46.25
开  本: 16开
ISBN: 2
装  帧: 平装
定  价:¥108.00
电子书价:¥75.60
节省:¥32.40
vip价:¥75.60
电子书大小:24.04M
共有商品评论0条
  系统开发者、内核黑客和对苹果感到好奇的人们注意了!
  本书探讨了Mac OS X系统和iOS系统的方方面面,深入讲解了两个系统的架构,讨论了框架手册没有讨论的内容。本书清晰
而详细地讨论了苹果操作系统的内部工作原理,包括苹果私有
的API,书中的大部分内容都是首次披露。
  本书在漫游系统架构的时候,从用户态深入到内核态,通
过带注释的代码示例揭示了每一个层次和组件,还提供了可上
手的实验,并且比较了两个系统实现的区别。
  ◆ 引导过程:Mac的EFI、iOS的iBoot以及内核启动过程
  ◆ 进程、线程以及虚拟内存管理
  ◆ 通过DTrace、ptrace和隐藏的系统调用进行调试和性能剖析
  ◆ 系统级的API:POSIX调用、Mach陷阱以及OS X/iOS私有的API
  ◆ 文件系统架构,包括VFS和HFS+
  ◆ 网络架构:从套接字到网络接口以及网络驱动程序
  ◆ 内核扩展、驱动程序以及I/O Kit架构的讨论
  ◆ 安全特性、强制访问控制(MAC)以及iOS监狱
  本书的支持网站()包含了示例程序、可免费下载的工具、更新的参考资料以及其他额外的内容。
高级用户指南
达尔文主义:OS X的进化史 3
前达尔文时代:Mac OS Classic 3
浪子回头:NeXTSTEP 4
走进新时代:OS X操作系统 4
迄今为止的所有OS X版本 5
10.0——Cheetah,初出茅庐 5
10.1——Puma,更强大 5
10.2——Jaguar,渐入佳境 6
10.3——Panther和Safari 6
10.4——Tiger,转投Intel的怀抱 6
10.5——Leopard和UNIX 6
10.6——Snow Leopard 7
10.7——Lion 7
10.8——Mountain Lion 8
iOS——走向移动平台的OS X 9
1.x——Heavenly,第一代iPhone 9
2.x——App Store、3G和企业级的特性 10
3.x——告别第一代,迎来iPad 10
4.x——iPhone 4、Apple TV和iPad 2 10
5.x——iPhone 4S和更新的硬件 11
iOS和OS X对比 11
OS X的未来 13
本章小结 14
参考文献 15
合众为一:OS X和iOS的架构 17
OS X架构概述 17
用户体验层 19
QuickLook 20
2.2.3 Spotlight 21
2.3 Darwin——UNIX核心 22
2.3.1 Shell 22
2.3.2 文件系统 23
UNIX的系统目录 23
OS X特有的目录 24
iOS文件系统的区别 25
应用程序和app 26
Info.plist 27
Resources目录 29
NIB文件 29
通过.lproj文件实现国际化 30
图标文件(.icns) 30
CodeResources 30
框架bundle格式 33
OS X和iOS公共框架列表 35
其他应用程序类型 43
Java(仅限于OS X) 43
BSD/Mach原生程序 44
系统调用 44
Mach系统调用 45
XNU概述 47
libkern 48
I/O Kit 48
本章小结 48
参考文献 49
站在巨人的肩膀上:OS X和iOS使用的技术 51
BSD相关的特性 51
审计(OS X) 54
强制访问控制 57
OS X和iOS特有的技术 60
用户和组的管理(OS X) 60
系统配置 62
记录日志 64
Apple事件和AppleScript 66
FSEvents 68
其他重要的API 73
OS X和iOS的安全机制 73
代码签名 74
隔离机制(沙盒化) 75
Entitlement:更严格的沙盒 77
沙盒机制的实施 82
本章小结 83
参考文献 84
庖丁解进程:Mach-O格式、进程以及线程内幕 85
关键概念回顾 85
进程和线程 85
进程生命周期 86
UNIX信号 89
可执行文件 91
通用二进制格式 92
Mach-O二进制格式 95
加载命令 98
动态库 104
启动时库的加载 105
库的运行时加载 113
dyld的特性 115
进程地址空间 120
进程入口点 120
地址空间布局随机化 121
32位地址空间(Intel) 122
64位地址空间 123
32位地址空间(iOS) 123
进程内存分配(用户态) 128
alloca() 128
堆分配 128
虚拟内存——系统管理员的角度 130
参考文献 134
进程跟踪和调试 135
DTrace 135
dtruss 138
DTrace工作原理 139
其他剖析机制 142
CHUD的衰落 142
继任者AppleProfileFamily 142
进程信息 143
sysctl 143
proc_info 144
进程和系统快照 146
system_profiler(8) 146
sysdiagnose(1) 146
allmemory(1) 147
stackshot(1) 148
stack_snapshot系统调用 149
kdebug 152
基于kdebug的工具 152
kdebug代码 152
写入kdebug消息 154
读取kdebug消息 155
应用程序崩溃 156
应用程序挂起和采样 159
内存破坏的bug 160
内存泄漏 161
heap(1) 162
leaks(1) 162
malloc_history(1) 163
标准UNIX工具 163
通过ps(1)列出进程列表 164
top(1):系统全局视图 164
通过lsof(1)和fuser(1)进行文件诊断 165
使用GDB 165
GDB的Darwin扩展 166
GDB用于iOS 166
本章小结 167
参考文献和深入阅读 167
引导过程:EFI和iBoot 169
传统形式的引导 169
揭秘EFI 171
EFI的基本概念 171
EFI服务 173
NVRAM变量 177
OS X和boot.efi 178
boot.efi的执行流程 179
引导内核 185
内核对EFI的回调 187
Lion中boot.efi的变化 187
Boot Camp 187
bless(8) 188
iOS和iBoot 192
初期:引导ROM 193
普通引导 194
恢复模式引导 195
设备固件更新(DFU)模式 195
降级和回放攻击 196
安装镜像 196
OS X安装过程 196
iOS文件系统镜像
(.ipsw文件) 201
本章小结 206
参考文献和深入阅读 206
贯穿始终——launchd 207
launchd 207
启动launchd 207
系统范围和用户范围的launchd 208
守护程序和代理程序 208
多面手launchd 209
LaunchDaemon列表 220
GUI shell程序 224
Finder(OS X) 224
SpringBoard(iOS) 225
XPC(Lion和iOS) 230
本章小结 234
参考文献和深入阅读 235
内核架构 239
内核基础知识 239
用户态和内核态 243
Intel架构——ring 243
ARM架构——CPSR 244
内核态/用户态转换机制 245
Intel上的陷阱处理程序 246
自愿的内核转换 254
系统调用的处理 259
POSIX/BSD系统调用 260
Mach陷阱 263
机器相关的调用 267
诊断调用 268
XNU和硬件抽象 270
本章小结 272
参考文献 272
由生到死——内核引导和内核崩溃 273
XNU源代码 273
获得源代码 273
make XNU 274
一个内核,多种架构支持 276
XNU源代码树 278
引导XNU 281
引导过程概览 281
OS X:vstart 282
iOS:start 283
[i386|arm]_init 283
i386_init_slave() 285
machine_startup 285
kernel_bootstrap 286
kernel_bootstrap_thread 289
bsd_init 291
bsdinit_task 296
睡眠和唤醒 299
引导参数 300
内核调试 302
“不要害怕”——避免panic 303
panic的实现 304
panic报告 306
本章小结 310
参考文献 310
Mach原语:一切以消息为媒介 311
Mach概述 311
Mach设计原则 312
Mach设计目标 313
Mach消息 313
简单消息 313
复杂消息 314
发送消息 315
Mach接口生成器(MIG) 318
深入IPC 323
同步原语 326
锁组对象 326
互斥体对象 327
读写锁对象 328
自旋锁对象 329
信号量对象 329
锁集对象 331
机器原语 332
主机对象 332
时钟对象 341
处理器对象 343
处理器集对象 346
本章小结 350
参考文献 350
刹那之间——Mach调度 351
调度原语 351
任务和线程相关的API 360
任务相关的API 361
线程相关的API 365
优先级 370
运行队列 373
Mach调度器的独特特性 376
控制权转交 376
抢占模式 378
异步软件陷阱(AST) 383
调度算法 386
定时器中断 389
中断驱动的调度 389
XNU中的定时器中断处理 390
Mach异常模型 394
实现细节 395
本章小结 403
参考文献 403
Mach虚拟内存 405
虚拟内存架构 405
虚拟内存全貌 405
虚拟内存概述 406
用户态视角 410
物理内存管理 419
pmap的API 420
API在Intel架构上的实现示例 421
Mach Zone 423
Mach Zone的结构 424
引导期间的zone设置 426
zone垃圾回收 427
zone调试 428
内核内存分配器 429
kernel_memory_allocate() 429
kmem_alloc()系列函数 431
kalloc 432
OSMalloc 433
Mach分页器 434
Mach分页器接口 435
Universal Page List 438
分页器类型 440
分页策略管理 447
Pageout守护程序 448
处理页错误 450
dynamic_pager(8)(OS X) 451
本章小结 452
参考文献 452
BSD简介 453
一统天下 454
POSIX标准中的内容 454
实现BSD 455
XNU不是完整的BSD 455
进程和线程 455
BSD进程结构 456
进程列表和进程组 458
对应到Mach 461
进程创建 463
用户态的角度 463
内核态的角度 464
加载和执行二进制文件 467
Mach-O二进制文件 472
进程控制和跟踪 475
ptrace (#26) 475
proc_info (#336) 476
进程挂起和恢复 477
UNIX异常处理程序 478
硬件产生的信号 483
软件产生的信号 484
受害者的信号处理 484
本章小结 485
参考文献 485
有新有旧:BSD高级功能 487
内存管理 487
POSIX内存和页面管理系统调用 487
BSD内部的内存函数 489
内存压力 492
Jetsam(iOS) 493
内核地址空间布局随机化 495
工作队列 496
换个角度看BSD层 499
sysctl 499
kqueue 501
审计(OS X) 503
强制访问控制(MAC) 504
苹果的策略模块 506
本章小结 509
参考文献 509
文件系统和虚拟文件系统交换 511
磁盘设备和分区 511
通用文件系统的概念 522
扩展属性 522
时间戳 522
快捷方式和连接 523
苹果生态圈中的文件系统 524
苹果原生的文件系统 524
DOS/Windows文件系统 524
CD/DVD文件系统 525
基于网络的文件系统 526
伪文件系统 528
挂载文件系统(仅限于OS X) 531
automount 531
磁盘仲裁 531
磁盘镜像文件 533
原始DMG文件 533
从磁盘镜像引导(Lion) 534
虚拟文件系统交换 534
文件系统条目 535
挂载条目 535
vnode对象 538
FUSE——用户空间的文件系统 541
进程的文件I/O操作 543
本章小结 547
参考文献和深入阅读 547
基于B树的HFS+文件系统 549
HFS+文件系统概念 549
时间戳 549
访问控制表 550
扩展属性 550
Unicode支持 558
Finder集成 558
大小写敏感(HFSX) 559
动态大小调节 561
元数据区域 561
热文件 562
动态碎片整理 562
HFS+的设计概念 564
HFS+宗卷头 571
编录文件 572
extent溢出文件 579
属性B树 579
热文件B树 580
分配文件 581
HFS日志 581
VFS和内核的整合 584
fsctl(2)的整合 584
sysctl(2)的整合 585
文件系统状态通知 585
本章小结 586
参考文献 586
遵守协议:网络协议栈 587
用户态接口回顾 588
UNIX Domain套接字 589
IPv4网络协议 589
路由套接字 590
网络驱动程序套接字 590
IPSec Key Management套接字 592
IPv6网络协议 592
系统套接字 593
套接字和协议统计信息 595
第5层:套接字 597
套接字描述符 597
内核态中的套接字 603
第4层:传输层协议 604
域和protosw 605
初始化域 609
第3层:网络层协议 610
第2层:网络接口层 613
OS X和iOS中的网络接口 613
数据链路接口层 614
ifnet结构体 614
案例研究:utun 616
整合所有层:网络协议栈 620
接收数据 620
发送数据 623
数据包过滤 626
套接字过滤器 627
ipfw(8) 628
PF包过滤器(Lion和iOS) 629
IP过滤器 630
接口过滤器 632
伯克利数据包过滤器 633
流量整形和QoS 637
综合服务模型 637
区分服务模型 637
实现dummynet 638
在用户态控制参数 638
本章小结 639
参考文献和深入阅读 639
内核扩展模块 641
扩展内核的功能 641
内核扩展(kext) 643
kext结构 645
kext安全需求 647
内核扩展的相关操作 647
kernelcache 647
multi-kext 651
从程序员的视角看kext 651
kext的内核支持 652
本章小结 661
参考文献 662
驱动力——I/O Kit驱动程序框架 663
I/O Kit简介 664
设备驱动程序的编程约束 664
I/O Kit是什么 664
I/O Kit不是什么 666
libkern:I/O Kit的基类 667
OSObject 668
OSMetaClass 668
I/O Registry 669
IORegistryEntry 671
IOService 671
用户态的I/O Kit 671
访问I/O Registry 672
获得/设置驱动程序属性 674
即插即用(通知端口) 675
I/O Kit电源管理 676
其他I/O Kit子系统 677
I/O Kit诊断 678
I/O Kit内核驱动程序 680
驱动程序匹配 680
I/O Kit族 682
I/O Kit驱动程序模型 685
IOWorkLoop 687
中断处理 689
I/O Kit内存管理 691
整合BSD 693
本章小结 694
参考文献和深入阅读 695
了解机器架构 697

我要回帖

更多关于 端口映射实现远程桌面 的文章

 

随机推荐