- 博客(29)
- 资源 (15)
- 收藏
- 关注
原创 Linux进程控制、调度
进程和程序的区别 程序是存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体。 进程是一个执行中的程序。它是动态的实体。 进程四要素 1. 有一段程序供其执行。这段程序不一定是某个进程所专有,可以与其他进程共用。 2. 有进程专用的内核空间堆栈。 3. 在内核中有一个task_struct数据结构,即通常所说的“进程控制块”。有了这个数据结构,进程才能成为内核调度的一个基本单位接
2016-07-29 12:51:05 389
原创 linux内存管理
内存是Linux内核所管理的最重要的资源之一,内存管理子系统是操作系统中最重要的部分之一。 地址类型 1、 物理地址 2、 线性地址(虚拟地址) 3、 逻辑地址 物理地址 物理地址是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。 逻辑地址 程序代码经过编译后在汇编程序中使用的地址。 线性地址 线性地址又名虚拟地址,在32位CPU架构下,可以表
2016-07-27 10:54:27 308
转载 系统调用参考手册
一、进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取当前进程组标识号 setpgrp 设置当前进程组标志号 getpid 获取进
2016-07-26 16:07:59 459
原创 Linux内核驱动学习1-模块开发
Linux内核的整体结构非常庞大,其包含的模块也非常多,如何使用需要的模块呢: 方法1:把所有的模块都编译进内核文件,即:zImage或bzImage,但这样会导致两个问题:一是生成的内核文件过大;二是如果要添加或删除某个组件,需要重新编译整个内核。 方法2:模块开发,内核模块具有如下特点: • 模块本身并不被编译进内核文件(zImage或者bzImage) • 可以根据需求,在内核运行期间
2016-07-26 16:04:54 400
原创 树莓派3b(ubuntu16.04)安装mcp2515驱动
1、在/lib/modules/4.1.19xx/kernel/drivers/net/can下这道can的驱动文件can-dev.ko 然后sudo insmod can-dev.ko 这个文件是mcp251x.ko的依赖文件 2、在spi目录下找到mcp251x.ko文件 然后insmod即可
2016-07-23 16:09:35 1904
翻译 linux学习10:工作管理与进程管理
进程是 CPU 调度的基本单位,对于 unix like 来说,当我们登录取得 bash 时,系统会根据用户的uid 和 gid 分配给我们一个进程,在当前 bash 下,这个进程就是所有进程的父进程,当我们执行一些命令时,每个命令都由一个新的子进程来完成。工作管理 在单一终端下,可以同时进行多项工作,如:一边复制数据,一边查询文件。每一项工作都由独立的子进程来完成,他们的父进程就是当前终端对应
2016-07-20 17:56:03 1662
翻译 linux学习9:关机相关指令
数据同步写入磁盘 sync 由于所有的数据都要读入到内存才能被 CPU 所处理,但有时数据又需要由内存写回硬盘中,为了提高性能,已经加载到内存的中的数据不会被写回硬盘,当内存数据更改单位同步到硬盘中如果断电会引起数据丢失,因此 sync 指令是强行将内存数据写入硬盘, reboot/shutdown/halt 执行前都会自动调用 sync关机指令 shutdown shutdown [-t 秒
2016-07-19 14:22:09 496
原创 树莓派3b(ubuntu16.04)使用MCP2515
1、首先在系统上添加spi驱动(请参考以前的教程) 2、安装bcm2835 C library 树莓派3b的引脚图: 这里选用11脚作为CS信号。 3、下载bcm2835-1.50.tar.gz文件 解压后在examples\spi文件夹里有spi的使用历程 4、编写MCP2515.c /******************************************
2016-07-18 22:18:12 6343
原创 ubuntu16.04 SVN的安装与使用
1、直接安装# sudo apt-get install subversion2、 创建版本库# sudo mkdir /home/svn # sudo svnadmin create /home/svn/repos3、了解版本库# 进入版本库查看生成的相关文件# cd /home/svn/repos/# ls conf db fo
2016-07-18 16:13:37 15911 2
翻译 Linux系统查看硬件信息命令总结
lscpu lscpu命令能够查看 CPU 和处理单元的信息,该命令没有任何其他选项或者别的功能。lspci lspci可以用来列出所有的 PCI 总线,还有与 PCI 总线相连的设备的详细信息,比如 VGA 适配器、显卡、网络适配器、usb 端口、SATA 控制器等。可以通过运行下面的命令来过滤出特定设备的信息,例如关于显卡信息: lspci -v | grep “VGA” -A 12lsh
2016-07-18 14:07:18 385
原创 理解ROS话题
roscore 首先确保roscore已经运行, 打开一个新的终端: $ roscore如果你没有退出以前运行的roscore,那么你可能会看到下面的错误信息: • roscore cannot run as another roscore/master is already running. • Please kill other roscore/master processes
2016-07-18 14:03:33 1244
翻译 linux学习8:文件权限
文件权限 Linux 针对文件权限分为三组,即用户,用户组,其他 可通过 ll(ls -l) 查看文件权限lmy@Eric:~$ ll bak.txt -rw-rw-r-- 1 lmy lmy 40 7月 2 16:58 bak.txt红色部分代表文件权限黄色部分代表该文件所属用户绿色部分代表该文件所属用户组对于文件权限可分为3种(严格说并不是3
2016-07-14 13:30:16 366
翻译 树莓派的配置文件config.txt
由于树莓派并没有传统意义上的BIOS, 所以现在各种系统配置参数通常被存在”config.txt”这个文本文件中. 树莓派的config.txt文件会在ARM内核初始化之前被GPU读取. 这个文件存在引导分区上的.对于Linux, 路径通常是/boot/config.txt, 如果是Windows (或者OS X) 它会被识别为SD卡中可访问部分的一个普通文件.你可以使用下列命令去获取当前激活的
2016-07-13 13:21:17 9707
原创 linux学习7:目录配置 FHS
随着 Linux 开发产品或 distributions 越来越多,如果每个人都按照自己的想法配置目录结构放置配置文件,那么就会造成很多管理的困扰,基于此后来 FHS(filesystem hierarchy standary)标准出现了,其主要目的是希望用户可以了解到已按照软件通常放置于那个目录下 / 根目录 root(/),一般建议在根目录下只有目录,不要直接有文件。根目录 是启动时系统第一
2016-07-13 12:58:58 343
原创 树莓派3b(ubuntu16)BCM2835 C Library的使用
1、下载源码:bcm2835-1.50.tar.gz 2、 解压缩 #tar xvzf bcm2835-1.50.tar.gz 3、进入解压之后的目录 cd bcm2835-1.35 4、配置 ./configure 5、从源代码生成安装包 make 6、执行检查 sudo make check 7、安装 bcm2835库 sudo make install源码包里提
2016-07-12 15:00:56 2583
原创 打开树莓派3b(ubuntu16.04 mate)的spi配置
在目录/boot/config.txt 文件中找到spi的配置项 将#dtparam=spi=off 改成:dtparam=spi=on 然后重启 sudo reboot之后会在/dev/目录下看到 spidev0.0 和 spidev0.1两个驱动设备 lsmod可以查看到 spi_bcm2835 被加载到了内核 这样树莓派3b的spi功能就可以进行编程了
2016-07-12 12:46:19 4525
原创 树莓派配置
配置选项 树莓派第一次使用的时候需要进行一个简单的配置,在命令行模式下运行以下命令: $sudo raspi-config 1.Expand Filesystem 扩展文件系统,将根分区扩展到整张 SD 卡(树莓派默认不使用 SD 卡的全部空间,有一部分保留,建议选中)。2.Change User Password 改变默认 pi 用户的密码,按回车后输入 pi 用户的
2016-07-11 13:06:12 728
翻译 python学习(3)- 深入流程控制
if 語句 也许最有名的语句类型是 if 语句。例如 x = int(input(“Please enter an integer: “)) Please enter an integer: 42 if x < 0: … x = 0 … print(‘Negative changed to zero’) … elif x == 0: … print(‘Ze
2016-07-11 12:52:10 1551
翻译 linux学习6:文件内容查阅
cat:由第一行开始显示文件内容 tac:由最后一行开始显示文件内容 nl:显示的时候,顺便输出行号 more:一页一页的显示文件内容 less:与 more 类似,但是它可以往前翻页 head:只看头几行 tail:只看结尾几行 touch:文件创建与文件时间修改语法:cat [-AbEnTv] 选项与参数: -A:相当于-vET 的整合参数 -b:列出行号,仅针对非空白行做行
2016-07-08 16:07:25 481
翻译 linux学习5:文件|目录的默认权限与隐藏权限
当我们创建一个文件或者目录时即使我们未对其非配权限,其也会存在默认权限 查看默认权限:umask [-S] 选项与参数:-S 以符号形式显示 设置默认权限:umask 权限数 说明:对于目录来说最大权限是777(rwxrwxrwx) 对于文件来说最大权限是666(rw-rw-rw-) 当权限数为022时代表:目录权限(777-022)=755(rwxr-xr-x) 当权限数为022
2016-07-08 15:01:49 500
翻译 python学习(2)- Python 简介
Python 中的注释以#字符起始,直至实际的行尾。注释可以从行首开始,也可以在空白或代码之后,但是不出现在字符串中。文本字符串中的#字符仅仅表示#。 将 Python 当做计算器使用 我们来尝试一些简单的 Python 命令。启动解释器然后等待主提示符>>>出现。数字 解释器的表示就像一个简单的计算器:可以向其录入一些表达式,它会给出返回值。表达式语法很直白:运算符+,-,*和/与其它语言一
2016-07-08 12:56:50 349
翻译 树莓派简介
树莓派开发板没有配置板载 FLASH,因为它支持 SD 卡启动,所有我们需要下载相应镜像,并将其烧写在 SD 上,启动系统即可 (这个镜像里包含了我们通常所说的 bootloader、kernel、文件系统) 树莓派由于其开源特性,支持非常多的系统类型(指的文件系统):Raspbian、Arch Linux ARM、Debian Squeeze、Firefox OS、Gentoo Linux Goo
2016-07-07 22:14:20 765
翻译 linux学习4:Linux 命令缩写
ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户 rpm:redhat package manager 红帽子打包管理器 pwd:print work directory 打印当前目录显示出当前工作目录的绝对路径 ps: process status(进程状态,类似于 windows 的任务管理器) 常用参数:-a
2016-07-07 21:54:34 519
翻译 linux学习3:文件系统介绍
一个文件系统存储的数据通常包括文件权限和属性,以及文件数据,这两部分分别存储在不同的地方。 文件系统数据分为3部分 : Superblock:记录文件系统的整体信息,包括 inode/iblock 的总量,使用量,剩余量,以及文件系统的整体信息。 Inode:记录文件的属性,一个文件占用一个 inode,同时记录此文件数据所在的 block 号码 。 Iblock:实际记录文件的内容,若
2016-07-07 21:50:58 293
翻译 Python学习(1)-解释器
调用解释器 通常 Python 的解释器被安装在可用的目标机器 /usr/local/bin/pythonx.x 目录下;把 /usr/local/bin 目录放进你的 Unix Shell 的搜索路径里,通过输入命令来运行它。 输入:pythonx.x xx:代表python的版本号 在 Windows 机器上,Python 通常安装在 C:\Pythonxx,但当我们运行安装程序的时候可
2016-07-07 12:09:26 469
原创 VMware上的ubuntu增加磁盘空间
1、首先关闭ubuntu,打开虚拟机的设置 点击扩展 选择扩展的空间大小; 2、运行ubuntu 安装并打开分区编辑器 会发现多出一个/dec/sda3的空间,右击选择新建 大小选完即可,点击应用即可。右击查看磁盘的UUID 3、设置挂在点 编辑/etc/fstab 文件 添加:如上图所示。然后创建挂载点目录 4、重启系统即可 运行df -l 查看结果:
2016-07-05 13:21:53 804
原创 ubuntu16上安装ROS Kinetic
1、ROS kinetic安装与使用 参考的网址:http://wiki.ros.org/kinetic http://wiki.ros.org/kinetic/Installation/Ubuntu1.1 设置安装源 ROS Kinetic只支持Wily(15.10)和Xenial(16.04)对应内核分别为4.2和4.4,使用下面命令: ~sudosh−c
2016-07-04 20:59:04 3846 1
原创 ubuntu16.10上的ROS Kinetic和ubuntu14.04上的ROS Jade的通讯设置
ROS各个版本之间是否正常通讯做了如下试验进攻参看 ubuntu16.10上安装ROS Kinetic(IP:192.168.2.109 主机名:long) ubuntu14.04上安装ROS Jade(IP:192.168.2.107 主机名:Eric) 1、在ubuntu16的/etc/hosts 文件里添加 192.168.2.107 Eric 在~/
2016-07-04 20:46:11 2128
翻译 linux学习2:Linux 系统目录结构
登录系统后,在当前命令窗口下输入 ls / 你会看到 以下是对这些目录的解释: /bin bin 是 Binary 的缩写。这个目录存放着最经常使用的命令。 /boot 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev dev 是 Device(设备)的缩写。该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的
2016-07-01 13:56:09 524
opencv+dft变换demo
2017-12-25
Pthon3.6+matplotlib+OpenCV3.3入门教
2017-11-14
linux系统调用参考手册
2016-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人