初识linux操作系统

加法器:

         每个加法器只能对位运算。三位数相加,就要3个加法器。




数据总线、控制总线(指令总线)

电流:负电荷的逆向运动。

 

程序:数据+指令。

 

寄存器:在CPU的运算器上(暂时记忆数据)。

 

RAM:随机访问存储器。

ROM:只读存储器。(存取BIOS等设置的)

 

poll机制(轮询):

 

interrupt机制(中断):硬件通知机制

 

前端总线(FSB):

 

北桥:离CPU比较近,高速总线控制器。早起连接内存的。现在主要是连接南桥了。

 

南桥:低速总线控制器。主要连接外围设备的。

硬盘通过I/O接到南桥。

 

异步通信:

同步通信:

 

CPU主频的概念:HZ是单位时间内发生的周期次数

 

 

一级缓存、二级缓存、三级缓存,数字越小离CPU越近,造价也越高。

缓存的提出,是为了解决CPU与内存速度不协调而出现的。

寄存器的速度可以和CPU的速度一致。

 

程序的局部性原理:时间上的局部性和空间上的局部性。

时间上的局部性:最近访问的数据,可能以后还要使用到。

空间上的局部性:靠近CPU的最近的数据会再次被访问。

 

 

1、机器语言

2、微码(汇编语言)——需要一个编译器来把微码转换成机器能识别的二进制数据。

微码是芯片(CPU)自带的(不同厂商之间的芯片是不一样的)

3、高级语言

 

APIapplicationprogrammers interface应用程序接口

库,其实就是一种虚拟设备,就是一个API

API其实就是一种中间层。是不同的硬件设备之间抽象出来的中间层。以达到,不同的芯片之间能同时运行同一个程序。

 

硬件架构:CPU芯片之间的不同序列。

 

 

ARM

X86 : 32

X64

安腾:64CPU,原来是属于惠普的,被英特尔买过来。

alpha:惠普的64CPU

UltraSparc

Power:主频超过4GCPU

M68000M68k

PowerPC

 

CPU的瓶颈是4G,现在是通过多核来实现了。

 

 

操作系统:

os

Windows

Linux

Unix

         HP-UX

         Solaris

         AIX

         SCOUNIX

         Unixware

OS/2

 

 

CPUslice(时间片)

memory

分段

虚拟地址空间:32位系统有4G的空间。

进程:

程序和进程是两码事。

程序:就是一段程序。

进程:运行的程序,实际上就是处理过程(有生命周期的)。

 

操作系统实际上就是负责协调硬件工作的程序。

 

库:说白了就是一堆的程序,它没有程序的入口,自己不能执行,只提供调用接口,被其他程序调用。就是不同硬件之间的中间层。

 

操作系统其实就是一个接口。

操作系统的接口:system call(系统调用)。

 

有了操作系统,(进程)就不能直接跟硬件打交道,只能通过操作系统来实现。

 

操作系统最底层是内核,再上一点就是库。

就好比:内核是麦子,麦子可以磨成面粉做成面条,也可以做成馒头。面条和馒头就是库。

程序员编程的时候,一般都是在调用库,也就是别人已经做好了功能直接拿来用即可,来提高效率。

 

库是依赖于操作系统的,windows的库和linux的库是不一样的。



应用是如何工作的?

shell:是人机交互的接口。shell是能接受用户指令(点击打开某个应用),传给内核,执行指令的。

例如,我要执行打开一个word文档。

shell分两种:

GUI:图形用户界面。

CLI:命令行形式。

各个操作系统之间的库的内部实现方式不一样,但是,他们的接口一样的话,那么这段程序也是可以运行在不同操作系统上的。

 

内存划分:


内核功能:

         进程管理

         内存管理

         提供文件系统

         提供网络功能

         提供硬件驱动

         提供安全机制

 

批处理系统,是现代操作系统的前身。

GE,BellMIT:使用汇编语言研发。

MainFrame

Multics操作系统。

 

DEC(数字设备公司):

PDP-11PDP-7

 

Unics  ——》 Unix

 

B语言(脚本语言),引入静态变量和指针——》C语言

 

VAX——》vms

 

PDP

 

 

 

Xerox:复印机

PARK

 

FreeBSD:运行在pc机上

OpenBSD:安全

NetBSD:服务

 

Sun OS ——》 Solaris(正统的Unix

Oracle收购(67亿美元)

 

 

GNUGNU  is  Not  Unix

GPLGeneral  Public  License

LGPLLesser

GPLV2

GPLV3

 

 

BSD:

Apache

 

开源:开放源代码

自由:

         自由获取,自由修改,自由学习

 

Emacs:文本编辑器

gcc GNU  C  Complier

 

 

Linux(只是一个内核,一些源代码,还没编译):glibcgcc

 

源代码: C——》编译成二进制(交叉编译)

 

ABIApplication  Binary  Interface

 

第三方组织(主要负责编译linux源代码等的):

RedHat

SLS

Debian

SUSE

发行商: release(发行,释放)

 

CentOSCommunity ENTerpriseOS (社区版红帽)

 

Fedora:(红帽捐给它的),为红帽企业级升级提供稳定前提的保证。

 

Ubuntu:基于Debian二次发行版。

 

 

 

 

 

 

 

 

 


 




本文出自 “laddie” 博客,请务必保留此出处http://smallboy.blog.51cto.com/5433065/1566949

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。