linux内核学习笔记1

原创 2015年11月18日 09:35:39

今天开通了博客,第一篇文章开始针对linux内核,摘录一些内核学习的重点.

1.操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分。这些部分包括内核、设备驱动程序、文件系统、启动引导程序、shell.

2.系统运行中,app通过 系统调用 来与内核进行通信.当一个应用程序使用系统调用,可以说内核正在执行其代码.

应用程序

 

系统调用

 

内核

 

设备驱动程序

 

硬件

 

 

 

 

 

 

 

 

 


注意:硬件设备和内核通信时使用中断打断内核运行.

内核运行在进程上下文中,中断后系统运行在中断上下文中.准备专门中断上下文,保证中断的及时响应和退出.

3.处理器运行状态必定在以下三个状态下:

l  用户空间,执行用户进程;

l  内核空间,进程上下文;

l  内核空间,中断上下文;

例子:CPU空闲时,运行在一个空进程,处于进程上下文阶段.

4.单内核和微内核:

Linux是单内核,但具备微内核的:

模块化设计/动态装载内核,即可以裁剪内核大小;

抢占内核机制:正在运行的进程可以被抢占.

5.内核开发特点

l  内核不能访问标准的C代码库和C头文件

l  必须使用GNU C

l  没有内存保护机制

l  尽量不去做浮点运算

l  进程的堆栈大小确定且容积较小

l  同步和并发需要注意

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

linux内核初学习笔记(1)

最近开始学习linux内核,之前一年多,陆陆续续学了些嵌入式和arm,linux方面的知识,感觉还是非常的不系统。看着那些书,往往能把书中的例程都一步步做下来,但是学习嵌入式操作系统与学习单片机是不一...

在Ubuntu上为Android系统编写Linux内核驱动程序(老罗学习笔记1)

对在Ubuntu上为Android系统编写Linux内核驱动程序(老罗)程序代码做入门菜鸟级注解^_^

国嵌视频学习笔记---linux内核开发1

一、linux内核简介 1.linux系统由两部分组成:内核空间和用户空间。 2.用户空间包括:用户应用程序和C库 3.内核空间包括:系统调用接口、内核和体系结构相关代码。 4.ARM处理...

《Linux内核设计与实现》学习笔记——I/O调度算法

I/O调度子系统用于调度来自多个进程对块设备的I/O请求。电梯调度 首先,如果队列中已存在一个对相邻磁盘扇区操作的请求,那么新请求将和这个已经存在的请求合并为一个请求。 2.如果队列中存在一个驻留时...

Linux内核学习笔记——系统启动

千里之行,始于足下!系统启动往往被认为是正式学习Linux内核的开始,要使用一个系统,无论Windows还是Linux,首先要做的就是将它启动。这里我们就一起学习一下当用户打开计算机电源之后所发生的事...

linux内核代码学习笔记(一)

感觉有时学些忘些,记些笔记,免得总是翻书。8086寻址:段(Segment)寻址模式---段地址部分使用16位的段选择符指定,其中14位可以选择214即16384个段。段内偏移地址部分使用32位的值来...

linux内核模块编译学习笔记

# linux内核模块编译学习笔记 # v0.1 2013.11.15 *** 详细的模块编译过程    v0.2 2013.12.12 *** 添加了在源码树中编译模块,Kconfig配置的内容 ...

Linux内核学习笔记之main函数(四)

终于见到操作系统的main函数了,在被保护模式下的汇编蹂躏那么久,终于见到我们“可爱”的C语言了,鸡冻不已啊~让我们先一睹操作系统真容 [cpp] view plaincop...

Linux内核学习笔记之网卡驱动的详细分析:RTL8139

学习应该是一个先把问题简单化,在把问题复杂化的过程。一开始就着手处理复杂的问题,难免让 人有心惊胆颤,捉襟见肘的感觉。读Linux网卡驱动也是一样。那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏...

Linux内核学习笔记一

内核与操作系统:        内核是操作系统的核心部分,包含了系统运行的核心过程,决定系统的性能,操作系统启动内核被装入到RAM中; 操作系统与底层硬件设备交互和为运行应用程序提供执行环...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)