❶ 【深入解析MAX OSX & iOS操作系統】讀書筆記 —— OS X 和 iOS 使用的技術
作為一個BSD衍生的操作系統,OSX繼承了很多BSD的特性,包括POSIX系統調用、一些BSD擴展(內核隊列)以及BSD的強制訪問控制。
蘋果新增的內容:「沙盒」機制。替換了原本系統配置的/etc目錄。標準的UNIX syslog被AppleSystem Log增強了。還有FSEvents新技術。
盡管XNU的絕對的核心是Mach,但XNU向用戶態展現出來的主要介面是BSD層。
sysctl(8)訪問內核內部狀態的標准方法。直接查詢內核變數的值,獲得重要的運行時診斷信息。也可以設置可寫變數的值。
內核組件也可以在運行會注冊額外的sysctl變數值,甚至增加整個名稱空間。
sysctl變數的范圍很廣,包括從一些簡單的調試變數到其他可控制整個子系統行為的讀寫變數。ps和netstat都依賴於sysctl獲得PID和socket系列,當然也可以通過其他方式獲得。
kqueue是BSD中使用的內核事件通知機制。一個kqueue指的是一個描述符,這個描述符會阻塞等待知道一個特定類型和種類的事件發生。用戶態的進程(或內核)可以等待這個描述符,因為kqueue提供了一種用於一個或多個進程同步的簡單高效的方法。
kqueue和對應的 kevent(表示事件的數據結構) 構成了內核非同步I/O的基礎。
審計是OSX中一個自包含的子系統。主要的用戶態組件是auditd,由launchd根據需要而啟動的後台服務進程。這個後台服務進程不負責實際的審計日誌記錄,審計日誌記錄是由內核本身直接完成的。然後這個後台服務進程能控制內核。
如果啟用了審計,那麼XNU中編號從350到359的系統調用都被分配用於啟用和控制審計。
添加了對象級別的安全性,限制特定進程針對具體文件或資源的訪問許可權。可以控制一個給定的應用程序不允許訪問用戶的私有數據或某網站。
從內核的角度看,在各種系統調用的實現中插入了對MAC的調用,每一個系統調用都必須先通過MAC的驗證,然後才能真正處理來自用戶態的請求。
MAC是OSX的隔離機制和iOS的entitlement機制的基礎。
UNIX從傳統上都依賴密碼文件 /etc/passwd 和保存密碼的散列文件 /etc/shadow 。在OSX單用戶(以及iOS)中,使用 /etc/master.passwd 作為shadow文件,其他情況都放棄了這些密碼文件,使用自己的 目錄服務 。
目錄服務的維護的內容不僅僅是用戶和用戶組,還保存了系統配置和很多其他方面的信息。
OSX還拋棄了大部分其他配置文件,這些配置文件傳統上在UNIX中是當做系統「注冊表」使用的。
為了維護系統配置,OSX和IOS使用了一個特殊的守護程序—— configd(8) ,這個守護程序可以載入額外的可載入的bundle(插件),這個bundle位於 /System/Library/SystemConfiguration 下,包含IP和IPv6配置、日誌以及其他bundle。
可通過工具 scutil 來流量和查詢系統配置。
OSX也繼承了傳統UNIX的系統日誌功能。OSX10.4引入新的日誌模型,ASL,提供了更多特性,例如過濾和搜索。
ASL採用模塊化設置,同時提供了以下四種日誌介面:
ASL日誌收集在 /var/log/asl 目錄中。 aslmanager(8) 命令負責管理這些日誌,launchd自動運行這條命令。
ASL日誌採用的是二進制格式,而不是syslog採用的文本文件。日誌文件變小了,但不像syslog那麼對grep友好。OSX包含了syslog()命令用於顯示和查看日誌,並提供了搜索和過濾的功能。
OSX有非常強大的支持腳本的能力。通過osascript(1)命令和友好的Automator應用程序可以訪問AppleScript
FSEvents是文件系統的通知API,應用程序可以簡單快速地響應文件添加、修改和刪除事件。
OSX提供了一個系統級的通知機制,這是分布式IPC的一種形式。
通知機制核心部分在於notifyd(8)守護進程,在系統引導時啟動,這是Darwin的通知伺服器。
Entitlement可以將一些表現行為良好的應用程序單獨從監禁中釋放出來。
❷ .fseventsd是什麼
你肯定把卡接到蘋果的os系統下使用過,蘋果os系統,在插入外接u盤、卡的時候,會自動創建.fseventsd、.Spotlight-V100、.Trashes三個隱藏文件夾,不用擔心,不是病毒,但我總感覺蘋果太不仗義!每次都自動建立這三個文件夾,每次刪除了,只要再插入os系統的機器,就又會重新建立!不想要,刪掉就成。
❸ 如何備份mac系統
1、將一個格式化後的外置硬碟驅動器連接到Mac電腦上。使用驅動器提供的數據線(通常版是USB、Lightning或eSATA數據線)權,來將驅動器連接到電腦。
❹ 蘋果電腦怎麼備份
蘋果電腦在Leopard操作系統中自帶了一個叫時間機器(Time Machine)的軟體,用於數據備份和恢復。既然70-80%的用戶都不做備份,為什麼蘋果要在Leopard中隆重推出時間機器這個新功能呢?況且,在Mac OS X上本身就已經有了不少備份工具。下面介紹一下MAC蘋果電腦數據備份和數據恢復方法以及時間機器(Time Machine)的優勢及使用方法。
在進一步講述時間機器前,不妨回顧一下Mac OS 10.4下蘋果自帶一些備份工具,以及它們的備份方法。
1.Finder
Finder的工具欄里具有復制功能。通過Finder把一個文件夾從硬碟挪到移動硬碟或共享宗卷的過程,誰說不是一種備份方法呢。但是,這種備份很大的局限性。首先,通過Finder配合滑鼠把文件或文件夾復制到另一個磁碟或路徑下,一些重要信息或丟失或改變,這包括文件或文件夾的所有人信息,替身的所有人信息等等。第二,即使把一個能夠用於啟動的硬碟下的所有文件和文件夾用Finder挪到另一個磁碟,仍然不能得到一個能夠啟動的系統。第三,Finder本身沒有提供定時或自動復制等功能。第四,作為一個簡單的復制過程,沒有比較高級的機制來提高復制的速度。
2.磁碟工具
磁碟工具可用來製作映像,這個功能允許用戶把整個硬碟做成映像儲存到其他磁碟或共享宗卷中。映像不外乎是個 dmg或sparseimage文件或者說是一個特殊的文件包,雖然在系統癱瘓時,可以用磁碟工具里的恢復(Restore)功能把硬碟用映像重新復制,但是這個映像本身不能直接啟動。換句話說,你系統不能啟動,但你有個原系統的dmg映像,你可以用這個映像使系統恢復到製作映像時的狀態,但卻不能馬上讓系統啟動,因為恢復本身要花一、兩個小時或更長時間。
當然,利用磁碟工具的恢復功能,你可以進行整盤克隆,把一個硬碟里的東西,完整地復制到另一個硬碟中去。當系統出現故障時,你換上克隆的硬碟或通過火線(Firewire)連接那個克隆硬碟,就可以用該克隆啟動,你就可以馬上使用機器。
但是,Mac OS X下的各個版本的磁碟工具功能不盡相同。用於PPC構架的磁碟工具不能對目前正在運行的系統盤製作映像或直接作整盤克隆。你需要使用其他啟動硬碟或光碟來啟動,然後再對原先的啟動盤進行備份,而這個備份結果往往需要儲存到第三個磁碟上。假設你用系統安裝DVD來啟動,對機器的內置硬碟進行備份,其備份儲存到某個移動硬碟上,DVD、內置和移動硬碟加在一起就是三個盤。用於Intel構架的磁碟工具則必須使用正在運行當中的系統來做整盤克隆。如果用系統安裝 DVD啟動後,DVD內部的磁碟工具不允許你選擇目標或源宗卷。但是即使用正在運行的系統中的磁碟工具對自身進行整盤克隆,其結果雖然也是個能夠啟動的盤,但是你會發現備份系統中的隱含文件和文件夾居然都變為可見,這說明Intel構架的磁碟工具在復制中還是有遺漏。另外磁碟工具本身也沒有提供任何的定時進行自動備份的機制。
3.Apple Backup
Apple Backup本身不是隨機就有的,它本身是為.mac用戶進行遠程備份而設計的,但是也允許用戶選擇其他的媒介對備份文件進行儲存。Apple Backup帶有定時功能,用戶可以設定時間自動備份。但是,Apple Backup 不能夠對整個系統進行備份。換句話說,一旦發生硬碟問題,整個系統癱瘓了,用戶必須先恢復系統,然後才能用Apple Backup對文件恢復。
4.NetInstall
NetInstall是遠程安裝工具需要Mac OS X Server(伺服器)來支持。其本身的目的是便於批量安裝機器,而不是備份。但是實現NetInstall的步驟包括做網路啟動盤映像。這個映像需要用 OS X伺服器版專門的image軟體來製作,與dmg文件不同,因為其中含有網路內容。
5. Unix和蘋果系統命令
除了以上軟體以外,Mac OS X系統里帶了一些Unix或蘋果自己的系統命令,比如:cp、ditto、rsync、asr,甚至hdiutil的映像的功能。但是這些命令有其適用條件,並不是所有的命令都可以把文件或文件夾得所有屬性進行復制。而且對於多數用戶來說,對命令實在是不知如何下手。
從恢復的角度上來說,從Mac OS 10.1到Mac OS 10.4,蘋果沒有給用戶提供更多的方便。Finder只有一層undo,結果,一旦用戶把文件或文件夾誤拉到廢紙簍,不及時undo的話,就沒法復位。(當然,第三方軟體或可幫助)。如果系統出錯,在Windows下有一個恢復(Recovery)功能,允許用戶在再次啟動時,系統自動檢測並恢復。 Windows下還可以允許用戶選用最後一次順利登錄的信息來登錄,而這些Mac系統也不具備。
於是,Time Machine,做為一種備份工具,一方面彌補了以前版本Mac OS X的不足,一方面擁有新的技術解決了其他系統或備份軟體所不能解決的問題,外加其超酷的用戶界面和廣為人知的噱頭,粉墨登場了。
蘋果Time Machine的作用機理是這樣的:
用戶在第一次啟動Time Machine以後,該軟體將做整盤克隆。以後每個小時,Time Machine就對Mac OS X系統的FSEvents(文件系統事件)進行交流看看系統發生了什麼變化。FSEvents進程對系統的所有變化進行持續的追蹤。當發現過去一小時的系統變化以後,Time Machine對那些變化的文件進行備份。以後每天會將頭一天的小時備份自動清除,每周會將上一周的每天備份自動清除。這樣在它節約了備份空間的同時,保持了一套完整的系統備份。
Time Machine根據FSEvents提供的信息,對有變化的文件做出備份,這本身屬於漸進備份(incremental backup),它還對沒有變化的文件製造一個硬性鏈接(Hard Link)。從文件系統的角度來看,一個文件在磁碟上不過就是一堆數據,文件目錄通過硬性鏈接將這對數據與文件目錄聯系起來。如果刪除了這個硬性鏈接,用戶就不能找到這個文件,雖然此時文件可能還良好地存在於磁碟上。在Mac OS X下通過Finder的清空廢紙簍(Empty Trash)的功能來刪除文件其實就是把文件的硬性鏈接刪除了。如果使用恢復性的軟體,被如此「刪除」的文件只要在磁碟上沒有被新文件所覆蓋,仍有可能被找回來。
在通常的文件系統和磁碟格式下,一個文件只有一個硬性鏈接。而蘋果為了這個新功能把磁碟格式進行了修改,使其允許一個文件存在多個硬性鏈接。硬性鏈接其實就是指針,在備份中儲存指針比備份文件既省時又節省空間。而且,由於這些指針的存在,通過用戶界面,你可以調出某個時間內的系統所有文件來。
蘋果電腦Time Machine與現有的備份系統相比具有很多優勢:
1。使用Time Machine只需要進行一次整盤克隆,這比每次使用磁碟工具、SuperDuper或Carbon Copy Cloner省時省力。
2。Time Machine能夠持續地保持操作系統的完整性和既往文件史。你再不用擔心把文件誤挪到廢紙簍以後不知道應該把它還原到什麼路徑中去。誤刪的文件,只要在系統中存在超過一個小時,你還能找回來。
3。Time Machine不用你在設定備份時間或選擇備份的內容,因為它是作用於整個系統,而且是持續運行的。當然,你在某一刻不想備份某些文件時,可以關掉Time Machine.
4。Time Machine由於使用FSEvents,不需要掃描硬碟,備份是使用的系統資源較少。
5與Windows Shadow Copy技術不同,Windows允許用戶恢復到過去的系統狀態,但是恢復以後,新的狀態就沒有了。而Time Machines可以讓你在歷史和現在之間往返。
使用蘋果電腦Time Machine應該注意些什麼?
1。最好在初始裝機後,就啟動Time Machine,因為做整盤克隆需要一定的時間,初始裝機後內容最少,此時開啟Time Machine可以節約很多時間。
2。Time Machine對於未改動的歷史文件,採用的是硬性鏈接。如果在啟動Time Machine時,該文件就損壞(corrupt)了,以後也好不了。
3。如果你有不可告人的文件,建議你不要使用Time Machine。上面曾經提到了文件刪除的機理,硬性鏈接就是個指針,只要有指針存在,文件就可以找到。換句話說,當一個文件存在多個指針時,你要把所有的指針都刪除,磁碟上的文件才調不出來。雖然Time Machine里的確有功能能夠讓你將某個文件的所有備份都刪除,但是,如果您這樣的文件太多,是不是夠你喝一壺的?如果你要刪除你前男/女朋友的聊天記錄或照片,還和人家交往曠日已久的話,那可有你刪的了。此時,不如把你的備份盤格掉,重新啟動Time Machine做整盤克隆。
4。Time Machine可以在系統崩潰時幫你恢復。但是,如果你的備份硬碟出現的問題,Time Machine幫不了你。
5。Time Machine每一個小時備份一次,如果你正好在那個時間間隔里創立了一個文件,並誤刪。使用Time Machine不能幫你解決問題。
6。Time Machine能不能用來備份bootcamp所分的Windows扇區的東西?如果你不運行Mac OS,Time Machine都沒啟動,那肯定就不能。如果運行了Mac OS,我還沒試過,不知道Time Machine 能否備份已經裝載的共享宗卷(Mounted Sharepoint)的內容,感覺上應該是不可以,應該是已經超出了你系統的FSEvents所能控制的范圍。
7。Time Machine的備份自身不能啟動。因此最好在你要承載備份的硬碟上分個區,在系統首次運行Time Machine以後,在另一個區做一個整盤備份。這樣,一旦系統出現問題,可以使用你的整盤備份啟動,繼續你的工作