初识linux操作系统
加法器:
每个加法器只能对位运算。三位数相加,就要3个加法器。
数据总线、控制总线(指令总线)
电流:负电荷的逆向运动。
程序:数据+指令。
寄存器:在CPU的运算器上(暂时记忆数据)。
RAM:随机访问存储器。
ROM:只读存储器。(存取BIOS等设置的)
poll机制(轮询):
interrupt机制(中断):硬件通知机制
前端总线(FSB):
北桥:离CPU比较近,高速总线控制器。早起连接内存的。现在主要是连接南桥了。
南桥:低速总线控制器。主要连接外围设备的。
硬盘通过I/O接到南桥。
异步通信:
同步通信:
CPU主频的概念:HZ是单位时间内发生的周期次数
一级缓存、二级缓存、三级缓存,数字越小离CPU越近,造价也越高。
缓存的提出,是为了解决CPU与内存速度不协调而出现的。
寄存器的速度可以和CPU的速度一致。
程序的局部性原理:时间上的局部性和空间上的局部性。
时间上的局部性:最近访问的数据,可能以后还要使用到。
空间上的局部性:靠近CPU的最近的数据会再次被访问。
1、机器语言
2、微码(汇编语言)——需要一个编译器来把微码转换成机器能识别的二进制数据。
微码是芯片(CPU)自带的(不同厂商之间的芯片是不一样的)
3、高级语言
API:applicationprogrammers interface应用程序接口
库,其实就是一种虚拟设备,就是一个API。
API其实就是一种中间层。是不同的硬件设备之间抽象出来的中间层。以达到,不同的芯片之间能同时运行同一个程序。
硬件架构:CPU芯片之间的不同序列。
ARM:
X86 : 32位
X64
安腾:64位CPU,原来是属于惠普的,被英特尔买过来。
alpha:惠普的64位CPU。
UltraSparc:
Power:主频超过4G的CPU。
M68000,M68k:
PowerPC:
CPU的瓶颈是4G,现在是通过多核来实现了。
操作系统:
os:
Windows:
Linux:
Unix:
HP-UX
Solaris
AIX
SCOUNIX
Unixware
OS/2
CPU:slice(时间片)
memory:
分段
虚拟地址空间:32位系统有4G的空间。
进程:
程序和进程是两码事。
程序:就是一段程序。
进程:运行的程序,实际上就是处理过程(有生命周期的)。
操作系统实际上就是负责协调硬件工作的程序。
库:说白了就是一堆的程序,它没有程序的入口,自己不能执行,只提供调用接口,被其他程序调用。就是不同硬件之间的中间层。
操作系统其实就是一个接口。
操作系统的接口:system call(系统调用)。
有了操作系统,(进程)就不能直接跟硬件打交道,只能通过操作系统来实现。
操作系统最底层是内核,再上一点就是库。
就好比:内核是麦子,麦子可以磨成面粉做成面条,也可以做成馒头。面条和馒头就是库。
程序员编程的时候,一般都是在调用库,也就是别人已经做好了功能直接拿来用即可,来提高效率。
库是依赖于操作系统的,windows的库和linux的库是不一样的。
应用是如何工作的?
shell:是人机交互的接口。shell是能接受用户指令(点击打开某个应用),传给内核,执行指令的。
例如,我要执行打开一个word文档。
shell分两种:
GUI:图形用户界面。
CLI:命令行形式。
各个操作系统之间的库的内部实现方式不一样,但是,他们的接口一样的话,那么这段程序也是可以运行在不同操作系统上的。
内存划分:
内核功能:
进程管理
内存管理
提供文件系统
提供网络功能
提供硬件驱动
提供安全机制
批处理系统,是现代操作系统的前身。
GE,Bell,MIT:使用汇编语言研发。
MainFrame
Multics操作系统。
DEC(数字设备公司):
PDP-11,PDP-7
Unics ——》 Unix
B语言(脚本语言),引入静态变量和指针——》C语言
VAX——》vms
PDP
Xerox:复印机
PARK
FreeBSD:运行在pc机上
OpenBSD:安全
NetBSD:服务
Sun OS ——》 Solaris(正统的Unix)
被Oracle收购(67亿美元)
GNU:GNU is Not Unix
GPL:General Public License
LGPL:Lesser
GPLV2:
GPLV3:
BSD:
Apache:
开源:开放源代码
自由:
自由获取,自由修改,自由学习
Emacs:文本编辑器
gcc: GNU C Complier
Linux(只是一个内核,一些源代码,还没编译):glibc,gcc
源代码: C——》编译成二进制(交叉编译)
ABI:Application Binary Interface
第三方组织(主要负责编译linux源代码等的):
RedHat:
SLS:
Debian:
SUSE:
发行商: release(发行,释放)
CentOS:Community ENTerpriseOS (社区版红帽)
Fedora:(红帽捐给它的),为红帽企业级升级提供稳定前提的保证。
Ubuntu:基于Debian二次发行版。
本文出自 “laddie” 博客,请务必保留此出处http://smallboy.blog.51cto.com/5433065/1566949
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。