Linux
文章平均质量分 86
泰晓科技
Tinylab.org | 聚焦嵌入式 Linux —— 追本溯源,见微知著!
展开
-
[授权发表]为可执行文件“减肥”
这是开源书籍[《C语言编程透视》](http://www.tinylab.org/project/hello-c-world/)第八章,如果您喜欢该书,请关注我们的新浪微博[@泰晓科技](http://weibo.com/tinylaborg)。原创 2015-04-12 17:52:35 · 1763 阅读 · 0 评论 -
[授权发表]代码测试、调试与优化小结
这是开源书籍[《C语言编程透视》](http://www.tinylab.org/project/hello-c-world/)第九章,如果您喜欢该书,请关注我们的新浪微博[@泰晓科技](http://weibo.com/tinylaborg)。原创 2015-04-12 17:54:33 · 969 阅读 · 0 评论 -
[授权发表]Shell编程范例之索引篇
该篇是开源书籍《Shell编程范例序列》的索引。原创 2015-04-12 18:15:38 · 608 阅读 · 0 评论 -
[授权发表]Shell编程范例之开篇
这是《Shell编程范例序列》的第一章,在介绍具体实例之前,该篇主要介绍什么是Shell,Shell运行环境,Shell基本语法和调试技巧。原创 2015-04-12 18:49:51 · 787 阅读 · 0 评论 -
[授权发表]Shell编程范例之数值运算
这是《Shell编程范例序列》的第二章,这一篇打算讨论一下Shell编程中的基本数值运算,这类运算包括:1) 数值(包括整数和浮点数)间的加、减、乘、除、求幂、求模等 2) 产生指定范围的随机数 3) 产生指定范围的数列。原创 2015-04-12 18:50:37 · 880 阅读 · 0 评论 -
[授权发表]Shell编程范例之布尔运算
这是《Shell编程范例序列》第三章,在这一节,我们除了讨论这些基本逻辑运算外,还将讨论SHELL编程中的条件测试和命令列表,并介绍它们和布尔运算的关系。原创 2015-04-12 18:59:42 · 1458 阅读 · 0 评论 -
[授权发表]Shell编程范例之字符串操作
这是《Shell编程范例序列》第四章,之前介绍的数值运算中的数字,逻辑运算中的真假值,都是以字符的形式呈现出来的,是一种特别的字符,对它们的运算只不过是字符操作的特例罢了。而这里将研究一般字符的运算,它具有非常重要的意义,因为对我们来说,一般的工作都是处理字符而已。原创 2015-04-12 19:04:26 · 1003 阅读 · 0 评论 -
[授权发表]Shell编程范例之文件操作
这是《Shell编程范例序列》第五章,我们来探讨文件操作。在日常学习和工作中,我们总是在不断地和各种文件打交道,这些文件包括普通的文本文件,可以执行的程序文件,带有控制字符的文档、存放各种文件的目录文件、网络套接字文件、设备文件等。这些文件又具有诸如属主、大小、创建和修改日期等各种属性。文件对应文件系统的一些数据块,对应磁盘等存储设备的一片连续空间,对应于显示设备却是一些具有不同形状的字符集。原创 2015-04-12 19:09:33 · 800 阅读 · 0 评论 -
[授权发表]Shell编程范例之文件系统操作
这是《Shell编程范例序列》第六章,希望该篇能够很好地帮助Shell程序员理解如何用Shell命令来完成和Linux系统关系非常之大的文件系统的各种操作,希望让Shell程序员中对文件系统”混沌”的状态从此消失,希望文件系统以一种更为清晰的样子呈现在我们的眼前。原创 2015-04-12 19:11:37 · 935 阅读 · 0 评论 -
[授权发表]Shell编程范例之进程操作
这是《Shell编程范例序列》第七章,进程作为程序真正发挥作用时的“形态”,我们有必要对它的一些相关操作非常熟悉,这一节主要描述进程相关的概念和操作,将介绍包括程序、进程、作业等基本概念以及进程状态查询、进程通信等相关的基本操作等。原创 2015-04-12 19:15:04 · 1016 阅读 · 0 评论 -
[授权发表]Shell编程范例之网络操作
这是《Shell编程范例序列》第八章,之前已经介绍了shell编程范例之数值、布尔值、字符串、文件、文件系统、进程等的操作。这些内容基本覆盖了网络中某个独立机器正常工作的“方方面面”,现在需要把视角从单一的机器延伸到这些机器通过各种网络设备和协议连接起来的网络世界,分析网络拓扑结构、网络工作原理、了解各种常见网络协议、各种常见硬件工作原理、网络通信与安全相关软件以及工作原理分析等。原创 2015-04-12 19:17:15 · 2016 阅读 · 0 评论 -
[授权发表]Shell编程范例之总结篇
这是《Shell编程范例序列》第九章,到这里,整个shell编程序列就要结束了,作为总结篇,主要回顾一下各个小节的主要内容,并总结出shell编程的一些常用框架和相关注意事项等。原创 2015-04-12 19:17:59 · 627 阅读 · 0 评论 -
[授权发表]源码分析:静态分析 C 程序函数调用关系
源码分析是程序员离不开的话题。无论是研究开源项目,还是平时做各类移植、开发,都避免不了对源码的深入解读。工欲善其事,必先利其器。今天我们来玩转一个小工具,叫 Callgraph,它可以把 C 语言的函数调用树(或者说流程图)画出来。本来主要通过它来静态分析一个 C 语言程序。原创 2015-04-14 00:11:23 · 2216 阅读 · 0 评论 -
[授权发表]使用 JDB 调试 Android 应用程序
调试 Android 应用,大多选择 ADT 和 Android Studio,它们已经集成很多调试功能,像打断点、单步调试、dump 虚拟机的堆栈信息等,这些工具很强大,开发时不可或缺,但是它们怎么做到的呢?本文就带我们一起去看看它们背后的功臣:JDB。原创 2015-04-17 22:34:37 · 1902 阅读 · 0 评论 -
[授权发表]进程和进程的基本操作
这是开源书籍[《C语言编程透视》](http://www.tinylab.org/project/hello-c-world/)第七章,如果您喜欢该书,请关注我们的新浪微博[@泰晓科技](http://weibo.com/tinylaborg)。原创 2015-04-12 17:50:35 · 1405 阅读 · 0 评论 -
[授权发表]进程的内存映像
这是开源书籍[《C语言编程透视》](http://www.tinylab.org/project/hello-c-world/)第六章,如果您喜欢该书,请关注我们的新浪微博[@泰晓科技](http://weibo.com/tinylaborg)。原创 2015-04-12 17:48:40 · 821 阅读 · 0 评论 -
[授权发表]利用 qemu 模拟嵌入式系统制作全过程
这篇文章主要介绍如何用 Qemu 来搭建一个基于 ARM 的嵌入式 Linux 系统。通过该文可以学习到如何配置和交叉编译 Linux Kernel,如何配置 Busybox 并编译,如何制作 Initramfs,如何制作根文件系统,如何定制自己的 Uboot,如何通过 Uboot 向 Kernel 传递参数等。原创 2015-04-23 22:57:57 · 3101 阅读 · 0 评论 -
[授权发表]用 kGDB 调试 Linux 内核
本文记录了用 kGDB 调试 Linux 内核的全过程,都是在前人工作基础上的一些总结。以下操作都是基于特定板子来进行,但是大部分都能应用于其他平台。原创 2015-04-28 08:16:48 · 2057 阅读 · 0 评论 -
[授权发表]基于 Docker 快速构建 Linux 0.11 实验环境
[五分钟内搭建 Linux 0.11 的实验环境](http://www.tinylab.org/take-5-minutes-to-build-linux-0-11-experiment-envrionment/)介绍了如何快速构建一个 Linux 0.11 实验环境。本文介绍如何用 Docker 快速构建一个独立于宿主机的 Linux 0.11 实验环境,并且允许在任何地方通过浏览器远程登录来做操作系统实验?原创 2015-05-22 00:40:48 · 2027 阅读 · 0 评论 -
[授权发表]Linux 段错误详解
笔者早年写过一篇:《可恶的"Segmentation faults"之初级总结篇》,网络转载甚多。多年下来,关于段错误的讨论依旧很热烈,该问题也还是很常见。所以打算在这里再系统地梳理一下该问题的来龙去脉。原创 2015-05-21 23:32:00 · 3183 阅读 · 0 评论 -
[授权发表]内核探索:Linux BogoMips 探秘
本文探索了Linux BogoMIPS由来,计算方法及和CPU频率的关系。BogoMIPS是 Linus本人独创,Bogo意思是“假的,伪造的”,MIPS意思是“Millions of Instructions Per Second”,如系统启动时,计算出BogoMIPS为100,可记为100万条伪指令每秒。之所以叫伪指令,是因为在计算BogoMIPS时,CPU一直在执行NOP指令,只能作为CP性能的参考指标。原创 2015-05-14 12:18:12 · 1916 阅读 · 0 评论 -
[授权发表]基于 VNCServer + noVNC 构建 Docker 桌面系统
不同于 Qemu/VMware/VirtualBox 等虚拟化方案,Docker 本身没有提供图形界面支持,只能使用 “远程桌面” 支持。目前 Docker 仓库中两个最火的方案分别是 SSH + Xpra (C/S架构) 和 VncServer + noNVC (B/S架构)。早期已经介绍了前者,本文介绍后者。原创 2015-05-13 00:17:52 · 8890 阅读 · 0 评论 -
[授权发表]基于 ssh + Xpra 构建 Docker 桌面系统
不同于 Qemu/VMware/VirtualBox 等虚拟化方案,Docker 本身没有提供图形界面支持,只能使用 “远程桌面” 支持。目前 Docker 仓库中两个最火的方案分别是 SSH + Xpra (C/S架构) 和 VncServer + noNVC (B/S架构),本文先介绍第一种。原创 2015-05-02 23:01:52 · 2331 阅读 · 2 评论 -
[授权发表]如何快速定位 Linux Panic 出错的代码行
内核调试中最常见的一个问题是:内核 Panic 后,如何快速定位到出错的代码行?就是这样一个常见的问题,面试过的大部分同学都未能很好地回答,这里希望能够做很彻底地解答。原创 2015-04-28 08:25:22 · 1687 阅读 · 0 评论 -
[授权发表]Linux内核Section Mismatch详解
Section Mismatch是非常严重的Bug,可能会导致无法预测的内存访问问题,建议谨慎对待,如果添加的驱动中有类似Warning,可能需要密切关注并解决掉。本文就该问题的检测、原因、解决思路以及最新前沿进行分析。原创 2015-04-28 08:12:03 · 1857 阅读 · 0 评论 -
为什么计算机的学生要学习Linux开源技术
为什么计算机的学生要学习Linux开源技术背景说明研究平台专业视野工作机会课程实践背景说明笔者在 2006 年参与创建兰大开源社区,从大学到毕业工作,一直从事 Linux 相关的学习、研究和工作,十多年来的观察发现,最近数十年的大学课程完全跟不上时代,现在各大领域几乎都被 Linux 以及相关的开源技术覆盖了,包括服务器、消费电子(手机)、IoT,大部分都在用 Linux 以及相关的周边开源技...原创 2019-07-07 01:28:32 · 420 阅读 · 0 评论 -
[授权发表]GCC 编译背后的奥秘
这是开源书籍[《C语言编程透视》](http://www.tinylab.org/project/hello-c-world/)第二章,如果您喜欢该书,请关注我们的新浪微博[@泰晓科技](http://weibo.com/tinylaborg)。原创 2015-04-12 17:26:28 · 1470 阅读 · 0 评论 -
[授权发表]程序执行的那一刹那
这是开源书籍[《C语言编程透视》](http://www.tinylab.org/project/hello-c-world/)第三章,如果您喜欢该书,请关注我们的新浪微博[@泰晓科技](http://weibo.com/tinylaborg)。原创 2015-04-12 17:36:38 · 885 阅读 · 0 评论 -
[授权发表]动态符号链接的细节
这是开源书籍[《C语言编程透视》](http://www.tinylab.org/project/hello-c-world/)第四章,如果您喜欢该书,请关注我们的新浪微博[@泰晓科技](http://weibo.com/tinylaborg)。原创 2015-04-12 17:39:14 · 1154 阅读 · 0 评论 -
[授权发表]缓冲区溢出与注入分析
这是开源书籍[《C语言编程透视》](http://www.tinylab.org/project/hello-c-world/)第五章,如果您喜欢该书,请关注我们的新浪微博[@泰晓科技](http://weibo.com/tinylaborg)。原创 2015-04-12 17:43:26 · 2198 阅读 · 0 评论 -
[授权发表]源码分析:动态分析 Linux 内核函数调用关系
这是泰晓科技源码分析系列的第三篇,之前我们已经介绍了静态分析,应用程序的动态分析,这里介绍内核部分的动态分析,介绍到 Ftrace, Perf 和 FlameGraph。这三篇主要是函数级别的分析,接下来我们会再出一个源码级别的分析外加一个汇总性的文章,之后会转到 Android / Linux 性能分析 系列。原创 2015-04-23 11:55:23 · 2031 阅读 · 0 评论