【Linux】从Linux内核角度看Linux上层应用

系统调用

  是一个软中断,API函数,让上层应用陷入内核

进程管理

  进程调度、调度算法、进程三态

  进程是CPU调度资源的最小单位 fork

VFS虚拟文件管理

  在Linux之下,一切设备均是文件

  驱动总线模型2.4  2.6(真正)支持pnp

  ext3 ext2 vfat文件管理系统

  ---->在驱动总线模型下做驱动开发

内存管理

  进程逻辑地址转换为物理地址

  1.段式管理

    逻辑地址转换为线性地址

  2.页式管理

    线性地址转换为物理地址

Linux内核为我们的应用程序创建了单独的进程空间

    内核把进程单独抽象,抽象出来很多的资源调度,这样可以高效的利用系统资源

    ----->多道程序处理

网络协议栈管理

  为什么把TCPIP协议栈放入到Linux内核中?

    如果需要大量的读写网卡,操作硬件资源需要频繁陷入内核,把整个系统性能降低。

 

----->搭建知识体系

arc体系管理

  Linux内核不但支持x86平台 32 64 arm mips powerpc 摩托罗拉硬件cpu

  

时间: 2024-10-15 13:04:13

【Linux】从Linux内核角度看Linux上层应用的相关文章

Linux 2.6内核Makefile浅析【转】

转自:http://blog.csdn.net/tommy_wxie/article/details/7280463 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 概述 kbuild文件 1 obj-y和obj-m 11 obj-y生成built-ino 12 目标由多个源文件编译得到 13 调用子目录Makefile 2 lib-y和lib-m 3 编译选项变量 31 ccflags-yasflags-yldflags-y 32 subdir-ccflags-ysub

Linux 2.6内核Makefile浅析

1 概述 Makefile由五个部分组成: Makefile:根目录Makefile,它读取.config文件,并负责创建vmlinux(内核镜像)和modules(模块文件). .config:内核配置文件(一般由make menuconfig生成). arch/$(ARCH)/Makefile:目标处理器的Makefile. scripts/Makefile.*:所有kbuild Makefile的规则,它们包含了定义/规则等. kbuild Makefiles:每个子目录都有kbuild

首先看linux内核重要文件grub

linux内核启动修复 首先看linux内核重要文件grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /b

【转载】LINUX 和 WINDOWS 内核的区别

LINUX 和 WINDOWS 内核的区别 [声明:欢迎转载,转载请注明出自CU ACCESSORY http://linux.chinaunix.net/bbs/thread-1153868-1-1.html] 关于LINUX和WINDOWS的口水站已经很多了.本文企图从技术角度来比较下2个主流操作系统的异同.偏重于内核部分. 一.动机: 我最早是 WINDOWS 阵营的.在WINDOWS下写过2年多的驱动程序.后来由于学习需要,转投LINUX,一晃也快2年了.期间经历了很多曲折,也学到了很多

linux 学习之路(学linux必看)

很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将会结合自己的几年的个人开发经验,及对 Linux,更是类UNIX系统,及开源软件文化, 谈谈Linux的学习方法与学习中应该注意的一些事. 就如同刚才说的,很多同学以前可能连Linux是什么都不知道,对UNIX更是一无所知. 所以我们从最基础的讲起,对于Linux及UNIX的历史我们不做多谈,直接进

linux 用户态 内核态

http://blog.chinaunix.net/uid-1829236-id-3182279.html 究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子: 1)例子 C代码 1.     void testfork(){   2.     if(0 = = fork()){   3.     printf(“create new process suc

Linux内存管理-内核的shmall和shmmax参数(性能调优)(转)

内核的shmall和shmmax参数 SHMMAX=配置了最大的内存segment的大小:这个设置的比SGA_MAX_SIZE大比较好. SHMMIN=最小的内存segment的大小 SHMMNI=整个系统的内存segment的总个数 SHMSEG=每个进程可以使用的内存segment的最大个数 配置信号灯( semphore )的参数: SEMMSL=每个semphore set里面的semphore数量:这个设置大于你的process的个数吧,否则你不得不分多个semphore set,好像

从Linux 与 Unix 异同,看开源世界的发展!

从Linux 与 Unix 异同,看开源世界的发展! 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额的报告,但Linux在数据中心操作系统上的份额可能高达70%,而Windows变体几乎涵盖了所有剩余的比例.使用任何主流公共云的开发人员可以假定目标系统将运行Linux.近些年来,随着Android和基于Linux的嵌入式系统在智能手机.电视.汽车和其他设备中的应用,Linux随处

从ip addr add和ifconfig的区别看linux网卡ip地址的结构

今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下.其实它们之间没有什么区别,只 是表述方式不同罢了.如果你非常理解网络协议的原理以及网络的分层架构那么我想你就不会有这个问题,实际上,每一个网卡设备都有一个mac地址,但是却可 以有多个网络层地址,比如IP地址,然而这个事实无法很好地像用户提供操作接口,所以就引出了ip别名(IP aliases)和辅助ip(secondary