linux哲学思想
Linux是类unix的操作系统,在很大程度上兼容unix,下面介绍一下unix的主要几个发行版:
1)solaris:sun公司
2)aix(power,powerpc)IBM
3)hp_ux(hp)
4)sco unix(sco)
5)bsd(openbsd,freebsd,netbsd,据说bsd的稳定性要比linux好,apple的IOS以及MAC操作系统就是bsd操作系统改写的。)
linux哲学思想:
1)一切皆文件
2)由众多目的单一的程序完成一件比较复杂的工作,一个程序只做一件事,并且做好它。
3)尽量避免与用户交互
4)使用文本文件保存配置信息
5)提供机制(可选择的策略,是一种框架),而非策略,提供最大的灵活性,策略会过时,机制不会过时。
开源协定:GPL\LGPL 使用者可以自由使用、自由学习与修改、自由分发、自由创建衍生版,但是使用者如果更改了程序源码,必须也要发布除自己修改的部分。
BSD\APACHE比GPL更加宽松,使用者可在改变源代码之后闭源。
计算机发展历史:个体重复系统发育(语言:基于硬件—汇编—高级;硬件:大型机—小型机—PC机—移动终端设备)
分时OS(cpu,分timeslice来执行任务)
物理memory地址----通过MMU机制----映射为虚拟的内存地址/或称为线性地址
IO虚拟(轮流使用、共享)
Kernel:将硬件功能抽象成接口(system call)
Library:-----(1)-公共功能模块------(2)API开发模块/开发接口
1)如果作为运行接口来使用,一定是二进制格式的。
2)如果作为开发接口来使用,通常是一些头文件来描述的。
库分为二类:
1) 动态共享库:win上为.dll(dynamic link library)文件,linux上为.so(shared object)文件.
2) 静态库
系统上的用户接口:
GUI:Gnome(c)开发需要安装GTK,KDE(c++)开发需要安装QT
CLI:bash,zsh