我们正在努力恢复Google Play商店上的Unionpedia应用程序
传出传入
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

Kexec

指数 Kexec

kexec(kernel execution,类似于Unix或Linux的系统调用)是Linux内核的一种机制,它允许从当前运行的内核启动新内核。kexec会跳过由系统固件(BIOS或UEFI)执行的引导加载程序阶段和硬件初始化阶段,直接将新内核加载到主内存并立即开始执行。这避免了与完全重新启动相关的漫长时间,并且可以通过最小化停机时间来帮助系统满足高可用性要求。 虽然可行,但使用kexec等机制会带来两大挑战:.

目录

  1. 16 关系: 停机时间内核啟動程式BIOS系统调用紅帽公司統一可延伸韌體介面随机存取存储器超级用户IBMKdumpKspliceLinuxLinux内核UNIX數位簽章

  2. Linux内核功能

停机时间

停机时间(downtime)是指系统不能进行操作的时段。然而,高度计算能力可以帮助公司很快的从系统崩溃中恢复过来,相比之下,错误包容性则既保证了不间断的可用性,又缩短了恢复时间。.

查看 Kexec和停机时间

内核

在計算機科學中,核心(kernel)又稱--,是一個電腦程式,用來管理軟體發出的資料I/O(輸入與輸出)要求,將這些要求轉譯為資料處理的指令,交由中央處理器(CPU)及電腦中其他電子元件進行處理,是現代操作系统中最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的。所以内核通常提供一种硬件抽象的方法,来完成这些操作。通过进程间通信机制及系统调用,应用进程可间接控制所需的硬件资源(特别是处理器及IO设备)。 严格地说,内核并不是计算机系统中必要的组成部分。程序可以直接地被调入计算机中执行;这样的设计,说明了设计者不希望提供任何硬件抽象和操作系统的支持;它常见于早期计算机系统的设计中。最终,一些辅助性程序,例如程序加载器和调试器,被设计到机器核心当中,或者写入在只读记忆体里。这些变化发生时,操作系统内核的概念就渐渐明晰起来了。.

查看 Kexec和内核

啟動程式

引导--程序(boot loader)位于電腦或其他計算機應用上,是指引导作業系統的程序。啟動程式啟動方式及程序視應用機型種類而不同。例如在普通的个人电脑上,引导程序通常分为两部分:第一阶段引导程序位于主引导记录(MBR),用以引导位于某个分区上的第二阶段引导程序,如NTLDR、BOOTMGR和GNU GRUB等。 BIOS開機完成後,bootloader就接手初始化硬體設備、建立記憶體空間的映射,以便為作業系統內核準備好正確的軟硬體環境。 簡單的bootloader的虛擬組譯碼,如其後的八個指令: 但是随着计算机操作系统越来越复杂,位于主引导记录的空间已经放不下引导操作系统的代码,于是就有了第二阶段的引导程序,而MBR中代码的功能也从直接引导操作系统变为了引导第二阶段的引导程序。對於UEFI系統,已由EFI應用程式(即EFI分割區中.efi檔案)取代MBR和PBR,UEFI會載入啟動程式.efi檔案,再由啟動程式載入作業系統。MBR和PBR程式通常是用組合語言編寫的,會調用BIOS中斷呼叫;而.efi檔案則是PE格式的檔案,可用C語言編寫。 在计算机中, 引导或者引导程序是计算控制系统的一个初始化过程。引导过程可以使“硬引导”,如:开机通电后硬件诊断;也可以使“软引导”,此时会跳过开机自启。一些系统中软启动过程中,RAM可以不清零。软启动和硬启动都可以通过硬件发起,如按下电源开关;也可以通过软件命令来进行。当正常、有效的运行环境达到后,启动完成。 引导装载程序是计算机开机自检完成后装载操作系统或者其他系统软件的计算机程序。自检完成后运行引导装载程序,然后再加载并运行软件。引导装载程序可以从永存体(硬盘)装载到主内存中。一些老计算机中,引导装载程序可以从打孔卡、穿孔纸带、或者磁带中加载到主内存中。启动装载程序加载且执行完成启动的程序。和POST程序相似,启动装置代码可以存储在永久存储体位置中,也可以为硬连线的形式。 当代通用计算机中,启动过程通常包含开机自检、定位以及初始化外围设备、然后找到、加载、并开始一个操作系统。睡眠和休眠过程不包含启动。一些嵌入式系统不要求可察的启动序列,可以直接运行存储在ROM中的可运行程序。所有计算机系统都是状态机,只有重启才可能返回到初始状态。 引导在英文中为"boot",是bootstrap的缩写,源自于短语"pull oneself up by one's bootstraps",即"靠自己振作起来"。如果大部分软件需要通过其他已运行的程序加载到计算机中,则必须存在一个将初始软件加载到计算机中的机制。 各种类型的只读内存可以解决此类的矛盾体——允许计算机带有可被擦除的启动程序。随着ROM容量的变大,更加精细的启动程序得以实现。.

查看 Kexec和啟動程式

BIOS

BIOS(Basic Input/Output System的縮寫、中文:基本輸入輸出系統),在IBM PC相容系統上,是一种業界標准的韌體介面。。BIOS这个字眼是在1975年第一次由CP/M操作系统中出现。BIOS是个人电脑启动时加载的第一个软件。 BIOS用於電腦開機時執行系统各部分的自我檢測(Power On Self Test),並載入引导程序(IPL)或儲存在主記憶體的作業系統。此外,BIOS還向作業系統提供一些系统參數。系统硬體的變化是由BIOS隱藏,程序使用BIOS功能而不是直接控制硬體。現代作業系統會忽略BIOS提供的抽象層並直接控制硬體元件。.

查看 Kexec和BIOS

系统调用

在電腦中,系統調用(system call),又稱為系統呼叫,指運行在使用者空間的程序向操作系統內核請求需要更高權限運行的服務。系統調用提供用戶程序與操作系統之間的接口。大多數系統交互式操作需求在內核態執行。如設備IO操作或者進程間通信。.

查看 Kexec和系统调用

紅帽公司

Red Hat,中文譯為紅帽,是美國一家以開發、販售Linux套件並提供技術服務為業務內容的企業,其著名的產品為Red Hat Enterprise Linux。 在1990年代末期,Linux以自由軟體且開放原始碼為號召,試圖挑戰商業且閉源的Windows在作業系統市場的霸主地位之際,Red Hat所推出的Linux系統與軟體整合套件Red Hat Linux適時回應了市場的需求,從而奠定了Red Hat在Linux業界的旗手地位。截至2008年,Red Hat仍是提供Linux整合服務的同類企業中規模最大的公司。Red Hat於1999年8月11日在纳斯达克上市,2005年12月19日纳入納斯達克100指數,2006年12月12日轉到紐約證券交易所掛牌。.

查看 Kexec和紅帽公司

統一可延伸韌體介面

統一可延伸韌體介面(Unified Extensible Firmware Interface,缩写UEFI)是一种個人電腦系统規格,用來定義作業系統與系統固件之間的軟件界面,作為BIOS的替代方案。可扩展固件接口負責加電自檢(POST)、联系作業系統以及提供連接作業系統與硬體的介面。 UEFI的前身是Intel在1998年开始開發的Intel Boot Initiative,后来被重命名为可延伸韌體介面(Extensible Firmware Interface,缩写EFI)。Intel在2005年将其交由统一可扩展固件接口论坛(Unified EFI Forum)來推廣與發展,為了凸顯這一點,EFI也更名為UEFI(Unified EFI)。UEFI论坛的創始者是11家知名電腦公司,包括Intel、IBM等硬件廠商,軟件廠商Microsoft,及BIOS廠商、Insyde及Phoenix。.

查看 Kexec和統一可延伸韌體介面

随机存取存储器

随机存取存储器(Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以隨時读写(重新整理時除外,見下文),而且速度很快,通常作为操作系统或其他正在运行中的程式的临时資料存储媒介。 主記憶體(Main memory)即電腦內部最主要的記憶體,用來載入各式各樣的程式與資料以供CPU直接執行與運用。由於DRAM的性價比很高,且擴展性也不錯,是現今一般電腦主記憶體的最主要部分。2014年生產電腦所用的主記憶體主要是DDR3 SDRAM,而2016年開始DDR4 SDRAM逐漸普及化,筆電廠商如華碩及宏碁開始在筆電以DDR4記憶體取代DDR3L。.

查看 Kexec和随机存取存储器

超级用户

超级用户()在计算机操作系统领域中指一种用于进行系统管理的特殊用户,其在系统中的实际名称也因系统而异,如root、administrator与supervisor。 为了使病毒、恶意软件与普通的用户错误不对整个系统产生不利的影响,在系统里日常任务都是由无法进行全系统变更的普通用户账户所完成。在组织机构中,管理权限一般都预留给经验丰富的授权人士使用。.

查看 Kexec和超级用户

IBM

国际商业机器股份有限公司(International Business Machines Corporation,首字母縮略字:IBM,曾译万国商用机器公司)是美國一家跨國科技公司及諮詢公司,總部位於紐約州阿蒙克市。IBM主要客户是政府和企业。IBM生产并销售计算机硬件及软件,并且为系统架构和网络托管提供咨询服务。截止2013年,IBM已在全球拥有12个研究实验室和大量的软件开发基地。IBM雖然是一家商業公司,但在材料、化学、物理等科学领域卻也有很高的成就,利用這些學術研究為基礎,发明很多产品。比较有名的IBM发明的产品包括硬盘、自動櫃員機、通用产品代码、SQL、关系数据库管理系统、DRAM及沃森。.

查看 Kexec和IBM

Kdump

kdump是Linux内核的一个功能,可在发生内核错误时创建核心转储。当被触发时,kdump会导出一个内存映像(也称为vmcore),该映像可用于调试和确定崩溃的原因。 主内存的转储映像作为可执行与可链接格式(ELF)对象导出,可以在处理内核崩溃时通过/proc/vmcore直接访问,也可以自动保存到本地可访问的文件系统、 裸设备或通过网络访问的远程系统。.

查看 Kexec和Kdump

Ksplice

Ksplice是Linux核心的一個延伸套件,為自由軟體,採GPLv2方式釋出。這個套件能夠為正在運行中的內核加入安全性修補程式(patch)而不需要進行重開機(reboot)。這個延伸套件可以減少停機時間(down time),增進可用性。但是Ksplice支援的修補程式,只限於那些沒有對核心的資料結構進行顯著改變的修改。.

查看 Kexec和Ksplice

Linux

Linux( )是一種自由和開放源碼的類UNIX作業系統。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。,在加上使用者空間的應用程式之後,成為Linux作業系統。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多數Linux系統還包括像提供GUI的X Window之類的程序。除了一部分專家之外,大多數人都是直接使用Linux發行版,而不是自己選擇每一樣組件或自行設置。 Linux嚴格來說是單指作業系統的内核,因作業系統中包含了許多用戶圖形介面和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,內核則改以Linux内核稱之。由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将其组合系统命名为GNU/Linux,但Linux不屬於GNU計劃,這個名稱並沒有得到社群的一致認同。 Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统。目前Linux已经被移植到更多的计算机硬件平台,远远超出其他任何操作系统。Linux可以运行在服务器和其他大型平台之上,如大型主机和超级计算机。世界上500个最快的超级计算机90%以上运行Linux发行版或变种,包括最快的前10名超级电脑运行的都是基于Linux内核的操作系统。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。在移动设备上广泛使用的Android操作系统就是建立在Linux内核之上。 通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其衍生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE等。Linux发行版包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。个人计算机使用的Linux发行版通常包含X Window和一个相应的桌面环境,如GNOME或KDE。桌面Linux操作系统常用的应用程序,包括Firefox网页浏览器、LibreOffice办公软件、GIMP图像处理工具等。由于Linux是自由软件,任何人都可以创建一个符合自己需求的Linux发行版。.

查看 Kexec和Linux

Linux内核

Linux内核(Linux kernel),是一种开源的类Unix操作系统宏内核。整个 Linux 操作系统家族基于该内核部署在传统计算机平台(如个人计算机和服务器,以 Linux 发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA 接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。工作于平板电脑、智能手机及智能手表的 Android 操作系统同样通过 Linux 内核提供的服务完成自身功能。尽管于桌面电脑的占用率较低,基于 Linux 的操作系统统治了几乎从移动设备到主机的其他全部领域。截至2017年11月,世界前500台最强的超级计算机全部使用 Linux。 Linux内核最早是于1991年由芬兰黑客林納斯·托瓦茲为自己的个人电脑开发的,他当时在 Usenet 新闻组comp.os.minix登载帖子,这份著名的帖子标志着Linux内核计划的正式开始。如今,该计划已经拓展到支持大量的计算机体系架构,远超其他操作系统和内核。它迅速吸引了一批开发者和用户,利用它作为其他自由软件项目的核心,如著名的 GNU 操作系统。 在计划的早期,一些 Minix 的黑客提供了协助。而今天,Linux 内核已接受了超过1200家公司的近12000名程序员的贡献,其中包括一些知名的软硬件发行商。 从技术上说,Linux 只是一个符合 POSIX 标准的内核。它提供了一套应用程序接口(API),通过接口用户程序能与内核及硬件交互。仅仅一个内核并不是一套完整的操作系统。有一套基于 Linux 内核的完整操作系统叫作Linux 操作系统,或是GNU/Linux(在该系统中包含了很多 GNU 计划的系统组件)。 Linux 内核是在GNU通用公共许可证第2版之下发布的 (加上一些非自由固件、blob 与各种非自由许可证),是一个开源项目协作的突出例子。它的版本支持根据版本最长可达6年,貢獻者遍佈世界各地,日常开发相关的讨论在上。.

查看 Kexec和Linux内核

UNIX

UNIX,一种计算机操作系统,具有多任务、多用户的特征。于1969年,在美国AT&T公司的贝尔实验室开发類UNIX(UNIX-like)。.

查看 Kexec和UNIX

數位簽章

數位簽章(又称公鑰數位簽章,Digital Signature)是一種類似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证,但法條中的電子簽章與數位簽章,代表之意義並不相同,電子簽章用以辨識及確認電子文件簽署人身分、資格及電子文件真偽者。而數位簽章則是以數學演算法或其他方式運算對其加密,才形成電子簽章,意即使用數位簽章才創造出電子簽章。 数字签名不是指将签名扫描成数字图像,或者用触摸板获取的签名,更不是落款。 数字签名了的文件的完整性是很容易验证的(不需要骑缝章、骑缝签名,也不需要笔迹鑑定),而且数字签名具有不可抵赖性(即不可否認性),不需要笔迹专家来验证。.

查看 Kexec和數位簽章

另见

Linux内核功能