Linux嵌入式 -- 内核简介(x86)】的更多相关文章

0. 嵌入式系统 以应用为中心,软硬件可裁剪,对功耗.对体积.对成本等都有严格要求的专用计算机系统. 1.  linux体系结构 2. 为什么 划分为 用户空间 和 内核控件 ?  分两级,内核和应用程序,使操作系统本身得到充分保护. 通过 系统调用 和 硬件中断 能从用户空间 --> 内核空间. 3. 内核架构 4.内核代码 5. 内核配置与编译  (以 ../arch/xx/configs 里的配置做参考 .config) A:  清除:清除临时文件.中间文件和配置文件. • make cl…
1. make distclean 2. 配置内核  ----> 生成 .config文件 make menuconfig ARCH=arm Makefile文件分析: 3.  编译内核 make uImage ARCH=arm  CROSS_COMPLIE=arm-linux- 编译完成后位于 ARCH/arm/boot/zImage 4. 内核启动流程 (终极目标:挂在根文件系统,运行应用程序) 4. 文件系统 5. 如何制作linux嵌入式所需的文件系统?  a.  创建目录和文件 b.…
1.  度量时间差 时钟中断由系统的定时硬件以周期性的时间间隔产生,这个间隔(即频率)由内核根据HZ来确定,HZ是一个与体系结构无关的常数,可配置(50-1200),在X86平台,默认值为1000(每秒计数1000次). 每当时钟中断发生时,全局变量jiffies(unsigned long)就加1,因此jiffies记录了自linux启动后时钟中断发生的次数.驱动程序常利用jiffies来计算不同事件间的时间间隔. 如果对延迟的精度要求不高,最简单的实现方法如下--忙等待: 延时  jit_d…
1. 什么是proc文件系统? 实例:通过 /proc/meminfo,查询当前内存使用情况. 结论:proc文件系统是一种在用户态检查内核状态的机制. 2.Proc文件分类 特点  每个文件都规定了严格的权限可读?可写?哪个用户可读?哪个用户可写?  可以用文本编辑程序读取(more命令,cat命令,vi程序等等)  不仅可以有文件,还可以有子目录.  可以自己编写内核程序添加一个/proc目录下的文件.  文件的内容都是动态创建的,并不存在于磁盘上,存在内存中. 3. 功能函数 内核描述 s…
1. 系统调用 定义 Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用.用户可以通过系统调用命令在自己的应用程序中调用它们. 系统调用和普通的函数调用非常相似,区别仅仅在于,系统调用由操作系统内核实现,运行于内核态:而普通的函数调用由函数库或用户自己提供,运行于用户态. 2. 系统调用原理 #include<time.h> main() { time_t the_time; the_time=time((time_t *)0);/*调用time系统调用*/ printf(&…
1. 进程四要素 1. 有一段程序供其执行.这段程序不一定是某个进程所专有,可以与其他进程共用. 2. 有进程专用的内核空间堆栈. 3. 在内核中有一个task_struct数据结构,即通常所说的"进程控制块PCB".有了这个数据结构,进程才能成为内核调度的一个基本单位接受内核的调度. 4. 有独立的用户空间. 2. struct task_struct 进程描述 在Linux中,线程.进程都使用struct task_struct来表示,它包含了大量描述进程/线程的信息,其中比较重要…
1. linux内核链表 链表数据结构的定义: struct list_head  {  struct list_head *next, *prev;  };  list_head结构包含两个指向list_head结构的指针prev和next,由此可见,内核的链表具备双链表功能,实际上,通常它都组织成双向环链表. 2. 链表操作 Linux内核中提供的链表操作主要有: 初始化链表头 INIT_LIST_HEAD(list_head*head)  插入节点 list_add(struct list…
1.  逻辑地址 线性地址 物理地址 段式管理: 16位CPU,20根地址总线,可寻址1M内存,但是只有16位的寄存器,64K. 逻辑地址  =  段基地址 + 段内偏移地址 物理地址 PA  = 段寄存的值 * 16  + 逻辑地址 段式管理: 32位CPU,两种模式  实模式 + 保护模式 实模式 和 16位CPU一样,段寄存器的值*16就是段地址 保护模式: 段基地址32位,每个段都有4G容量,段寄存器的值是一个选择器,间接指出一个32位的段地址. 页式管理: 线性地址被分为固定长度的组,…
Linux内核简介 一.系统架构 (1). Linux系统架构 ##用户空间: 文件系统 C库 ##内核空间: 接口 内核 (2). Linux内核架构 二.Linux内核源代码 下载地址 www.kernel.org 使用sourceinsight管理内核代码…
深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系. 课程内容简单介绍 本课程重点是给大家解说嵌入式linux系统移植的开发方法,採用理论与实践,硬件与软件相结合的方法. 1.在每节開始之前先简单回想上一节所讲的主要内容,并对本节所讲的内容先进行概述,解说概念.技术要点,设计实现思路等内容,最后总结本次课程的要掌握的要点. 2.在讲课的过程中对关键…
1.1 Unix的历史 unix的优点 简介,没有繁冗的系统调用 所有东西都被当成了文件对待,对文件和对设备的操作是通过同样的系统调用的接口实现的 内核和相关工具使用C编写,具有很高的可移至性 创建新的进程非常迅速 进程间的通信简单稳定 1.2 追寻Linux足迹 linux和unix并不一样,他并没有使用unix的源代码,只是使用unix的接口名称 1.3 操作系统和内核简介 内核是实现了一组核心系统功能的程序集合,如终端响应.进程管理.内存空间管理等,系统其余部分必须依赖内核来提供服务. 其…
第一章   Linux内核简介 一.Unix的历史 1.Unix系统成为一个强大.健壮和稳定的操作系统的根本原因: (1)简洁 (2)在Unix中,很多东西都被当做文件对待.这种抽象使对数据和对设备的操作都是通过一套相同的系统调用借口来进行的:open(),read(),write(),lseek()和close(). (3)Unix的内核和相关的系统工具软件是用C语言编写而成.(移植能力) (4)进程创建非常迅速,并且有一个非常独特的fork()系统调用. (5)Unix提供了一套非常简单但又…
一.Unix历史 二.Linux足迹 类Linux系统.非商业化产品.用途广泛 三.操作系统和Linux内核简介 1.操作系统 (1)是指在整个最基本功能系统中负责完成最基本功能和系统管理的部分. (2)包括:内核.设备驱动程序.启动引导程序.命令行.用户界面.基本文件管理工具和系统工具. 2.内核--管理者/操作系统核心 (1)操作系统的内在核心. (2)组成:中断服务程序.调度程序.内存管理程序.系统服务程序. 3.linux由用户空间和内核空间组成 (1)通常内核空间和用户空间是程序执行的…
一.内核简介 内核:在计算机科学中是一个用来管理软件发出的数据I/O(输入与输出)要求的计算机程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系统中最基本的部分.它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间.直接对硬件操作是非常复杂的.所以内核通常提供一种硬件抽象的方法,来完成这些操作.通过进程间通信机制及系统调用,应用进程可间接控制所需的硬件资源(特别是…
本篇简单介绍内核相关的基本概念. 主要内容: 单内核和微内核 内核版本号 1. 单内核和微内核   原理 优势 劣势 单内核 整个内核都在一个大内核地址空间上运行. 1. 简单.2. 高效:所有内核都在一个大的地址空间上,所以内核各个功能之间的调用和调用函数类似,几乎没有性能开销. 一个功能的崩溃会导致整个内核无法使用. 微内核 内核按功能被划分成各个独立的过程.每个过程独立的运行在自己的地址空间上. 1. 安全:内核的各种服务独立运行,一种服务挂了不会影响其他服务. 内核各个服务之间的调用涉及…
============================================================================== 深入linux kernel内核配置选项 ============================================================================== 如果自己不亲自实践配置的话,你永远也体会不到内核的真实所在. 使用过linux的发行版之一gentoo的话,你应该知道这是一个彻头彻尾的自定义…
主要介绍将Windows程序迁移到Linux系统相关知识 简介 Windows程序迁移到Linux系统可能需要修改很多代码, 既需要了解Linux平台的开发知识, 也需要了解Windows平台代码如何迁移到Linux平台, 下面分享一下我所掌握的相关开发经验, 如果有不对的地方,请立即指出. 操作系统 Linux操作系统都是使用Linux内核,比较常见的Linux发行版有 CentOS.RedHat.Debain.openSUSE等. 主流linux发行版的概述+比较+推荐 编辑器 Vim Em…
CSDN学院讲师韦东山:悦己之作,方能悦人 发表于2015-04-28 08:09| 6669次阅读| 来源CSDN| 24 条评论| 作者夏梦竹 专访Linux嵌入式开发韦东山操作系统图书作者 摘要:从一名资深的软件工程师到图书作者,再到百问科技缔造者,韦东山这一路走来,也有自己的辛酸感悟:但不论何时,他从未忘记学习,用他的话说:“悦己之作,方能悦人”. [编者按]韦东山,深圳百问网科技有限公司技术创始人,毕业于中国科学技术大学,电子.软件专业双学位,擅长ARM/MIPS等架构的Linux开发…
http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/20130422/366044.html   使用 /proc 文件系统来访问 Linux 内核的内容 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口 简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux? 内核空间和用户空间之间进行通信.在 /proc 文件系统…
一. Linux嵌入式系统 操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口.它存在的目的是为了管理所有硬件资源,并且提供应用软件一个合适的操作环境.嵌入式系统由于硬件的先天限制,经常只具有极稀少的硬件资源,如 时脉较少的 CPU.较少的内存.常不具有磁盘而用小容量的DiskOnChip或DiskOnModule.而在使用电池的系统中,它还要实现节省电池消耗,延长电池使用时间的功能. Linux 作为嵌入式操作系统是完全可行的,因为…
转:与一线Linux嵌入式开发project师的对话 陈project师一直做Linux的嵌入式开发.作为在开发一线的project师.他对非常多问题的看法可能更切合实际需求,于是,通过邮件.就嵌入式开发方面的问题,请他谈了一下自己的看法: 问:关于嵌入式开发.我们准备给同学们解说一些入门知识.从你一线开发经验来说,给我们一些建议: 陈工回答:         对于嵌入式Linux入门,假设有一定基础,可以从驱动開始:假设没有基础.我个人建议还是从应用程序開始.由于从应用程序開始是最easy的,…
阅读目录 简介 操作系统 编辑器 编译器 构建系统 调试 IDE 可执行程序.动态库.静态库 服务 Windows服务简介 创建Windows服务 注册Windows服务 管理Windows服务 Linux守护进程简介 创建Linux守护进程 管理Linux守护进程 跨平台服务框架——Boost.Application 日期和时间 多线程 同步 文件和目录 IO IPC SEH dump VisualGDB 开发Linux程序 支持CMake 调试 附加调试 分析崩溃转储 从Windows迁移到…
一. LVS简介LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org.现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能.使用LVS技术要达到的目标是:通过LVS提…
Linux常用内核参数 TCP状态描述 CLOSED:无连接是活动的或正在进行的 LISTEN:服务器在等待进入呼叫 SYN-RECV:一个连接请求已经到达,等待确认 SYN-SENT:应用已经开始,打开一个连接 ESTABLISHED:已经建立的连接 FIN-WAIT1:主动断开一方,第一次发送完FIN FIN-WAIT2:主动断开一方,收到对端确认的ACK TIME-WAIT:主动断开一方,收到FIN-ACK CLOSE-WAIT:被动断开一方,收到对方FIN且发送完ACK后 LAST-AC…
Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成.一个常见的情况是,系统里装有一个硬件网卡,Linux 会在系统里为其生成一个网络设备实例,如 eth0,用户需要对 eth0 发出命令以配置或使用它了.更多的硬件会带来更多的设备实例,虚拟的硬件也会带来更多的设备实例.随着网络技术,虚拟化技术的发展,更多的高级网络设备被加入了到了 Linux…
https://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/ Btrfs 简介 文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext2/3,ext 文件系统以其卓越的稳定性成为了事实上的 Linux 标准文件系统.近年来 ext2/3 暴露出了一些扩展性问题,于是便催生了 ext4 .在 2008 年发布的 Linux2.6.19 内核中集成了 ext4 的 dev 版本. 2.6.28 内核发布时,ext4 结束了开发版,开始接受用…
linux系统入门简介 我们为什么要学习Linux? 在介绍Linux的历史前,我想先针对大家如何对Linux的发音说一下.我发现我身边的朋友对Linux的发音大致有这么几种: "里那克斯"与 "里泥克斯""里扭克斯"等.其实官方的标准发音为 ['li:nэks],因为这个发音是创始人Linus的发音.如果你不认识这个音标,那么就读成"里那克斯".而咱们习惯发音成"里泥克斯",当然你发音成什么,并没有人会说…
嵌入式专业是一门实践性非常强的学科,只有多动手,多实践,多编程,多调试,多看书,多思考才能真正掌握好嵌入式开发技术.那么,如何从零开始学习嵌入式开发技术, 进入嵌入式开发大门呢,笔者根据自己的嵌入式学习经历和多年的嵌入式linux教学经验,谈谈自己对嵌入式学习的一些想法和意见,希望对大家有所帮助. 一.练好基本功 嵌入式系统专业是综合了计算机硬件技术,计算机软件技术以及电子电路技术的一门综合学科,所涉及的内涵和知识非常广泛,包括:数字电路,模拟电路,计算机组成原理,单片机基础,C语言基础,操作系…
只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs [ide is evil] (http://i.cnblogs.com/EditPosts.aspx?opt=1) 高明的 UNIX 程序员不用 IDE,IDE 从来就是给初级 Windows 程序员用的. 你看看大型的 UNIX 程序,包括 Linux 内核,各种网络服务程序,Xwindow 程序在内,哪一个是 IDE 搞出来的?我们实验室的 EDA 程序也没有一个是 IDE…
 linux查看内核版本.系统版本.系统位数(32or64) 2011-05-01 22:05:12 标签:linux 内核版本 休闲 系统版本 系统位数 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version   Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 3.4.4-2)) #1 SMP Mon Sep…