linux
基斯卡人
这个作者很懒,什么都没留下…
展开
-
实时操作系统
实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。 在实时系统中必然存在着若干个实时任务,这些任务通常与某些个外部设备相关,能反应或控制相应的外部设备,因而带有某种程度的紧迫性。可从不同的角度对实时任务加以分类。 1、 按任务执行时是否呈现周期性变化来划分: a、周期性实时任务翻译 2016-06-27 12:38:20 · 781 阅读 · 0 评论 -
Linux进程控制、调度
进程和程序的区别 程序是存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体。 进程是一个执行中的程序。它是动态的实体。 进程四要素 1. 有一段程序供其执行。这段程序不一定是某个进程所专有,可以与其他进程共用。 2. 有进程专用的内核空间堆栈。 3. 在内核中有一个task_struct数据结构,即通常所说的“进程控制块”。有了这个数据结构,进程才能成为内核调度的一个基本单位接原创 2016-07-29 12:51:05 · 392 阅读 · 0 评论 -
linux学习10:工作管理与进程管理
进程是 CPU 调度的基本单位,对于 unix like 来说,当我们登录取得 bash 时,系统会根据用户的uid 和 gid 分配给我们一个进程,在当前 bash 下,这个进程就是所有进程的父进程,当我们执行一些命令时,每个命令都由一个新的子进程来完成。工作管理 在单一终端下,可以同时进行多项工作,如:一边复制数据,一边查询文件。每一项工作都由独立的子进程来完成,他们的父进程就是当前终端对应翻译 2016-07-20 17:56:03 · 1667 阅读 · 0 评论 -
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 · 15919 阅读 · 2 评论 -
个人网站搭建(3)
连接数据库 首先安装mysql数据库。ubuntu可以使用命令:sudo apt-get install mysql-server安装。安装后运行:service mysqld start。 安装 Python-MySQLdb 命令: #sudo apt-get install build-essential Python-dev libmysqlclient-dev sudo apt-g原创 2016-09-09 13:34:11 · 459 阅读 · 0 评论 -
Linux驱动设计的硬件基础
1、处理器 通用处理器(GPP),在嵌入式微控制器(MCU)和微处理器(MPU)中会包含一个通用处理器核。MPU 通常代表一个CPU(中央处理器),而MCU 则强调把中央处理器、存储器和外围电路集成在一个芯片中。典型的MCU的结构包含了电源和时钟、片内存储器、存储控制器、定时器、看门狗、CPU核、UART、IIC控制器、USB控制器、中断控制器以及DMA控制器。 中央处理器的体系架构可以分为两类翻译 2016-08-23 09:50:47 · 474 阅读 · 0 评论 -
树莓派3 (ubuntu)mcp2515驱动
1、在mcp251x.c文件中添加 static struct mcp251x_platform_data mcp251x_info ={ .oscillator_frequency = 8000000, } static struct spi_board_info spi_board_info[] = { { .modalias = “mcp2515”,原创 2016-08-25 22:30:44 · 1614 阅读 · 0 评论 -
个人网站搭建(1)
最近一直想这搭建一个个人网站,在网上参考了好多资料,在网上找到了一个网站的基本结构图: MVC 模式是一个非常好的软件架构模式,在网站开发中,也常常要求遵守这个模式。 MVC 模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller) 这里前端技术使用了js,css,ht原创 2016-09-08 13:52:20 · 456 阅读 · 0 评论 -
学会使用linux命令帮助
1、查看命令的简要说明$whatis command可以使用正则表达式$whatis -w "loca*"这样会列出简要的命令的说明: 2、使用man 查询命令command的说明文档:$man command使用page up和page down来上下翻页 在man的帮助手册中,将帮助文档分为了9个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询原创 2016-10-12 11:22:52 · 479 阅读 · 0 评论 -
linux信号(signal)
1、信号本质 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给转载 2016-11-04 10:49:59 · 420 阅读 · 0 评论 -
网络的世界
DNS的作用就是用来找到域名所对应的 IP地址 位于 网络层 的 IP 协议,大家所熟知的 IP地址 就是由它进行封装并传往下一层 位于 传输层 的 TCP/UDP 两个协议, 一个是面向连接(STREAM), 一个是面向数据(DGRAM)的 MAC地址:对于网络上的主机而言,每一台主机就有一个专属的 MAC地址 端口号则是相当于一个房子的门,这个比喻在各大教材中广泛引用,但也的确贴切,假设转载 2016-11-10 13:19:41 · 371 阅读 · 0 评论 -
为树莓派3B添加一个实时时钟DS1302
1、在系统中安装wiringPi(这个就不多说了很简单) 2、连接ds1302模块和树莓派引脚 连接前需要在ds1302的DTA引脚上添加一个10K的上拉电阻, VCC—3.3V—- GND—0V—- CLK—SCLK—-23 DTA—SDA0—-24 RST—CE0—–27 3、修改程序 ds1302.c的mian函数里有一原创 2016-10-08 10:24:47 · 4208 阅读 · 0 评论 -
linux小常识1
linux启动账户后自动执行的文件是.profile,其内容如下: 可以看到其执行了.bashrc的文件,所以设置环境变量的时候可以写在.bashrc文件里。综合应用 查找record.log中包含AAA,但不包含BBB的记录的总数:: cat -v record.log | grep AAA | grep -v BBB | wc -l总结 文件管理,目录的创建、删除、查询、管理: mk原创 2016-10-20 14:22:07 · 304 阅读 · 0 评论 -
CentOS7安装tftp服务器
在安装光盘里的Packages目录下有很多rpm包,这里需要的安装包有tftp-5.2-12.el7.x86_64.rpm 、tftp-server-5.2-12.el7.x86_64.rpm、 xinetd-2.3.15-12.el7.x86_64.rpm,安装使用命令rpm#sudo rpm -ivh ****.rpm 即可完成安装 接下来就是修改配置文件: /etc/xinetd.d/原创 2017-01-10 15:04:32 · 1457 阅读 · 0 评论 -
makefile中的命令前面加@符号和-号
最近在分析一个makefile文件发现很多shell命令钱都加了一个“-”和“@”符号,不太理解是什么意思经过一番查找理解了什么意思,借此记住: 1、如果makefile执行的命令前面加了@符号,则不显示命令本身而只显示结果。 2、通常make执行的命令出错(该命令的退出状态非0)就立刻终止,不再执行后续命令,但是如果命令前面加上“-”,即使这条命令出错,makefile也会继续执行后续命令的。原创 2017-02-08 14:58:01 · 4127 阅读 · 0 评论 -
做一个人脸识别系统的应用
最近做了一个关于人脸识别的项目,于是整理出来一个入门的教程在 GitChat 上,喜欢的可以阅读以下;https://gitbook.cn/gitchat/activity/5bd6c569f47b2f4f1a7e9c11当然喜欢用 Python 的同学也可以支持以下我的新教程哦。网址如下:(也可以微信关注GitChat公众号,搜索教程题目即可)https://gitbook.cn/git...原创 2019-03-20 10:19:26 · 734 阅读 · 0 评论 -
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 · 502 阅读 · 0 评论 -
linux学习9:关机相关指令
数据同步写入磁盘 sync 由于所有的数据都要读入到内存才能被 CPU 所处理,但有时数据又需要由内存写回硬盘中,为了提高性能,已经加载到内存的中的数据不会被写回硬盘,当内存数据更改单位同步到硬盘中如果断电会引起数据丢失,因此 sync 指令是强行将内存数据写入硬盘, reboot/shutdown/halt 执行前都会自动调用 sync关机指令 shutdown shutdown [-t 秒翻译 2016-07-19 14:22:09 · 499 阅读 · 0 评论 -
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 · 523 阅读 · 0 评论 -
linux学习6:文件内容查阅
cat:由第一行开始显示文件内容 tac:由最后一行开始显示文件内容 nl:显示的时候,顺便输出行号 more:一页一页的显示文件内容 less:与 more 类似,但是它可以往前翻页 head:只看头几行 tail:只看结尾几行 touch:文件创建与文件时间修改语法:cat [-AbEnTv] 选项与参数: -A:相当于-vET 的整合参数 -b:列出行号,仅针对非空白行做行翻译 2016-07-08 16:07:25 · 484 阅读 · 0 评论 -
树莓派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 · 2591 阅读 · 0 评论 -
linux学习1:Linux的启动过程
Linux 的启动其实和 Windows 的启动过程很类似,不过 Windows 我们是无法看到启动信息的,而 linux 启动时我们会看到许多启动信息,例如某个服务是否启动。 Linux 系统的启动过程大体上可分为五部分:内核的引导;运行 init;系统初始化;建立终端 ;用户登录系统。内核引导 当计算机打开电源后,首先是 BIOS 开机自检,按照 BIOS 中设置的启动设备(通常是硬盘)来启翻译 2016-06-28 20:32:51 · 677 阅读 · 0 评论 -
linux学习2:Linux 系统目录结构
登录系统后,在当前命令窗口下输入 ls / 你会看到 以下是对这些目录的解释: /bin bin 是 Binary 的缩写。这个目录存放着最经常使用的命令。 /boot 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev dev 是 Device(设备)的缩写。该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的翻译 2016-07-01 13:56:09 · 526 阅读 · 0 评论 -
linux学习7:目录配置 FHS
随着 Linux 开发产品或 distributions 越来越多,如果每个人都按照自己的想法配置目录结构放置配置文件,那么就会造成很多管理的困扰,基于此后来 FHS(filesystem hierarchy standary)标准出现了,其主要目的是希望用户可以了解到已按照软件通常放置于那个目录下 / 根目录 root(/),一般建议在根目录下只有目录,不要直接有文件。根目录 是启动时系统第一原创 2016-07-13 12:58:58 · 347 阅读 · 0 评论 -
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 · 368 阅读 · 0 评论 -
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 · 2130 阅读 · 0 评论 -
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 · 3851 阅读 · 1 评论 -
Linux内核驱动学习1-模块开发
Linux内核的整体结构非常庞大,其包含的模块也非常多,如何使用需要的模块呢: 方法1:把所有的模块都编译进内核文件,即:zImage或bzImage,但这样会导致两个问题:一是生成的内核文件过大;二是如果要添加或删除某个组件,需要重新编译整个内核。 方法2:模块开发,内核模块具有如下特点: • 模块本身并不被编译进内核文件(zImage或者bzImage) • 可以根据需求,在内核运行期间原创 2016-07-26 16:04:54 · 402 阅读 · 0 评论 -
系统调用参考手册
一、进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取当前进程组标识号 setpgrp 设置当前进程组标志号 getpid 获取进转载 2016-07-26 16:07:59 · 462 阅读 · 0 评论 -
VMware上的ubuntu增加磁盘空间
1、首先关闭ubuntu,打开虚拟机的设置 点击扩展 选择扩展的空间大小; 2、运行ubuntu 安装并打开分区编辑器 会发现多出一个/dec/sda3的空间,右击选择新建 大小选完即可,点击应用即可。右击查看磁盘的UUID 3、设置挂在点 编辑/etc/fstab 文件 添加:如上图所示。然后创建挂载点目录 4、重启系统即可 运行df -l 查看结果:原创 2016-07-05 13:21:53 · 807 阅读 · 0 评论 -
linux内存管理
内存是Linux内核所管理的最重要的资源之一,内存管理子系统是操作系统中最重要的部分之一。 地址类型 1、 物理地址 2、 线性地址(虚拟地址) 3、 逻辑地址 物理地址 物理地址是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。 逻辑地址 程序代码经过编译后在汇编程序中使用的地址。 线性地址 线性地址又名虚拟地址,在32位CPU架构下,可以表原创 2016-07-27 10:54:27 · 311 阅读 · 0 评论 -
理解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 · 1247 阅读 · 0 评论 -
Linux系统查看硬件信息命令总结
lscpu lscpu命令能够查看 CPU 和处理单元的信息,该命令没有任何其他选项或者别的功能。lspci lspci可以用来列出所有的 PCI 总线,还有与 PCI 总线相连的设备的详细信息,比如 VGA 适配器、显卡、网络适配器、usb 端口、SATA 控制器等。可以通过运行下面的命令来过滤出特定设备的信息,例如关于显卡信息: lspci -v | grep “VGA” -A 12lsh翻译 2016-07-18 14:07:18 · 388 阅读 · 0 评论 -
linux学习3:文件系统介绍
一个文件系统存储的数据通常包括文件权限和属性,以及文件数据,这两部分分别存储在不同的地方。 文件系统数据分为3部分 : Superblock:记录文件系统的整体信息,包括 inode/iblock 的总量,使用量,剩余量,以及文件系统的整体信息。 Inode:记录文件的属性,一个文件占用一个 inode,同时记录此文件数据所在的 block 号码 。 Iblock:实际记录文件的内容,若翻译 2016-07-07 21:50:58 · 295 阅读 · 0 评论 -
Cython使用技巧
背景Python作为最方便的编程语言和丰富的配置而被大家推崇。 但是当我们的模型较复杂,运算量较大的时候,python的短板就会出现,执行速度并不那么理想,加上GIL的限制,让Python开发人员大为担忧,如何摆脱Python的这个短板而又不摒弃使用Python的快感呢?答案就是使用Cython。使用Cython,你可以避开Python的许多原生限制,或者完全超越Python,而无需放弃Pyth...原创 2019-04-09 18:08:41 · 1226 阅读 · 0 评论