进程(process)
进程就是处于执行期的程序。但进程并不仅仅是一段可执行的代码。通常进程还要包含其它资源,像进程标识符,打开的文件,接收到的信号,处理器状态,所分配的内存等信息。实际上,进行就是正在执行程序代码的实时结果,内核需要有效而又透明地管理所有的细节,所以一个进程需要维护非常多的信息。所以总的来说,进程就是处于执行期的程序以及相关资源信息的总称。
Linux中,用一个task_st...
分类:
系统相关 时间:
2016-05-13 01:23:42
阅读次数:
221
1 开发环境
宿主机:Ubuntu14.04(32bit)
开发板:Mini2440
BusyBox:1.24.2
2 配置
到BusyBox官网下源码并解压,然后执行下面的命令进行默认配置:
make defconfig 输出结果如下:
scripts/kconfig/conf -d Config.in
*
* Busybox Configu...
分类:
系统相关 时间:
2016-05-13 01:21:29
阅读次数:
1594
LDD3的开发环境推荐的是2.6.10,安装了RHEL4-update4,其内核版本为2.6.9.42,编译mmap的程序时报错:Unknown symbol remap_pfn_range
在网上查了下,应将上述报错的函数改为remap_page_range,并且remap_page_range不再推荐使用了,两个内核函数第二个参数定义不相同:
int remap_page_range(st...
分类:
系统相关 时间:
2016-05-13 01:18:17
阅读次数:
1231
环境状态:
系统:Ubuntu 14.04
GUI桌面:Unity
步骤:
I:在/usr/share/applications/文件夹下面建立自己的快捷方式文件:
sudo gedit /usr/share/applications/Putty.desktop
II:文件内容如下:(前后不能有多余的空格)
[Desktop Entry] //每个...
分类:
系统相关 时间:
2016-05-13 01:03:57
阅读次数:
405
管道是unix ipc最古老的形式,所有unix系统都提供此通信机制。
管道的两种限制:
1 半双工,数据单方向流动。
2只能用于具有公共祖先的进程之间。需要双方通信时,需要建立起两个管道。
例外:流管道没有限制1,FIFO和命名管道没有限制2。
管道是一个文件,但它不属于某种文件系统,而是单独构成一种文件系统,并且只存在与内存中。
管道有pipe函数建立:
#i...
分类:
系统相关 时间:
2016-05-13 00:43:46
阅读次数:
271
8.1 共享库的版本
共享库的更新可以被分为两类:
兼容更新。所有的更新只是在原有的共享库基础上添加以内容,所有原有的接口都保持不变
不兼容更新,共享库更新改变了原有的接口,使用该共享库原有接口的程序可能不能运行或运行不正常
这里讨论的接口是二进制接口,ABI
导致C语言的共享库ABI改变的行为主要有4个:...
分类:
系统相关 时间:
2016-05-13 00:43:43
阅读次数:
322
6.1 进程虚拟地址空间
每个程序运行起来以后,它将拥有自己独立的虚拟地址空间,这个虚拟地址空间的大小由计算机的硬件平台决定,具体来说是由CPU的位数决定的
对于windows来说,它的进程虚拟地址空间划分是操作系统占用2GB,那么进程就只剩2GB空间。
windows有个启动参数可以将操作系统占用的虚拟地址空间减少到1GB,即跟Linux分布一样。方法...
分类:
系统相关 时间:
2016-05-13 00:36:31
阅读次数:
467
1、文件搜索命令 find
2、find命令常用选项:根据文件名、文件大小、所有者、所属组 进行查找
find / -name init 表示全盘搜索init文件或目录。注意 /表示全盘 .表示当前目录
Linux里面的文件搜索是精准搜索的,如果要进行模糊匹配,需要使用通配符,例如:
find /etc -name *init* 表示查找文件名包含init字符的文件。*表...
分类:
系统相关 时间:
2016-05-13 00:36:48
阅读次数:
216
首先是在linux地下实现的,创建了四个文件,主要实现流程:
注册-登陆-存款-取款-转账-更改密码-查询个人信息-显示全部账户-退出系统
废话不多说,直接看代码:
Blank.h
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#...
分类:
系统相关 时间:
2016-05-13 00:35:45
阅读次数:
264
之前一直开发.NET的项目,所以对Visual
Studio比较熟悉,要做Java的项目,换成Myeclipse是各种的不适应啊,关键是VS的智能提示很好用,myeclipse提示都不显示出来,开发速率方面就慢了很多。其实Myeclipse代码提示功能是有的,只不过是需要“专业人员”去设置一下。
快捷键
智能提示的快捷键是Alt+/,当然如果用起来不方便的话,还可以自己...
分类:
系统相关 时间:
2016-05-13 00:36:43
阅读次数:
240
最简单的内核模块#include
#include
static int __init hello_init(void) //内核初始化函数
{
printk("hello world!\n"); //打印函数,和prinft类似
return 0;
}
static void __exit...
分类:
系统相关 时间:
2016-05-13 00:23:07
阅读次数:
170
设备号设备号由主设备号和次设备号组成。linux下,一切设备皆文件,所有的设备都能在/dev目录下找到相应的文件。这些文件除了名字不一样以外,还每个设备文件都有不一样的设备号;
一般地,主设备号对应一个类型的驱动设备,之所以有次设备号,它是用来驱动同类型的设备。如串口,所有的串口共用一个主设备号,每个串口有不同的次设备号。dev_t类型用来保存设备编号(包含主设备号和次设备号),实际上是一个3...
分类:
系统相关 时间:
2016-05-13 00:18:13
阅读次数:
190
1 安装
# yum -y install vim*
2 查看vim的位置
# whereis vim...
分类:
系统相关 时间:
2016-05-12 23:54:02
阅读次数:
259
主机:centos 7 ,
安装sendmail,启动sendmail,一般就可以了,但是有些同学为什么不行,就是启不动出现如下的情况!那现在如何解决。
yum install sendmailsystemctl start sendmail.service
systemctl status sendmail.service
● sendmail.service - Sendmail Ma...
分类:
系统相关 时间:
2016-05-12 23:51:04
阅读次数:
343
本文介绍Mac OS X系统下的React Native环境搭建过程。
环境要求:
Mac OS X操作系统
Xcode6.4或以上版本
Node.js4.0或以上版本
watchman和flow
安装过程
1) Node.js的安装可以在Node.js的官网https://nodejs.org/ 中下载最新的版本。这里下载的是node-v4.4.2.pkg版本。直接双击运行安装就可以了。...
分类:
系统相关 时间:
2016-05-12 23:38:08
阅读次数:
425
Linux IPC 常见的方式写 Linux Server 端程序,必然会涉及到进程间通信 IPC. 通信必然伴随着同步机制,下面是一些常见的通信与同步机制:
进程间通信:匿名管道,命名管道,消息队列,共享内存,Domain Socket, 本机 TCP Socket,文件
进程间同步:信号,信号量
线程间同步:条件变量,互斥量,读写锁,自旋锁,Barrier.
对于大部分的业务场景,本机 TCP...
分类:
系统相关 时间:
2016-05-12 23:26:34
阅读次数:
283