Linux,Unix, GNU,你可能经常听到这些名字被放在一起,比如 “Linux是类Unix系统”, “Linux其实应该叫 GNU/Linux” 等等.为什么会有这些说法,这些名词的历史渊源和背景到底是什么样的,今天我就来给大家做一个解密. 1 Unix的起源 Unix 操作系统是在1960年代末,由当时就职于美国贝尔实验室的肯·汤普逊(Kenneth Thompson) 和 丹尼斯·里奇(Dennis Ritchie)发明的.这两个人都是计算机领域的传奇.他们除了发明了Unix 系统之外…
大一下时,学习了linux&unix这门课程,全字符的操作,我对它并不是很感冒,不过,还是找学长安装过虚拟机和Linux系统,在考前利用它和putty进行复习.现在重装系统之后,各类软件,自然也是都需要再装的,这个也不例外(这就是为什么这几天,博客里出现各种安装教程的原因.PS终归到底还是因为王建民老师的建议O(∩_∩)O) /*************几个问题的回答——分割线******(都是百度的,我不太清楚的几个问题)*******/ 1.什么是虚拟机 虚拟机(Virtual Machin…
<Linux/Unix系统编程手册>读书笔记 目录 第11章 这章主要讲了关于Linux和UNIX的系统资源的限制. 关于限制都存在一个最小值,这些最小值为<limits.h>文件中的常量. 通过cat 命令查看: lancelot@debian:~/Code/tlpi$ cat /usr/include/limits.h /* Copyright (C) 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2005 Free Software Fo…
根据同事多年跟踪的学员情况,我们发现,学员在同等条件学习Linux后,选择开发要比系统应用薪水要上升的更为迅速,而且更容易突破5000.8000或10000等每月的门槛:但是这个方向难度会更大,同时会更枯燥些,需要毅力和身体,更需要兴趣.如何入门及如何规划自己的Linux学习之路一直是困扰Linux爱好者的一大难题,实际上,Linux的入门与学习并不难,只是由于长期使用其他操作系统的习惯与没有正确的引导指向,所以一个本身不是难题的问题变成了难题. 我这里想提一个问题给同学们:企业为什么要用lin…
http://www.infoq.com/cn/news/2011/07/regular-expressions-6-POSIX 对正则表达式有基本了解的读者,一定不会陌生『\d』.『[a-z]+』之类的表达式,前者匹配一个数字字符,后者匹配一个以上的小写英文字母.但是如果你用过vi.grep.awk.sed之类Linux/Unix下的工具或许会发现,这些工具虽然支持正则表达式,语法却很不一样,照通常习惯的办法写的『\d』.『[a-z]+』之类的正则表达式,往往不是无法识别就是匹配错误.而且,这…
我们在网上已经习惯用“Linux”来称呼Linux操作系统了,然而,偶尔也用“GNU/Linux”来称呼和指代同样的操作系统和软件.同时人们也在争论这两种称呼哪个更合适. 本文将不会选边站队,仅力图向你讲述这两种称呼的来历,并解释”Linux”与“GNU/Linux”之间的微妙差异. 什么是“Linux”? “Linux”这个词仅仅代表内核——操作系统的核心.其他软件, 比如用来编译内核的GNU C编译器,bash命令行终端,GNU Shell组件(包括所有你用到的基本命令),X.org图形服务…
这个组织中黑客云集,而且多是掌握核心技术的真正高手,他们的作品多是编译器.词法/语法分析器.底层函数库等大作.更重要的不是他们的技术,而是他们的哲学!他们的哲学就是技术上的“共产主义”——人人为我,我为人人.他们发布了一种版权许可协议——GPL——一个神圣的宣言.与中庸而谦和的BSD协议不同,它充满着革命的活力和斗争精神,它的出现标志着一个新世界——GPL世界——的诞生! GNU本来向开发自己的操作系统——HURD,但是因为种种原因进度非常慢.这时候,一个荷兰黑客制作出了Linux,并宣布:遵循…
2018-1-30 一.UNIX.C语言以及Linux的历史回顾 1. UNIX简史.C语言的诞生 1969年,贝尔实验室的Ken Thompson首次实现了UNIX系统. 1973年,C语言步入成熟期,人们以其重写了几乎整个UNIX内核. 2. UNIX两大分支:BSD.System V 1969~1979年间,UNIX历经了多个版本,其中从第七版起,UNIX分裂为两大分支:BSD和System V. 加州大学伯克利分校为UNIX开发了许多新特性,然后发布了属于自己的UNIX发布版——BSD.…
#include <stdio.h> // void perror(const char *msg); #include <string.h> // char *strerror(int errnum); #include <errno.h> //errno   errno 是错误代码,在 errno.h头文件中: perror是错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符): strerror 是通过参数 errnum (就是errno)…
一.指令集架构: 指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系,是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O.指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令. 指令集体系与微架构(一套用于执行指令集的微处理器设计方法)不同.使用不同微架构的电脑可以共享一种指令集.例如,Intel的Pentium和AMD的AM…