第1章 Linux是什么与如何学习
2021.1.14
Linux具有“可移植性“,因为它的程序代码可以被修改以适合在各种硬件架构上面运行。
兼容分时系统:让大型主机提供数个终端以供用户连接进入主机,利用主机资源进行运算工作。
Thompson的Unics系统(UNIX的原型)拥有两个重要的概念:
- 所有的程序或系统设备都是文件;
- 不管程序本身还是附属文件,所写的程序只有一个目的,且要有效地完成目标。
GNU计划:建立一个自由的、开放的UNIX操作系统。
GNU的C语言编译器:GNU C Compiler(gcc)
GNU开发的重要软件:Emacs、gcc、GNU C Library(glibc)、Bash Shell
2021.1.15
回家,休息一天
2021.1.16
Github上下载的代码,若包含MIT License,则为开放源代码。
选择授权:
- 如果希望程序用于商业活动中,则使用BSD之类的授权;
- 如果希望少一些商业色彩,则使用GPLv2之类的授权。
CPU开发商要整合多个CPU于一个芯片的原因:减少CPU切换进程的时间开销。
POSIX:可移植操作系统接口,规范内核与应用程序之间的接口。
模块功能:将某些功能独立出于内核外,在需要的时候加载到内核中。
内核版本编号格式:
3.10.0-123.e17.x86-64
主版本.次版本.发布版本-修改版本
在终端输入uname -r可查询本机的内核版本。
我的ubuntu服务器的Linux版本号为4.15.0-118-generic
Linux发行版:包含内核+软件+工具+可完全安装程序
发展Linux发行版的社区和公司:Red Hat、SUSE、Ubuntu、Fedora、Debian,他们的内核都由https://www.kernel.org网站发布提供。使用RPM方式安装软件的系统:Red Hat、Fedora、SUSE;使用dpkg方式安装软件的系统:Debian、Ubuntu、B2D等。
2021.1.17
为了加强整体系统的性能,计算机集群系统(Cluster)的并行计算能力在近年来一直被拿出来讨论。
2015年最新的Android系统6.x使用的就是Linux kernel 3.4.x版本。Android就是Linux内核的分支。
命令行模式其实就是一个名为Shell的软件。
如果是网络服务的问题,到/var/log/目录中查看一下日志文件log file
一些学习的基本方针:
- 有系统地设计文件目录:不要随意在各个路径下保存文件。
- 养成一个做记录的习惯:发现问题时将错误信息和引发状况、解决方法记录清楚。