第一章 Linux內核簡介

1. Linux是類Unix系統,但他不是Unix。

儘管Linux借鑑了Unix的許多設計並且實現了Unix的API(由Posix標準和其他Single Unix Specification定義的),但Linux沒有像其他Unix變種那樣直接使用Unix的源代碼。

2. Linux系統的基礎是內核、C庫、工具集和系統的基本工具,如登錄程序和Shell。

3. 操作系統是指在整個系統中負責完成最基本功能和系統管理的那些部分。這些部分應該包括內核、設備驅動程序、啓動引導程序、命令行Shell或者其他種類的用戶界面、基本的文件管理工具和系統工具。

4. 內核空間和用戶空間

  • 對於提供保護機制的現代系統來說,內核獨立於普通應用程序,它一般處於系統態,擁有受保護的內存空間和訪問硬件設備的所有權限。這種系統態和被保護起來的內存空間,統稱爲內核空間
  • 與此相對,應用程序在用戶空間執行。它們只能看到允許它們使用的部分系統資源,並且只能使用某些特定的系統功能,不能直接訪問硬件,也不能訪問內核劃給別人的內存範圍,還有其他的一些使用限制。
  • 內核運行的時候,系統以內核態進入內核空間執行。當執行普通用戶程序時,系統以用戶態進入用戶空間執行。

5. 在系統中運行的應用程序通過系統調用來與內核通信。

當一個應用程序執行一條系統調用,就說內核正在代其執行。進一步,這時,應用程序被稱爲通過系統調用在內核空間執行,而內核被稱爲運行與進程上下文中。

6.  在Linux中,中斷服務程序不在進程上下文執行,而在一個與所有進程都無關的、專門的中斷上下文中運行。原因是:爲了保證中斷服務程序能夠在第一時間響應和處理中斷請求,然後快速地退出。

7. 每個處理器在任何指定的時間點上的活動:

  • 運行於用戶空間,執行用戶進程
  • 運行於內核空間,執行進程上下文,代表某個特定進程執行
  • 運行於內核空間,處於中斷上下文,與任何進程無關,處理某個特定的終端

8. 當CPU空閒時,內核就運行一個空進程,處於進程殺下文,但運行於內核空間。

關於IDLE進程的知識,參考網摘:分析linux内核的idle的知识

9. Linux是一個單內核,即Linux內核運行在單獨的內核地址空間上。

不過,Linux汲取了微內核的精華,如模塊化設計、搶佔式內核、支持內核線程以及動態裝載內核模塊的能力。此外,Linux還避其微內核設計上性能損失的缺陷,讓所有的事情都運行在內核態,直接調用函數,無需消息傳遞。

10. Linux內核與傳統的Unix系統之間的差異:

  • Linux支持動態加載內核模塊
  • Linux支持對稱多處理(SMP)機制
  • Linux內核可以搶佔(preemptive)。Linux內核具有允許在內核運行的任務優先執行的能力。
  • Linux內核不區分線程和其他的一般進程。對於Linux內核來說,所有的進程都一樣——只不過是其中的一些共享資源而已。
  • Linux提供具有設備類的面向對象的設備模型、熱插拔事件,以及用戶空間的設備文件系統(sysfs)。

11. Linux內核版本

其中,從版本號如果是偶數,那麼該內核就是穩定版,否則就是開發版。

来自为知笔记(Wiz)

时间: 2024-10-08 07:43:31

第一章 Linux內核簡介的相关文章

第九章 內核同步介紹

1. 隨着2.6版內核的出現,Linux內核已經發展成搶佔式內核,如果不加保護,調度程序可以在任何時刻搶佔正在運行的內核代碼,重新調度其他的進程執行 2. 臨界區或者臨界段:訪問和操作共享數據的代碼段 3. 如果兩個執行線程(指代的是任何正在執行的代碼,如一個在內核執行進程.一個中斷處理程序或者內核線程)處於同一個臨界區中同時執行,就成它是競爭條件(race conditions) 4. 避免併發和防止競爭條件稱爲同步(synchronization). 5. 忙等待:反覆處於一個循環中,不斷檢

Linux内核分析——第一章 Linux内核简介

第一章   Linux内核简介 一.Unix的历史 1.Unix系统成为一个强大.健壮和稳定的操作系统的根本原因: (1)简洁 (2)在Unix中,很多东西都被当做文件对待.这种抽象使对数据和对设备的操作都是通过一套相同的系统调用借口来进行的:open(),read(),write(),lseek()和close(). (3)Unix的内核和相关的系统工具软件是用C语言编写而成.(移植能力) (4)进程创建非常迅速,并且有一个非常独特的fork()系统调用. (5)Unix提供了一套非常简单但又

第二章 從內核出發

1. 內核源碼樹的根目錄描述 目錄 描述 arch 特定體繫結構的代碼 block 塊設備IO層 crypto 加密API Documentation 內核源碼文檔 drivers 設備驅動程序 firmware 使用某些驅動程序而需要的設備固件 fs VFS和各種文件系統 include 內核頭文件 init 內核引導和初始化 ipc 進程間通訊代碼 kernel 像調度程序這樣的核心子系統 lib 通用內核函數 mm 內存管理子系統和VM net 網絡子系統 samples 示例,示範代碼

核心系统命令实战 第一章Linux命令行简介

第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout  快捷键:Ctrl+d 1.1.2 Linux命令行提示符介绍 (1)提示符由PS1环境变量控制.实例代码如下: [[email protected] ~]# set | grep PS1 PS1='[\[email protected]\h \W]\$ ' 这里的PS1='[\[email protected]\h \W]\$ ',可以

CVE-2016-8655,af_packet Linux 內核通殺提權漏洞淺析

簡單寫一下思路 這個東西需要namespace方面的支援, 首先open socket , 一連串路徑(packet_set_ring()->init_prb_bdqc()->prb_setup_retire_blk_timer()->prb_init_blk_timer()->prb_init_blk_timer()->init_timer())後產生 timer object, 搶著在socket close.之前控制po->tp_version 使其走其他路徑搶先

第一章 Linux 最完整安装

实验要求: n 在VMware Workstation 软件中新建一台虚拟机,规划使用的硬盘空间为80G,分配的内存空间为1024M. n 使用DVD镜像文件rhel-server-6.5-x86_64-dvd.iso ,在虚拟机中安装RHEL6系统. n 分区方案选择"使用所有空间". n 软件组选择"基本服务器",并自定义添加"桌面"和"开发工具". n 安装完成后,对RHEL系统进行初始化. 在Vmware Workst

第一章   Linux   基本优化

实验要求: n 设置Linux系统每次开机后自动进入字符模式界面. n 使用ntsysv工具同时调整2.3.4.5运行级别中的服务状态,关闭下列服务:atd.Bluetooth.cup.Postfix. n 使用chkconfig工具调整个别服务中的启动状态. n 将cups服务在运行级别3中默认启动状态下设为关闭. n 将network服务在运行级别3.5中默认启动状态设为启用. n 将Postfix服务在运行级别3.5中默认启动状态设为启用,其余级别设为关闭. n 查看当前系统内存的占用情况

第一章--linux基础

(一):linux系统根文件夹结构 Unix-like系统中的"文件系统"的概念包含两个意思,第一个是"根文件系统",第二个是"存储类文件系统".后者的概念基本等同于windows操作系统,而前者与windows区别较大,他并非用于存储实际文件的.根文件系统简称rootfs,他的特点为: 1:"文件"不仅是指硬盘上的数据,他还包含不论什么设备资源.在Unix-like系统中,全部的硬件设备都被看作是文件,"文件&qu

第一章Linux系统介绍

Linux操作系统由Linux内核和各种外围程序组成. Linux内核是一个特殊的软件程序,用于实现CPU和内存分配.进程调度.设备驱动等核心操作,以面向硬件为主. 外围程序包括分析用户指令的解释器.网络服务程序.图形桌面程序等各种应用型的软件程序,以面向用户为主. Linux内核最初由芬兰大学生李纳斯·托沃兹(linus torvalds)在1991年10月发布,主要使用C语言及一小部分汇编语言开发而成.官方网站是http://www.kernel.org/.内核标识是一个名为tux的小企鹅.