`
diecui1202
  • 浏览: 98496 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

kernel-2 Linux内核简介

阅读更多
  1. 操作系统是指整个系统中负责完成最基本功能和系统管理的那些部分,包括:
    • 内核
    • 驱动程序
    • 启动引导程序
    • 命令行shell或者其它种类的用户界面
    • 基本的文件管理工具和系统工具
  2. 内核通常由:
    • 负责响应中断的中断服务程序
    • 负责管理多个进程从而分享处理器时间的调度程序
    • 负责管理进程地址写意的内存管理程序
    • 网络、进程间通信待系统服务
  3. 对于提供保护机制的现代系统来说,内核独立于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限;这种系统态和被保 护起来的内存空间,统称为内核空间;相对地,应用程序在用户空间执行,它们只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,不能直 接访问硬件等;
  4. 当内核运行的时候,系统以内核态进行内核空间,相反,普通用户程序以用户态进入用户空间;应用程序通过系统调用和内核通过来运行;如下图所示:
  5. 通常情况下:  
    • 应用程序调用库函数(如C库函数);
    • 库函数通过系统调用让内核代其完成各种不同的任务;
    • 应用程序通过系统调用在内核空间运行;而内核运行于进程上下文中;
  6. 当硬件设备想和系统通信的时候,它首先要发出一个异步的中断信号支打断内核正在执行的工作。
    • 中断通常对应着一个中断号,内核通过这个中断号查找对应的中断服务程序,并调用这个程序响应和处理中断;
    • 为了保证同步,内核可以停止中断(既可以停止所有的中断,也可以有选择地停止某个中断号对应的中断);
    • 许多操作系统的中断服务程序都不在进程上下文中执行,它们在一个与所有进程都无关的、专门的中断上下文中执行;这是为了保证中断服务程序能够在第一时间响应和处理中断请求,然后快速地退出;
  7. 处理器的活动范围:
    • 运行于内核空间,处于进程上下文,代表某个特定的进程执行;
    • 运行于内核空间,处于中断上下文,与任何进行无关,处理某个特定的中断;
    • 运行于用户空间,执行用户进程;
    • 例:当CPU空闲时,内核就运行一个空进程,处于进程上下文,但运行于内核空间;
  8. Linux内核与Unix各种变体的内核特点的分析:
    • Linux支持动态加载内核模块。尽管Linux内核是单内核,可是允许在需要的时候动态地卸载和加载部分内核模块;
    • Linux支持对称多处理(SMP)机制,尽管许多Unix的变体也支持SMP,但传统的Unix并不支持这种机制;
    • Linux内核可以抢占(perrmptive);与传统的Unix不同,Linux内核具有允许在内核支持的任务优先执行的能力;
    • Linux对线程支持的实现比较有意思:内核并不区分线程和其他的一般进程。对于内核来说,所有的进程都一样,只不过其中的一些共享资源而已;
    • Linux提供具有设备类的面向对象的设备模型、热插拔事件,以及用户空间的设备文件系统;
    • Linux忽略了一些被认为设计的很拙劣的特性;
    • Linux体现了自由这个词的精髓,即任何改变都要针对现实中确实存在的问题,经过完善的设计并有正确简洁的实现;
分享到:
评论

相关推荐

    kernel-ml-5.11.2内核所有组件集合包

    资源下载于:linux.cc.iitk.ac.in 集合包包含: python-perf-5.11.2-1.el7.elrepo.x86_64.rpm perf-5.11.2-1.el7.elrepo.x86_64.rpm kernel-ml-doc-5.11.2-1.el7.elrepo.noarch.rpm kernel-ml-headers-5.11.2-1.el7....

    升级linux内核到kernel-ml-aufs-devel-3.10.5-3.el6所需的内核

    当我们提到“升级Linux内核到kernel-ml-aufs-devel-3.10.5-3.el6所需的内核”时,这涉及到对现有Linux内核的更新,以获取最新的功能、性能优化和安全修复。 `kernel-ml-aufs-devel-3.10.5-3.el6.x86_64.rpm` 和 `...

    centos7内核升级离线安装包kernel-lt-5.4.274*

    在Linux系统管理中,内核升级是一项重要的任务,特别是在服务器环境中,为了确保系统的稳定性和安全性,经常需要更新内核以获得最新的安全补丁和功能改进。对于CentOS 7这样的长期支持版本,官方提供了kernel-lt...

    kernel-lt-4.4.213内核所有组件集合包

    资源下载于:linux.cc.iitk.ac.in 集合包包含: python-perf-4.4.213-1.el7.elrepo.x86_64.rpm perf-4.4.213-1.el7.elrepo.x86_64.rpm kernel-lt-doc-4.4.213-1.el7.elrepo.noarch.rpm kernel-lt-headers-4.4.213-1....

    Linux系统中安装gcc和kernel-devel的方法

    kernel-devel:linux内核,安装软件时需要编译内核,故需要保持内核版本一致性 1.Linux操作系统安装好以后,查看gcc是否已经安装; # gcc -v //如果后面出现一大段,则已经安装; 2.查看内核是否一致; #uname -r  ...

    centos7.2内核包kernel-3.10.0-327.el7.x86_64

    kernel-3.10.0-327.el7.x86_64.rpm kernel-debug-3.10.0-327.el7.x86_64.rpm kernel-debug-devel-3.10.0-327.el7.x86_64.rpm kernel-devel-3.10.0-327.el7.x86_64.rpm kernel-headers-3.10.0-327.el7.x86_64.rpm ...

    kernel-devel-3.10.0-1160.el7.x86-64.rpm 及其他版本下载地址信息

    总结起来,`kernel-devel`包对于Linux内核模块的开发至关重要,它提供了构建和调试模块所需的所有工具。`kernel-devel-3.10.0-1160.el7.x86_64.rpm`是针对RHEL 7的一个具体实例,确保了与该版本内核的兼容性。通过...

    kernel-headers-3.10.0-1160.zip

    《深入理解Linux内核开发与优化:以kernel-headers-3.10.0-1160.zip为例》 在Linux系统的世界里,内核是操作系统的核心,它负责管理和调度系统的硬件资源,为上层应用程序提供服务。本文将围绕"kernel-headers-...

    kernel-ml-5.5.5内核所有组件集合包

    资源下载于:linux.cc.iitk.ac.in 集合包包含: python-perf-5.5.5-1.el7.elrepo.x86_64.rpm perf-5.5.5-1.el7.elrepo.x86_64.rpm kernel-ml-doc-5.5.5-1.el7.elrepo.noarch.rpm kernel-ml-headers-5.5.5-1.el7....

    kernel-devel-3.10.0-1062.el7.x86_64

    《kernel-devel-3.10.0-1062.el7.x86_64:深入理解Linux内核开发环境》 在Linux系统的世界里,`kernel-devel`扮演着至关重要的角色,它是用于构建、调试和修改Linux内核模块的基础组件。本文将围绕`kernel-devel-...

    kernel-devel-3.10.0-1127.19.1.el7.x86_64 依赖包

    《kernel-devel-3.10.0-1127.19.1.el7.x86_64:Linux内核开发环境详解》 在Linux操作系统的世界里,内核是系统的心脏,负责管理硬件资源,提供底层服务。而`kernel-devel`包则是为开发者提供了构建针对特定内核版本...

    centos7.6-kernel-rpms.zip

    CentOS7.6 Kernel rpms for VirtualBox, when install virtual box, need these files: -rw-r--r-- 1 50609176 Dec 28 07:14 ...# grub2-set-default "CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core)" # reboot

    kernel-devel-3.10.0-1062.1.2.el7.x86_64.rpm

    若执行得不到对应版本uname -r原代码文件,去官网(http://www.rpmfind.net/linux/rpm2html/search.php?query=kernel-devel && https://pkgs.org/download/kernel-devel)手动下载对应版本uname -r文件

    kernel-lt-4.4.190.el7.elrepo.x86_64.zip

    kernel-lt-4.4.190-1.el7.elrepo.x86_64.rpm kernel-lt-devel-4.4.190-1.el7.elrepo.x86_64.rpm kernel-lt-headers-4.4.190-1.el7.elrepo.x86_64.rp kernel-lt-doc-4.4.190-1.el7.elrepo.noarch.rpm kernel-lt-tools...

    kernel-headers-3.10.0-957.el7.x86_64

    标题“kernel-headers-3.10.0-957.el7.x86_64”指的是Linux内核头文件的一个特定版本,用于RPM(Red Hat Package Manager)包管理系统的环境。在这个案例中,它是针对Linux内核版本3.10.0-957,适配于EL7...

    linux系统内核kernel-4.9.86-30.el6.x86-64.rpm,无外网升级内核使用

    linux内核版本kernel-4.9.86-30.el6.x86_64,亲测CenttOS6.5,CentOS6.8可用。

    linux-kernel-sched-flow linux内核调度流程框图

    Linux内核调度流程框图详解 Linux内核调度流程框图是 Linux 操作系统中最核心的组件之一,负责将可用的 CPU 资源分配给不同的进程和线程,以确保系统的高效运行。在这个框图中,我们可以看到 Linux 内核调度流程的...

    kernel-devel-3.10.0-693.el7.x86_64.rpm

    `kernel-devel`包是Linux内核开发环境的基础,它包含了头文件、符号链接以及必要的工具,使得开发者能够在用户空间编写、编译和调试与内核相关的代码。具体来说,这个包提供了以下关键组件: 1. **内核头文件**:...

    kernel-devel-3.10.0-693.el7.x86_64.rar

    标题 "kernel-devel-3.10.0-693.el7.x86_64.rar" 提供的信息表明,这个压缩包包含了与Linux内核开发相关的资源,具体是针对版本号为3.10.0-693的内核,适配于EL7(Enterprise Linux 7)系统,并且是用于x86_64架构的...

    kernel-3.10.0-957.27.2.el7.x86-64.rpm

    内核3.10.0-957.27.2.el7.x86_64版本三件套 kernel-3.10.0-957.27.2.el7.x86_64.rpm kernel-headers-3.10.0-957.27.2.el7.x86_64.rpm kernel-devel-3.10.0-957.27.2.el7.x86_64.rpm

Global site tag (gtag.js) - Google Analytics