0513 深入windows server 2008 系統核心

51
深深 Windows Server 2008 深深深深 深深深 深深深深深深深深 [email protected] http://teacher.allok.com.tw MCP, MCP+I, MCSA, MCSE,MCDBA, MCAD, MCSD, MCT, MVP

Upload: timothy-chen

Post on 25-May-2015

3.638 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 0513 深入Windows Server 2008  系統核心

深入 Windows Server 2008 系統核心

曹祖聖台灣微軟資深講師[email protected]://teacher.allok.com.twMCP, MCP+I, MCSA, MCSE,MCDBA, MCAD, MCSD, MCT, MVP

Page 2: 0513 深入Windows Server 2008  系統核心

大綱

• 硬體平台支援

• 行程與執行序

• I/O 與檔案系統

• 記憶體管理

• 開機與關機

• 穩定性與系統復原

• 安全性

Page 3: 0513 深入Windows Server 2008  系統核心

大綱

• 硬體平台支援

• 行程與執行序

• I/O 與檔案系統

• 記憶體管理

• 開機與關機

• 穩定性與系統復原

• 安全性

Page 4: 0513 深入Windows Server 2008  系統核心

核心的重大改變• Windows Server 2008 同時有 32 位元與 64 位元版本

• 64 位元版本包含了 :• x64 (AMD64, Intel 64) • i64 (Itanium)

• 這也是最後一版的 32 位元 Windows Server 作業系統

• Windows Server 2008 R2 只會有 64 位元版 !

• 在 Windows Server 2008 中,單處理器核心與多處理器核心已經沒有差異

• 多處理器伺服器已經成為主流

Page 5: 0513 深入Windows Server 2008  系統核心

Dynamic Partitioning

• 在過去,伺服器硬體的升級或維護,往往需要重新開機,造成停機時間增加

• Windows Server 2008 透過硬體支援,減少因為硬體升級或維護造成的重新開機的次數

•Hot plug PCI Express• 在 Windows Server 2003 上可以透過硬體廠商的工具來進行熱插拔

• 記憶體熱插拔

• 處理器熱插拔

Page 6: 0513 深入Windows Server 2008  系統核心

硬體錯誤報告

• 在過去,硬體的錯誤並沒有一個標準的管道進行回報•沒有任何硬體錯誤回報的標準

•核心中並沒有一套收集與回報硬體錯誤的機制

• Windows Server 2008 內建硬體錯誤報架構 Windows

Hardware Error Architecture (WHEA)

•透過外掛支援各類型的硬體錯誤標準

•所有錯類型使用一致的錯誤格式

•方便查詢錯誤來源

Page 7: 0513 深入Windows Server 2008  系統核心

Windows 虛擬化技術

Windows Hypervisor

Windows 平台中內建的虛擬技術

VirtualizationPlatform andManagement

Management tools

VM 2VM 2“Child”“Child”

VM 1VM 1“Parent”“Parent”

VM 2VM 2“Child”“Child”

Page 8: 0513 深入Windows Server 2008  系統核心

大綱

• 硬體平台支援

• 行程與執行序

• I/O 與檔案系統

• 記憶體管理

• 開機與關機

• 穩定性與系統復原

• 安全性

Page 9: 0513 深入Windows Server 2008  系統核心

時間統計• 在過去,使用內部的計時器來計算 CPU 時間

• 10 - 15 ms

• 執行序的執行時間並不是完全公平• 執行序最少會取得幾乎不到一個回合的時間,

最多三個回合的時間

• 執行序執行過程中被中斷的時間,仍然算到該執行序的時間

閒置閒置 T1T1 T2T2

T1 & T2 T1 & T2 等待執行等待執行 ; ; T1 T1 開始執行開始執行

時間片斷間隔時間片斷間隔

Page 10: 0513 深入Windows Server 2008  系統核心

Time Stamp Counter (TSC)

• Windows Server 2008 會讀取 Time Stamp Counter (TSC) ,做為切換執行序的依據

•執行序真正消耗的 CPU 週期才會被計算•被中斷的時間不算

• 允許更為精確的時間分配與計算•執行序最少會取得一個回合的時間,最多一個回合的時間 + 1 tick

•更為精確的計算執行序真正執行的時間

閒置閒置 T1T1 T1T1

時間片斷間隔時間片斷間隔

T2T2

Page 11: 0513 深入Windows Server 2008  系統核心

大綱

• 硬體平台支援

• 行程與執行序

• I/O 與檔案系統

• 記憶體管理

• 開機與關機

• 穩定性與系統復原

• 安全性

Page 12: 0513 深入Windows Server 2008  系統核心

I/O Completion Port

• 在過去,每一個 I/O 的完成,都會回傳資訊給發出 I/O 要求的執行序,造成過多的 context switch

• 會造成延遲狀態 ( 如果執行序無法立即處理回應 )

• I/O completion ports 允許執行序更有效率的等待多重 I/O 要求的完成

• 已完成的 I/O 動作會佇列在 completion port

• 可一次回傳多個 I/O 的結果

• Windows Server 2008 只有在執行序去取得 completion port 時,才會做 context switch

• 減少 context switch 的次數,增加效能

Page 13: 0513 深入Windows Server 2008  系統核心

I/O 優先權

• 背景的 I/O ( 例如 : 病毒掃瞄、磁碟重組、… ) 會造成前景的應用程式反應變慢

• 在過去,只能在執行序的 CPU 優先權上做調整

• Windows Server 2008 提供兩類的 I/O 優先權設定 :

• I/O 優先權

• I/O 頻寬保留

• I/O 優先權的功能在 ATAPI 和 USB 儲存裝置驅動程式中實作

Page 14: 0513 深入Windows Server 2008  系統核心

I/O 優先權• I/O 優先權是基於發出 I/O 要求的執行序本身的優先權

,也可以明確指定 I/O 的優先權• 五個等級 : Critical, High, Normal, Low, Very Low

• High 和 Low 這兩個等級沒有實作• Critical 只被用於記憶體管理員

• 儲存在 I/O Request Packet (IRP) 的欄位中• 行程或執行序可以透過呼叫 API 來降低 I/O 優先權

• Windows Server 2008 背景工作會使用到,例如索引、 Windows Defender 掃瞄

Page 15: 0513 深入Windows Server 2008  系統核心

實作 實作 I/O I/O 優先權優先權• 儲存裝置的驅 動程式必須 儲存裝置的驅 動程式必須 ““誠實誠實”” 設定 設定 I/O I/O 優先權優先權

• 在驅動程式等級在驅動程式等級 (IDE, SCSI) (IDE, SCSI) 實作實作 idle I/O priority idle I/O priority ,每秒鐘送出一次的 ,每秒鐘送出一次的 I/O I/O

要求要求

•其它等級其它等級 (hierarchy priority) (hierarchy priority) 由由 ATA ATA 與與 USB USB 驅動程式管理驅動程式管理

應用程式應用程式

儲存裝置儲存裝置

檔案系統檔案系統

磁碟分割磁碟分割

裝置驅動程式裝置驅動程式

Command PortCommand Port

User modeKernel mode

Idle I/O Priority Queue

Hierarchy Priority Queue

Page 16: 0513 深入Windows Server 2008  系統核心

支援 I/O 取消功能

• 在過去, I/O 的開啟是不能取消的• 例如,打開開啟舊檔的對話方塊來瀏覽網路共用資料夾,但是網路連線

中斷,對話方塊會停住不動,直到網路逾時為止

• 在 Windows Server 2008 中, I/O 的開啟與其它同步的 I/O 動作都是可以取消的

• Windows Server 2008 的檔案開啟與儲存對話方塊會實作這個功能

• 伺服器端應用程式可以針對 I/O 實作取消功能,減少前端的逾時等待時間

Page 17: 0513 深入Windows Server 2008  系統核心

自我修復 NTFS 檔案系統

• 在過去, NTFS 發生問題時,必須透過執行 chkdsk 來進行檢查與修復,但是常常需要重新開機

• 在 Windows Server 2008 中,當系統偵測到有 NTFS 檔案或資料夾發生問題時, NTFS 工作執行序 (worker thread) 會在背景進行像 chkdsk 一樣的修復動作

• 不嚴重的磁碟問題在背景就處理掉了,根本不會影響使用者

• 只有發生問題的檔案或資料夾無法存取 ( 在修復過程中 ) ,不像以前的系統在修復時會將整個磁碟鎖住

• 不需要重新開機

Page 18: 0513 深入Windows Server 2008  系統核心

檔案符號連結

• 在過去, NTFS 只支援目錄符號連結

• Windows Vista 的 NTFS 磁碟支援檔案符號連結•類似 UNIX 系統中 ln –s 所做的動作

•有點像磁碟分割區的掛載

• 使用 CreateSymbolicLink API 或 mklink.exe 工具•需要 “Create Symbolic Links” 權限

•mklink.exe 也可以建立永久連結 (hard link)

Page 19: 0513 深入Windows Server 2008  系統核心

SMB2 通訊協定

• SMB 是過去 Windows 網路中用來存取遠端檔案的通訊協定• 無法整合新的 NTFS 功能

• 並不是設計用來傳輸大型的遠端檔案

• SMB2 內建在 Windows Vista 與 Windows Server 2008

• 支援 NTFS 用戶端符號連結

• 所有操作可以批次處理,減少 client/server 之間的來回

• 支援更大的暫存大小,比以前增加 30 到 40 倍的傳輸量

Page 20: 0513 深入Windows Server 2008  系統核心

mklink.exe

Page 21: 0513 深入Windows Server 2008  系統核心

大綱

• 硬體平台支援

• 行程與執行序

• I/O 與檔案系統

• 記憶體管理

• 開機與關機

• 穩定性與系統復原

• 安全性

Page 22: 0513 深入Windows Server 2008  系統核心

動態的系統虛擬位址空間• 在過去,系統虛擬位址空間區分成固定的區域

•未分頁集區、已分頁集區、系統分頁表

• 在 32 位元 Windows Server 2008 中,系統記憶體空間可以視需要指派• 允許更大的未分頁、已分頁、 Session 集區

• 支援更大的終端機伺服器、更大的堆積記憶體

• 在 32 位元系統上,仍然不能使用超過 2GB 的空間

• 系統虛擬記憶體空間的改進 :

• 核心分頁表是動態配置,而不再是開機時配置

• 減少核心堆疊的使用,以允許在終端機伺服器上有更多的使用者

•堆積區可以動態擴展大小,而不需要重新開機

• 在 64 位元的 Windows Server 2008 中,各區域的記憶體位址空間都設定到最大

Page 23: 0513 深入Windows Server 2008  系統核心

記憶體效能與擴展性

• 磁碟使用更有效率• 讀取次數減少、讀取量增大 ( 分頁錯誤、系統快取預讀功能 )

• 不再有 64 KB 的限制,可以做大區塊的 I/O 存取

• 分頁檔可以使用更大的叢集大小• I/O 次數減少• 減少分頁檔碎裂的狀況

• 更有效率的使用 Translation Lookaside Buffer (TLB)

• 支援 Superfetch™ 功能

• 支援 NUMA

Page 24: 0513 深入Windows Server 2008  系統核心

非統一記憶體存取 (NUMA )

• 使用 SMP 時,所有記憶體存取都會公佈到相同共用記憶體匯流排

•這適合只有少數幾個 CPU 的時候使用

•當有幾十個甚至幾百個 CPU 爭相存取共用記憶體匯流排時,效率會很差

• 愈來愈多的應用程式使用 NUMA •Non-Uniform Memory Access (NUMA)

Page 25: 0513 深入Windows Server 2008  系統核心

非統一記憶體存取 (NUMA )

• 硬體的趨勢已走向可提供多個系統匯流排

• 而每一個匯流排都可服務一小組處理器 (節點 )

• 每一節點都有自己的記憶體,或自己的 I/O 通道

• I/O 系統直接將中斷繫結到指定的節點

• 存取本機記憶體會比取與其他 NUMA 節點相關聯的記憶體更快

• 與目前執行之執行緒的 CPU 位於相同節點上的記憶體 本機記憶體

• 不屬於目前執行之執行緒節點的記憶體 外部記憶體 (遠端端記憶體 )

Page 26: 0513 深入Windows Server 2008  系統核心

非統一記憶體存取 (NUMA )

• Windows Server 2008

• 每一個節點在 nonpaged pool 中使用互相不重覆的位址

• 每一個節點都可以引用所有的分頁

• 系統 PTE (Page Table Entry) ,系快取的分頁表配置會平均分散到各個節點

• 硬體與軟體 NUMA

• 支援新的 NUMA APIs ,允許應用程式指定節點數量 ( 記憶體配置、檔案對應 )

• I/O 系統直接將中斷繫結到指定的節點

http://technet.microsoft.com/zh-tw/library/ms178144.aspxhttp://technet.microsoft.com/zh-tw/library/ms345345.aspx

Page 27: 0513 深入Windows Server 2008  系統核心

NUMA NUMA 記憶體配置記憶體配置• 執行緒執行緒 T T 被安排到另一個節點,但是記憶體卻是指到指被安排到另一個節點,但是記憶體卻是指到指

定的節點,這會產生軟分頁錯誤 定的節點,這會產生軟分頁錯誤 (soft page fault)(soft page fault)

TT

節點 #1 節點 #2

CPU 0

CPU 3

CPU 1

CPU 2

CPU 4

CPU 7

CPU 5

CPU 6

理想的 CPU

記憶體

理想的節點

記憶體

Page 28: 0513 深入Windows Server 2008  系統核心

大綱

• 硬體平台支援

• 行程與執行序

• I/O 與檔案系統

• 記憶體管理

• 開機與關機

• 穩定性與系統復原

• 安全性

Page 29: 0513 深入Windows Server 2008  系統核心

新的開機環境 – 支援 UEFI

• x64 Windows Server 2008 支援透過 UEFI 2.0 開機• IA-64 同時支援 EFI 1.1 和 UEFI 2.0

• 使用 Boot Configuration Database (BCD) 取代 boot.ini

• 抽象的韌體

• 統一不同作業系統的安裝

• 使用 Unicode 字串

• BCD 儲存在系統機碼中• 二進位格式

• \Boot\BCD

• 載入 HKLM\BCD00000000

• 機碼受到安全性保護

Page 30: 0513 深入Windows Server 2008  系統核心

Session 平行建立• 在過去, session 的建立是依序進行的

• Session Manager (SMSS) 為每個 session 建立 Winlogon 和 Csrss 行程

• 是 Terminal Services 的瓶頸所在• Winlogon 建立 Local 安全性 Authority (Lsass.exe) 以及 Service Control Manager (Services.exe)

• Windows Server 2008:• SMSS 會建立新的執行個體來初始化每一個 session

• 支援平行 session 建立的功能• 最小的平行 session 啟動是 4 個• 最大值是 CPU 的數目

• Session 0 的 SMSS 執行 Wininit.exe ( 新元件 )• Wininit 負責啟動原本 Winlogon 要啟動的服務、 Lsass、…• 也負責啟動 Local Session Manager (Lsm.exe)

• Session 1-n 的 SMSS 負責建立• 該 session 的 csrss.exe 和 winlogon.exe

Page 31: 0513 深入Windows Server 2008  系統核心

完整的服務關閉• 在過去,服務沒有任何方式可以延長關機的時間

• 在固定逾時時間 (預設是 20 秒 ) 之後, SCM 就會被終止執行,然後系統就當機 (當服務還在執行時 )

•對於需要將快取資料寫入磁碟的服務來說是一個大問題

• Windows Server 2008 的服務可以要求關機通知,並且要求足夠的時間來關機

• SCM 會通知這些服務

• SCM 接下來會等待這些服務進入停止狀態• 預設逾時時間是 3 分鐘• 服務可以進一步延長時間

• 在所有 pre-shutdown 服務都停止之後,剩下的服務就照原本 Windows XP 的方式進行關機

Page 32: 0513 深入Windows Server 2008  系統核心

服務關閉的順序• 在過去,服務無法指定關閉的順序

•但是有些服務有關閉的順序問題

•必須自行解決

• Windows Server 2008 的服務可以指定關閉順序• 使用 SERVICE_ACCEPT_PRESHUTDOWN 來呼叫 SetServiceStatus API

• 服務的名稱必須列在 : HKLM\System\CurrentControlSet\Control\

PreShutdownOrder

• 例如 : Wuauserv (Windows Update Service) 順序高於 Gpsvc

(Group Policy Client Service)

• WindowsUpdate 更新完成後,才會套用群組原則

Page 33: 0513 深入Windows Server 2008  系統核心

Session 0 IsolationSession 0Session 0

WinInitWinInit

RCMRCMLSALSA

Group PolicyGroup Policy

ProfilesProfilesSCMSCM

Other SessionsOther Sessions

WinLogonWinLogon

LogonUILogonUI

Credential Credential Provider 1Provider 1

Credential Credential Provider 2Provider 2

Credential Credential Provider 3Provider 3

Page 34: 0513 深入Windows Server 2008  系統核心

服務延遲啟動 - DelayAutoStart

Page 35: 0513 深入Windows Server 2008  系統核心

大綱

• 硬體平台支援

• 行程與執行序

• I/O 與檔案系統

• 記憶體管理

• 開機與關機

• 穩定性與系統復原

• 安全性

Page 36: 0513 深入Windows Server 2008  系統核心

Kernel Transaction Manager (KTM)

• 在過去,應用程式很難修復因為修改檔案或系統機碼所造成的錯誤

• Windows Server 2008 實作了核心交易管理員 (KTM)• 所有的變更都可以透過交易來控制•其它廠商可以進一步延伸這個功能到其它資源管理員上

• 核心交易管理員會負責協調應用程式與資源管理員的交易• 系統機碼與 NTFS 都支援這項功能

• Windows Update 和 System Protection 都使用這項功能• 透過 DTC 與其它資料來源進行交易處理• Windows Server 2003 R2 開始就支援 Common Log File System (Clfs.sys) 提供有效率的交易記錄

Page 37: 0513 深入Windows Server 2008  系統核心

Windows 錯誤報告

• 在過去,例外處理是在產生例外的行程中執行•如果行程的堆疊嚴重損毀,就會死的不明不白

• Windows Server 2008 會將例外訊息交由 Windows Error Reporting (WER) 服務來處理

•WER 啟動 Werfault.exe ( 取代之前的 Dwwin.exe)•所有行程 crash 都能夠完整記錄並回報

Page 38: 0513 深入Windows Server 2008  系統核心

Improved Crash Dump Support

• 在過去,在系統啓動早期發生的 crash 並不不能產生 crash dump 檔

• Crash dumps 被寫到分頁檔

• 可是在核心初始化之後, Smss 行程尚未開啓分頁檔

• 現在,分頁檔會先開啓,然後再做驅動程式初始化• 因此驅動程式造成的 crash 是可以被 dump 下來的

• 記憶體傾印• 過去 : 完整

•現在 : 核心

Page 39: 0513 深入Windows Server 2008  系統核心

磁碟陰影複製

• 在過去• 無法還原檔案修改或意外刪除

• 系統還原只能保護已知的系統檔案或機碼

• Windows Server 2008 使用磁碟陰影複製來做系統還原與以前的版本

• 過去只能使用在共用資料夾上

• 統一資料檔案與系統檔案的保護機制

• 使用 KTM 來維護跨磁碟快照的一致性

• 快照每天產生一份,或者在建立系統還原點時也會產生一份快照

Page 40: 0513 深入Windows Server 2008  系統核心

記憶體診斷記憶體診斷

硬體診斷

• 避免因為記憶體的不穩定所造成的當機避免因為記憶體的不穩定所造成的當機• 尋找並標示出有問題的記憶體分頁尋找並標示出有問題的記憶體分頁• Windows Memory DiagnosticsWindows Memory Diagnostics

Microsoft Online Crash AnalysisMicrosoft Online Crash Analysis

磁碟錯誤診斷磁碟錯誤診斷

• 減少因磁碟損毀所造成的資料遺失減少因磁碟損毀所造成的資料遺失• 把原本不可預期的磁碟錯誤變成可預先規把原本不可預期的磁碟錯誤變成可預先規劃的劃的

• Windows Disk DiagnosticsWindows Disk Diagnostics

Page 41: 0513 深入Windows Server 2008  系統核心

記憶體診斷以前的版本

Page 42: 0513 深入Windows Server 2008  系統核心

大綱

• 硬體平台支援

• 行程與執行序

• I/O 與檔案系統

• 記憶體管理

• 開機與關機

• 穩定性與系統復原

• 安全性

Page 43: 0513 深入Windows Server 2008  系統核心

Address Space Load Randomization (ASLR)

• 在過去• 核心、 HAL 、執行檔和 DLLs 檔會被載入固定的記憶體位置

•緩衝區溢位的攻擊就是因為系統功能的位址是固定的,所以能夠成功

• Windows Server 2008 核心的功能模組會載入到隨機的記憶體位址 (1/256)

• 作業系統檔案現在包含了重新定位的資訊

• 每次載入時的記憶體位址都不一樣

• 使用者堆疊的位址一樣是隨機的

• 驅動程式、核心、 HAL 的位址也是隨機的

Kernel32Kernel32

NTDLLNTDLL

User32User32

ExeExe

Win2003 #1Win2003 #1

Kernel32Kernel32

NTDLLNTDLL

User32User32

ExeExe

Win2003 #2Win2003 #2

Kernel32Kernel32NTDLLNTDLL

User32User32

ExeExe

Win2008 #1Win2008 #1

Kernel32Kernel32NTDLLNTDLL

User32User32

ExeExe

Win2008 #2Win2008 #2

Page 44: 0513 深入Windows Server 2008  系統核心

• 減少高風險層減少高風險層的大小的大小

• 將服務分區段將服務分區段• 層加安全防護層加安全防護層次層次

使用者權限使用者權限

使用者帳戶控制使用者帳戶控制

低權限服務低權限服務

管理權限管理權限

系統服務系統服務

Windows Server 2008 服務安全強化

核心核心

DD

DD

SS

SS

DD DD DD

SS

SS

DDDD

SS

SS 核心驅動程式核心驅動程式

系統服務系統服務

低權限服務低權限服務

使用者模式驅動程式使用者模式驅動程式

服務安全服務安全強化強化

使用者使用者帳戶控制帳戶控制

Page 45: 0513 深入Windows Server 2008  系統核心

服務安全性加強

• 大部份的服務都會被賦予一個 SID

• SID 預設是停用的,當服務啟動時才會被啟用

•防火牆原則中可以使用服務的 SID 來進行過濾

• 用來設定物件的寫入權限

• 服務的權限設定• 在服務的系統機碼設定中

設定 RequiredPrivileges 值(MULTI_SZ)

服務安全強化服務安全強化

主動式保護主動式保護

檔案系統檔案系統

系統機碼系統機碼

網路網路

Page 46: 0513 深入Windows Server 2008  系統核心

Mandatory Integrity Control (MIC)

• Token 中有 Mandatory Integrity Level (IL) SIDs

• Low (100): 保護模式下的 IE

• Medium (200): LUA 行程

• High (300): 提升權限後的行程

• System (400): 系統行程

• 物件的 ILs 儲存在 SACL 中的 IL ACE

• 行程、執行序、 Access Token 中一定有 IL ACE

• 檔案或機碼如果沒有 IL ACE, IL = Medium

•由 IL=Medium (含 ) 以上的行程所建立的物件, IL = Medium

•由 IL=Low 的行程 ( 例如保護模式 IE) 所建立的物件, IL = Low

Page 47: 0513 深入Windows Server 2008  系統核心

IL 存取檢查

• IL 會在 DACL 之前檢查

• 執行序的 IL 一定要大於等於物件的 IL ,才可以修改該物件

• 執行序可以開啟任何物件進行讀取 :

• 如果該物件不是行程

• 或者是 IL 等於或小於自已的 IL

• Windows 子系統也遵守 IL 規則• 只有查詢的訊息才可以從 LUA 行程送到提升權限的行程

Page 48: 0513 深入Windows Server 2008  系統核心

服務權限控管- sc 指令- RequiredPrivileges

Page 49: 0513 深入Windows Server 2008  系統核心

總結

• Windows Server 2008 核心在效能、擴展性、穩定性與安全性上都有許多改善

•更公平的執行緒執行

•更快速有效的 I/O 機制

•更大、更有效率的記憶體管理

•自我錯誤偵測與修復

•更加安全系統核心

•作業系統直接支援虛擬化機制

Page 50: 0513 深入Windows Server 2008  系統核心

在何處取得 TechNet 相關資訊?• 訂閱 TechNet 資訊技術人快訊

http://www.microsoft.com/taiwan/technet/flash/• 訂閱 TechNet Plus

http://www.microsoft.com/taiwan/technet/• 參加 TechNet 的活動

http://www.microsoft.com/taiwan/technet/• 下載 TechNet 研討會簡報與錄影檔

http://www.microsoft.com/taiwan/technet/webcast/

Page 51: 0513 深入Windows Server 2008  系統核心