自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq2007xia的专栏

不断学习,不断积累,不断进步。

转载 Linux内核空间保护和空间数据传递分析

一定要注意的是不能直接访问用户空间数据,内核代码可以通过特殊的函数来访问用户空间数据,copy_to_user copy_from_user这两个函数就是内核代码访问用户空间数据的函数,但是内核不能直接通过像是memcpy函数来直接操作用户空间数据。 按照linux设备驱动书本上的说法,我的...

2014-07-31 14:29:39

阅读数 616

评论数 0

转载 UNIX环境高级编程——IPC总结

IPC主要包括:管道,消息队列,信号量,共享内存, 套接字(SOCKET)。 一、IPC对象的持久性     每种IPC机制都会借助一种数据结构,这种数据结构的实例称为该IPC机制的对象(相应的,用于同步互斥的数据结构的实体也可以称为该机制的对象)。理清IPC对象的持久性,有助于理解相...

2014-07-31 09:30:24

阅读数 466

评论数 0

转载 从 Linux 内核访问用户空间内存

原文:http://www.ibm.com/developerworks/cn/linux/l-kernel-memory-access/    从 Linux 内核访问用户空间内存 Linux 内存和用户空间 API 简介 因为内核和用户空间...

2014-07-31 09:22:41

阅读数 527

评论数 0

转载 Linux下性能分析工具汇总

Linux下性能分析工具汇总 2011-04-02 10:29 佚名 CSDN 字号:T | T 本文讲述的是:CPU性能分析工具、Memory性能分析工具、I/O性能分析工具、Network性能分析工具、  Linux 性能调优工具、Linux下性能分析工具汇 ...

2014-07-31 08:50:58

阅读数 755

评论数 0

原创 Linux线程ID和进程ID

1. Linux线程的线程ID和进程ID Linux内核并不支持真正意义上的线程,Linux线程库是用与普通进程具有同样内核调度视图的轻量级进程来实现线程支持的。这些轻量级进程拥有独立的进程id,在进程调度、信号处理、IO等方面享有与普通进程一样的能力。 每个Linux线程都同时具有线...

2014-07-30 15:54:16

阅读数 1332

评论数 0

转载 Linux 线程实现机制分析

一.基础知识:线程和进程 按照教科书上的定义,进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。 无论按照怎样的分法,一个进程至少需要一个线程作为它的指令执行体,进程管理着资源(...

2014-07-29 15:45:53

阅读数 442

评论数 0

转载 Linux内核态抢占机制分析

【摘要】本文首先介绍非抢占式内核(Non-Preemptive Kernel)和可抢占式内核(Preemptive Kernel)的区别。接着分析Linux下有两种抢占:用户态抢占(User Preemption)、内核态抢占(Kernel Preemption)。然后分析了在内核态下:如何判断能...

2014-07-29 15:12:15

阅读数 461

评论数 0

转载 80X86寄存器介绍

32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数...

2014-07-29 13:52:02

阅读数 466

评论数 0

转载 时间复杂度为O(n)的排序算法,你会吗?——其实很简单的

看上去似乎任何已知的算法都无法做到,如果谁做到了,那么所有的排序方法:QuickSort,ShellSort,HeapSort,BubbleSort等等等等,都可以扔掉了,还要这些算法干吗阿,呵呵。 我们平常知道是排序算法都是O(n),最好的情况也就是O(nlogn),怎么会有O(n)的呢。...

2014-07-27 22:00:16

阅读数 519

评论数 0

转载 Linux内核地址空间与进程地址空间

内核地址空间分布 直接映射区:线性空间中从3G开始最大896M的区间,为直接内存映射区,该区域的线性地址和物理地址存在线性转换关系:线性地址=3G+物理地址。 动态内存映射区:该区域由内核函数vmalloc来分配,特点是:线性空间连续,但是对应的物理空间不一定连续。vmallo...

2014-07-17 20:04:22

阅读数 586

评论数 0

转载 Linux进程地址空间详解

之前写的一篇文章《a.out分段及运行时内存结构》简要介绍了Linux下的可执行文件格式和运行时的内存布局,这篇文章将更为详细得讨论Linux下进程的虚拟地址空间的布局。如下所述的内容都是基于32位系统的。 Linux传统内存布局 进程的线性地址空间分为两部分: 1、从0...

2014-07-17 19:50:38

阅读数 517

评论数 0

转载 linux内核空间和用户空间的是怎样区别的,如何交互,如何从用户空间进入内核空间

linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。   Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G.Linux内核将这4G字节的空间分为两部分。将最高的...

2014-07-16 17:12:45

阅读数 712

评论数 0

转载 linux 用户空间与内核空间——高端内存详解

原文:http://blog.csdn.net/tommy_wxie/article/details/17122923   摘要:Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内...

2014-07-16 17:06:04

阅读数 465

评论数 0

转载 用户空间栈 & 内核空间栈

以下简称用户栈、内核栈 1、用户栈和内核栈的区别        内核在创建进程的时候,在创建task_struct的同时,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈, 存在于用户空间,一个内核栈,存在于内核空间。记住,进程对应的用户栈和内核栈都是进程私有的。当进程...

2014-07-16 16:35:23

阅读数 563

评论数 0

原创 Linux中断过程概述

2014-07-16 16:17:48

阅读数 526

评论数 0

转载 Linux中断机制(二)

Linux中断解析 摘要:本章将向读者依次解释中断概念,解析Linux中的中断实现机理以及Linux下中断如何被使用。作为实例我们第一将向《i386体系结构》一章中打造的系统加入一个时钟中断;第二将为大家注解RTC中断,希望通过这两个实例可以帮助读者掌握中断相关的概念、实现和编程方法。 中断是...

2014-07-16 11:47:26

阅读数 1390

评论数 0

转载 linux 中断机制(一)

linux0.11下的中断机制分析  异常就是控制流中的突变,用来响应处理器状态中的某些变化。当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表,进行一个间接过程调用,到一个专门设计用来处理这类事件的操作系统子程序,这张表即中断描述符表IDT。本文将针对Linux0.11代码进...

2014-07-16 11:19:19

阅读数 519

评论数 0

转载 Linux进程控制

Linux进程控制   程序是一组可执行的静态指令集,而进程(process)是一个执行中的程序实例。利用分时技术,在Linux操作系统上同时可以运行多个进程。分时技术的基本原理是把CPU的运行时间划分成一个个规定长度的时间片,让每个进程在一个时间片内运行。当进程的时间片用完时系...

2014-07-16 10:43:17

阅读数 510

评论数 0

转载 对Linux内核中进程上下文和中断上下文的理解

对Linux内核中进程上下文和中断上下文的理解 作者:杨老师,华清远见嵌入式学院讲师。 内核空间和用户空间是操作系统理论的基础之一,即内核功能模块运行在内核空间,而应用程序运行在用户空间。现代的CPU都具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,在较低的级别中将禁止某些操作。...

2014-07-15 23:07:35

阅读数 441

评论数 0

转载 Linux文件共享(六)——描述符传递

原文:http://blog.chinaunix.net/uid-28541347-id-4198437.html  作者:lvyilong316  点击打开链接 5.1 进程间描述符传递 首先,我们先来讨论一个问题——进程间传递文件描述符究竟传递的是什么? 我们从传递描述符函数...

2014-07-11 16:12:16

阅读数 396

评论数 0

转载 Linux文件共享(五)——线程共享文件

原文:http://blog.chinaunix.net/uid-28541347-id-4198426.html   作者:lvyilong316   4.1 Linux线程实现注:转载请注明出处   作者:lvyilong316 在谈论线程之间共享文件之前,我想首先简单的介绍下...

2014-07-11 16:10:41

阅读数 391

评论数 0

转载 Linux文件共享(四)——父进程与子进程之间的文件共享

注:转载请注明出处    作者:lvyilong316 由fork产生的进程为子进程。fork的一个特性是父进程所有的打开文件描述符(file_struct)都被复制到子进程中,父子进程的每个相同的打开描述符共享一个文件表项如图。 在linux系统中的具体实现可用下图表示(说明:进...

2014-07-11 16:08:39

阅读数 551

评论数 0

转载 Linux文件共享(三)——dup

原文:http://blog.chinaunix.net/uid-28541347-id-4198394.html  作者:  dup返回的新文件描述符是当前可用文件描述符中的最小值。它返回的新描述符与参数fd共享一个文件表项(file对象)。调用dup会使file的引用计数增1,即增加...

2014-07-11 16:06:46

阅读数 490

评论数 0

转载 Linux文件共享(二)——两个独立进程打开同一个文件

如果两个独立进程各自打开了同一文件,则有图3-2中所示的安排。我们假定第一个进程使该文件在文件描述符3上打开,而另一个进程则使此文件在文件描述符4上打开。打开此文件的每一个进程都得到一个文件对象,但对一个给定的文件只有一个v节点表项。每个进程都有自己的文件对象的一个理由:这种安排使每个进程都有它自...

2014-07-11 16:02:10

阅读数 990

评论数 0

转载 Linux文件共享(一)——进程与打开文件

注:转载请注明出处,作者:lvyilong316 Linux支持在不同进程间共享打开文件。为了说明文件共享,先来说明内核用于所有I/O的数据结构。 他们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。 0.1和文件有关的对象 (1) inode(i节点): 保存...

2014-07-11 15:58:40

阅读数 479

评论数 0

转载 Linux编程之【内存管理】mmap(三)

Linux内存管理之mmap详解 一. mmap系统调用 1. mmap系统调用         mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址...

2014-07-11 15:04:08

阅读数 468

评论数 0

转载 Linux编程之【内存管理】mmap(二)

共享内存映射之mmap()函数详解    共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另...

2014-07-11 14:33:19

阅读数 397

评论数 0

转载 Linux编程之【内存管理】mmap(一)

1、特点: ① 进程相关的 ② 与XSI共享内存一样,需要与同步原语一起使用 ③ 只能是有共同祖先的进程才能使用 2、使用 系统调用mmap()用于共享内存的两种方式: (1)使用普通文件提供的内存映射:     适用于任何进程之间。此时,需要打开或创建一...

2014-07-11 11:33:20

阅读数 495

评论数 0

原创 Linux进程调度学习笔记

1. Linux进程调度的时机    Linux进程的调度时机大致分为两种情况:一种是进程自愿调度;另一种是发生强制性调度。    首先,自愿的调度随时都可以进行。在内核空间中,进程可以通过schedule()启动一次调度;在用户空间中,可以通过系统调用pause()达到同样的目的。如果要为自...

2014-07-10 10:58:40

阅读数 975

评论数 0

原创 VxWorks任务调度与中断

最近在看有关任务调度和中断的文章,主要的话题或者讨论点可以归为如下几个递进的问题: (1)引发任务调度的情况、原因 (2)何为抢占调度?抢占调度是否就指中断引发的调度? (3)关中断是否禁止任务调度? 针对上述问题,本文简单说一下个人的理解,有不妥之处还请大家多指点。 下面就以VxW...

2014-07-09 15:10:33

阅读数 1708

评论数 0

转载 Linux与VxWorks任务调度机制分析

AbStract  In this paper.diferences in task scheduling mechanism between the two multi-tasks operating systems Linux and Vx。  Works are analyzed.The...

2014-07-08 23:40:13

阅读数 769

评论数 0

转载 VxWorks 任务锁与中断锁

中断处理是整个运行系统中优先级最高的代码,可以抢占任何任务级代码运行。中断机制是多任务环境运行的基础,是系统实时性的保证。几乎所有的实时多任务操作系统都需要一个周期性系统时钟中断的支持,用以完成时间片调度和延时处理。VxWorks 提供tickAnnounce(),由系统时钟中断调用,周期性地触发...

2014-07-08 11:52:40

阅读数 2080

评论数 0

转载 Broadcom全系列Wi-Fi芯片概述

无线时代推出的Wi-Fi行业半导体器件简介系列文章受到了很多读者的喜爱,无线时代的管理团队特此整理各厂商的全部芯片及简介,并在后续的文章中不断完善。本文将采用高度概括的方式介绍Broadcom的全系列802.11 Wi-Fi芯片,供读者参考。 Broadcom的Wi-Fi芯片成是80...

2014-07-07 11:02:11

阅读数 2379

评论数 0

原创 802.11n 技术简结

1. 浅析802.11n技术规格     802.11n当中吓人的专有名词包括像多进多出(MIMO)、空间流和空间复用这些会迅速让网络经理大脑麻木的神秘术语。在真实的802.11n无线网络环境的语境中,这些规范的真正含义是什么呢?   MIMO和空间流   一般而言(并且从...

2014-07-04 14:34:55

阅读数 972

评论数 0

转载 Linux shell脚本调试技术

一. 前言 shell编程在unix/linux世界中使用得非常广泛,熟练掌握shell编程也是成为一名优秀的unix/linux开发者和系统管理员的必经之路。脚本调试的主要工作就是发现引发脚本错误的原因以及在脚本源代码中定位发生错误的行,常用的手段包括分析输出的错误信息,通过在脚本中加...

2014-07-03 15:51:20

阅读数 589

评论数 0

转载 无线发射功率与增益

1.无线发射功率与增益   无线电发射机输出的射频信号,通过馈线(电缆)输送到天线,由天线以电磁波形式辐射出去。电磁波 到达接收地点后,由天线接收下来(仅仅接收很小很小一部分功率),并通过馈线送到无线电接收机。 因此在无线网络的工程中,计算发射装置的发射功率与天线的辐射能力非常重要。   ...

2014-07-02 11:17:50

阅读数 4579

评论数 0

提示
确定要删除当前文章?
取消 删除