徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
安装
比浏览器更快的访问!
 

System.map

指数 System.map

在Linux中,System.map檔案是被内核所使用的符号表。 符號表是一個在符號名稱與它們的記憶體位置間的查詢表格。符號名稱可能是變數的名稱或是函數名稱。當要查詢符號名稱的位置或是特定位置的符號名稱時,就會需要System.map。對於内核错误及内核oops的除錯特別有用。當CONFIG_KALLSYMS啟用時,核心會自行做位置到名稱的轉換,所以像是ksymoops這一類的工具並不是必要的。.

9 关系: 内核内核错误符号表LinuxLinux内核Linux内核oopsSVGALibUnameUNIX

内核

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

新!!: System.map和内核 · 查看更多 »

内核错误

内核错误(Kernel Panic)是指操作系统在监测到内部的致命错误,并无法安全处理此错误时采取的动作。这个概念主要被限定在Unix以及类Unix系统中;对于Microsoft Windows系统,等同的概念通常被称为蓝屏死机。 操作系统内核中处理Kernel panic的子程序(在AT&T衍生类以及BSD类Unix中,通常称为panic())通常被设计用来向控制台输出错误信息,向磁盘保存一份内核内存的转储,以便事后的调试,然后等待系统被手动重新引导,或自动重新引导。该程序提供的技术性信息通常是用来帮助系统管理员或者软件开发者诊断问题的。 操作系统试图读写无效或不允许的内存地址是导致内核错误的一个常见原因。内核错误也有可能在遇到硬件错误或操作系统BUG时发生。在不同情况中,操作系统可以在内存访问违例发生时继续运行。然而,系统处于不稳定状态时,操作系统通常会停止工作以避免造成破坏安全和数据损坏的风险,并提供错误的诊断信息。 内核错误在早期的Unix系统中被引入,显示了在Unix与Multics在设计哲学上的主要差异之一。Multics的开发者Tom van Vleck曾引述了一段在这个问题上与Unix开发者Dennis Ritchie的讨论: 原始的panic()函数从UNIX第五版开始到基于VAX的UNIX 32V期间几乎没有变化,只是输出一条错误信息,然后就使系统进入NOP的死循环中。当改进UNIX的基础代码的时候,panic()函数也有所改进,可以向控制台输出多种格式的调试信息。.

新!!: System.map和内核错误 · 查看更多 »

符号表

在计算机科学中,符号表是一种用于语言翻译器(例如编译器和解释器)中的数据结构。在符号表中,程序源代码中的每个标识符都和它的声明或使用信息绑定在一起,比如其数据类型、作用域以及内存地址。.

新!!: System.map和符号表 · 查看更多 »

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发行版。.

新!!: System.map和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年,貢獻者遍佈世界各地,日常开发相关的讨论在上。.

新!!: System.map和Linux内核 · 查看更多 »

Linux内核oops

oops是Linux内核發生不正確的行為並產生一份錯誤報告。多種類型的oops導致眾所周知的内核错误,但部分oops也允許繼續操作,但可靠度會打折扣。這個術語僅僅代表了一個簡單的錯誤。 當核心檢測到問題時,它會列印一個oops訊息然後殺死全部相關行程。oops訊息可以幫助Linux核心工程師進行调试,檢測oops出現的條件,並修復導致oops的程式錯誤。 Linux官方核心文件中提到的oops訊息被放在核心原始碼Documentation/oops-tracing.txt中。部份記錄程式的設定可能會影響收集oops訊息。 若系統遇到了oops,一些內部資源可能不再可用。即使系統看起來運作正常,非預期的副作用可能導致活動行程被終止。若系統試圖使用無法使用的資源,核心oops常常導致核心錯誤。 Kernelloops提到了一種用於收集和提交oops到 http://www.kerneloops.org/ 的軟體。Kerneloops.org同時也提供了oops的統計資訊。 對於不熟悉電腦及作業系統的人來說,「oops訊息」可能會難以理解。不像Windows或OS X等作業系統,Linux尚未具備顯示一個簡單且易懂的訊息來代表核心的當機。.

新!!: System.map和Linux内核oops · 查看更多 »

SVGALib

svgalib是一套運行於Linux及FreeBSD下的開放原始碼低階繪圖函式庫,它允許程式設計人員變更視訊模式及全螢幕圖像,許多熱門的電腦遊戲如Quake及Doom都源自此技術。 svgalib在1990年代中期開始並遍,但到2000年之後,多數使用此技術的應用都漸次轉移到了X11 and SDL(Simple DirectMedia Layer)上。 本函式庫很容易使用,可以參考以下程式範例片段:.

新!!: System.map和SVGALib · 查看更多 »

Uname

uname(unix name的简写)是一个Unix和类Unix操作系统上的程序,可以打印当前计算机和操作系统的名称、版本及其他细节。uname系统调用和命令第一次出现在PWB/UNIX上。这两个由POSIX指定。 一些Unix变种,如AT&T System V3.0版,包含了相关的setname程序,用来改变uname报告的值。 GNU版本的uname包含在“sh-utils”或“coreutils”包中。uname本身不是一个独立的程序。 ver command found in operating systems such as DOS, OS/2 and Microsoft Windows is similar to the uname command.

新!!: System.map和Uname · 查看更多 »

UNIX

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

新!!: System.map和UNIX · 查看更多 »

传出传入
嘿!我们在Facebook上吧! »