随笔分类 - Linux
摘要:嵌入式资源网站一 、MailList1.MailList大全网址:http://news.gmane.org/描述:可以查到绝大部分开源项目的Maillist记录,如bluez、uboot等。碰到问题可以在里面搜索一下,相当方便。 二、技术论坛 1.ChinaUnix技术社区 网址:http://bbs.chinaunix.net/index.php 描述:国内比较知名的Linux/Unix技术社区,高手云集。 2.中国Linux论坛 网址:http://www.linuxforum.net/index.php 描述:另一个国内比较知名的Linux/Unix技术社区。 三、文档及资源下载 1.
阅读全文
摘要:在send()发送数据的时候出现下面这个错误send() error.: Socket operation on non-socket已导致不能发送错误,虽然这个错误时出现在send()调用,但是其错误源头在accept()调用,我调试时,打印了accept()返回值居然是0,mygod……原因:在accept()调用的时候出现了。运算符优先级错误。汗……一个低级错误,郁闷了我昨天一个下午。原函数错误写法是:if(connectfd = accept(listenfd,(struct sockaddr*)&client,&sin_size)==-1){ perror("
阅读全文
摘要:本文出自:http://www.china-pub.com作者:姚继锋(2001-08-1109:05:00)1引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题。 使用多线程的理由之一是...
阅读全文
摘要:1. pipe系统调用的使用格式#include<unistd.h>int pipe(int fd[2])功能:创建一个简单的管道,若成功则为数组fd分配两个文件描述符,其中fd[0]用于读取管道,fdp[1]用于写入管道。返回值:成功返回0,失败返回-1。2. 命名管道:mkfifo系统调用的使用格式:#include<sys/types.h>#include<sys/stat.h>功能:创建命名管道返回:若成功则为0,若出错则为-1.3.信号量:semget()系统调用的使用格式:#include<sys/sem.h>功能:创建一个新的信号量
阅读全文
摘要:并行性包含同时性和并发性,前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段内发生。 计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。 计算机组成原理主要是从宏观的角度来看的,并发性在用户看来也是并行的,故并行性包含了并发性的。主要是看问题的角度和层面不同的。
阅读全文
摘要:01#include <stdio.h> 02#include <stdlib.h> 03#include <fcntl.h> 04#include <unistd.h> 05#include <string.h> 06#include <sys/types.h> 070809#define FILE_TXT "sf.txt" 10#define FILE_BIN "sf.bin" 1112typedef struct student 13{ 14int id; 15char nam
阅读全文
摘要:1 进程是系统中程序执行和资源分配的基本单位。每个进程有自己的数据段,代码段和堆栈段。 线程通常叫做轻型的进程。线程是在共享内存空间中并发执行的多道执行路径, 它们共享一个进程的资源。 2 同一个进程中的线程的共性:多个线程将共享同一个进程虚拟空间。 线程共享的环境包括:进程代码段,进程的公有数据(利用这些共享的数据,线程很容易实现相互之间的通讯),进程打开的文件描述符,信号的处理器,进程的当前目录和进程用户ID与进程组ID。 3 线程的个性: 线程ID:每个线程都有自己的线程ID,这个ID在本进程中是唯一的。 寄存器组的值:一个线程切换到另一个线程上时,必须将原有的线程的寄存器集合的状态保存
阅读全文
摘要:1 简单地说,shell就是命令解析器,将用户输入的指令转换为相应的机器能够运行的程序。 2 Shell是Linux系统中的一个重要的层次,它是用户与系统交互作用的界面。 Shell除了作为命令解释程序以外,还是一种高级程序设计语言。利用Shell程序设计语言可以编写出功能很强、但代码简单的程序。 3 shell脚本是一个包含一系列命令序列的文本文件。当运行这个脚本文件时,文件中包含的命令序列将得到执行。 4 Shell过程的建立和执行 称作Shell文件或者Shell脚本(Shell script)。 建立Shell过程的步骤同建立普通文本文件相同,利用编辑器(如vi或gedit)进行程序.
阅读全文
摘要:shell脚本是一个包含一系列命令序列的文本文件。当运行这个脚本文件时,文件中包含的命令序列将得到执行。实际上和在shell中输入命令是一样的效果。 在Shell中引号分为2种:单引号、双引号。 (1)双引号 由双引号括起来的字符,除$、倒引号和反斜线(\)仍保留其特殊功能外,其余字符通常作为普通字符对待。 (2)单引号 由单引号括起来的字符都作为普通字符出现。一个例子:#!/bin/sh //这个正确read nfor((k=1;k<=$n;k++))doa=`expr $k \* $k`echo "$k square= $a"done#!/bin/sh //这个有
阅读全文
摘要:linux内核源代码情景分析 非扫描版 上下册合订版 字清楚 带书签 1575页 pdfhttp://download.csdn.net/source/2002579*************************************************************linux设备驱动开发详解 pdf,针对ARM9 s3c2410 经典 宋宝华http://download.csdn.net/source/3135744随书光盘:http://download.csdn.net/source/2530660**********************************
阅读全文
摘要:一 内核的功能1 系统调用2 进程控制3 内存管理4 文件系统管理5 设备驱动程序二 编译linux内核进入到内核源代码目录:cd /usr/src/linux-2.6.15make configmake xconfigmake menuconfigmake三 裁剪linux:目的是创建嵌入式linux。裁剪的对象包括:1 linux内核2 库3 守护进程4 GUI四 内核裁剪1 选择合适的文件系统:ext2,ext3,jffs22 模块机制3 网络协议4 无用的驱动程序5 调试信息五 共享库裁剪:思想:通过提取和解析系统库内目标文件,符号的依赖关系,通过对这些依赖构造关系模型进行关系演算,根
阅读全文
摘要:为什么需要中断?1 外设的处理速度一般慢于CPU。2 CPU不能一直等待外部事件,所以设备必须有一种方法来通知CPU它的工作进度,这种方法就是中断。在linux驱动程序中,为设备实现一个中断包含两个步骤:1 向内核注册中断2 实现中断处理函数共享中断就是将不同的设备挂到同一个中断信号线上。linux对共享的支持主要是为PCI设备服务。什么是中断处理程序,有何特别之处?中断处理程序就是普通的C代码。特别之处在于中断处理程序是在中断上下文中运行的,它的行为受到某些限制:1 不能向用户空间发送或接受数据2 不能使用可能引起阻塞的函数3 不能使用可能引起调度的函数
阅读全文
摘要:一 嵌入式系统定义:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。二 嵌入式学习的重点:1 站在全局进行领会,不纠缠细节2 了解嵌入式系统开发的流程3 学习嵌入式系统开发的理念4 了解嵌入式系统开发的内容5 结合自身找到切入点,确定学习内容以及学习的方法6 最重要的是知道做什么,而不是怎么做三 嵌入式系统的特点:1 嵌入式系统低功耗,体积小,专用性强。嵌入式系统与PC机的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,能够把PC机中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计
阅读全文
摘要:一 bootloader的概念bootloader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。二 bootloader的特征1 初始化硬件,特别是内存控制器2 提供linux内核的启动参数3 启动linux内核简化开发过程的一些特征:1 读写存储器2 通过串口/网口下载文件到RAM3 从RAM复制文件到FLASH中三 bootloader安装系统加电或复位后,所有的CPU通常都从CPU制造商预先安排的地址上取指令。比如,
阅读全文
浙公网安备 33010602011771号