Linux
文章平均质量分 88
EnjoyCodingAndGame
Nothing raplaces hard work.
纸上得来终觉浅,绝知此事要躬行。
展开
-
Linux命令行快捷键
ctrl + a :将光标移至行首(home也可以实现ctrl + e :将光标移至行尾(end也可以实现ctrl + u :删除光标所在位置到行首的内容ctrl + K : 删除光标所在位置到行尾的内容ctrl + 左右箭头 : 一个移动一个单词shift + pgup :向上翻屏shif + pgdn :向下翻屏原创 2015-01-19 23:04:19 · 550 阅读 · 0 评论 -
Linux Shell Cheat Sheet
1. 查看Linux操作系统信息:uname -acat /proc/versionlsb_release -a 2. 设置ls显示的文件夹的颜色(将下面这条目录加在 .bashrc 文件最后):LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS(All possible colors:31 = red32 = ...原创 2018-05-02 15:57:07 · 1339 阅读 · 0 评论 -
Linux C/C++多线程学习:生产者消费者问题
生产者消费者问题多个生产者和多个生产者的问题。生产者不断的向仓库放入产品,消费者不断的从仓库取出产品,仓库的容量是有限的。因此,当仓库处于满状态时,生产者必须等待消费者取出 1 个或多个产品后才能继续生产;同理,当仓库处于空状态时,消费者必须等待生产者将产品放入仓库后才能消费(取出)产品。使用数组模拟仓库,需要记录下一次生产和消费在数组中的位置。 用生产和消费在数组中的位置判断原创 2016-09-20 18:55:17 · 5699 阅读 · 1 评论 -
全栈必备Linux 基础
Linux 几乎无处不在,不论是服务器构建,还是客户端开发,操作系统的基础技能对全栈来说都是必备的。系统的选择Linux发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。Redhat,应该称为Redhat系列,包括RHEL、Fedora、CentOS(RHEL的社区克隆转载 2016-09-21 20:56:56 · 508 阅读 · 0 评论 -
POSIX thread (pthread) libraries
POSIX thread (pthread) librariesThe POSIX thread libraries are a standards based thread API for C/C++. It allows one to spawn a new concurrent process flow. It is most effective on multi-processor o转载 2016-09-16 21:42:45 · 1507 阅读 · 0 评论 -
内存池、进程池、线程池介绍及线程池C++实现
内存池平常我们使用new、malloc在堆区申请一块内存,但由于每次申请的内存大小不一样就会产生很多内存碎片,造成不好管理与浪费的情况。内存池则是在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。这样做的一个显著优点是尽量避免了内存碎片,使得内存分配效率得到提升。原创 2016-09-16 20:36:33 · 6183 阅读 · 0 评论 -
Linux进程与线程的区别
进程与线程的区别,早已经成为了经典问题。自线程概念诞生起,关于这个问题的讨论就没有停止过。无论是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了。一般程序员而言,搞清楚二者的概念,在工作实际中去运用成为了焦点。而资深工程师则在考虑系统层面如何实现两种技术及其各自的性能和实现代价。以至于到今天,Linux内核还在持续更新完善(关于进程和线程的实现模块也是内核完善的任务之一)。转载 2016-09-16 14:41:48 · 579 阅读 · 0 评论 -
Linux系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底转载 2016-09-16 15:13:01 · 432 阅读 · 0 评论 -
Unix / Linux 线程的实质
线 程线程与进程的比较概述:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部转载 2016-09-16 13:41:11 · 477 阅读 · 0 评论 -
Linux IO模式及 select、poll、epoll详解
同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O用户空间与内核空间现转载 2016-09-14 18:57:51 · 509 阅读 · 0 评论 -
Linux进程间通信各种方式的总结
一个大型的应用系统,往往需要众多进程协作,进程间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种主要进程间通信手段,并针对每个通信手段关键技术环节给出详细实例。为达到阐明问题的目的,本文还对某些通信手段的内部实现机制进行了分析。序:Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BS原创 2016-09-10 15:51:45 · 968 阅读 · 0 评论 -
Linux下进程创建与修改
前言函数fork()用来创建一个新的进程,该进程几乎是当前进程的一个完全拷贝,继承了了父进程整个进程的地址空间(代码段、堆栈段、数据段),包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设置、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等。当父子进程中对共有的数据段进行重新设值或调用不同方法时,才会导致数据段及堆栈段的不同。函数族exec()用来启动另外的原创 2016-09-09 17:25:38 · 2838 阅读 · 0 评论 -
tmux cheat sheet
tmux cheat sheet转载 2016-05-13 14:51:34 · 871 阅读 · 0 评论 -
PetaLinux 2018.2 for ZYNQ 7000 Guide
Create New Project$ petalinux-create --type project --template zynq --name <PROJECT_NAME>Import Hardware Configuration$ petalinux-config --get-hw-description=<path-to-directory-contai...原创 2018-10-12 11:33:16 · 1109 阅读 · 0 评论