笔记01:计算机基础知识

了解计算机硬盘及编程;

来源:

笔记:

计算机基础知识:
  • 组成:

     	cpu(运算器、控制器),存储器(主:内存,辅:磁盘等),输入设备(网卡,
     	键鼠等),输出设备(console,tty等)
    
  • 总线:

     	控制总线、数据总线、地址总线 	。
    
  • 思考:

     	?内存的物理地址和线性地址:设计的原因 		
     	?CPU指令、指令集:普通指令(ring3)和特权指令(ring0) 		
     	?硬件之间如何协调工作 		
     	?系统代码如何启动在cpu上运行起来 	
    
  • 编程层次:

     	硬件规格:hardware specification
     	系统调用:system call
     	库调用:  library call
    
  • 编程语言:

     	机器指令-汇编语言(微代码)-高级语言: 		
     	汇编语言:微码编程,系统中某些与硬件相关的特有代码、驱动程序开发;
     	高级语言C,C++:系统级应用、驱动程序;
     	高级应用java,python,php:应用程序
    
     	驱动一般是C语言编写的,夹杂少量汇编语言,汇编语言更接近于机器代码,所以性能很好,
     	但程序编写困难,C语言是比汇编语言更高级更易于实现的一种较底	层语言。高级语言为什么
     	不直接编译成机器码,而编译``成汇编代码?
    
     		1)方便优化和调试。直接编译为机器码时,如果程序运行出错,程序员不得不去分析
     		海量复杂的机器码来找出问题,既不现实也不效率。
    
     		2)分层可以有效地减弱编译器编写的复杂性,提高了效率.就像网络通 讯的实现需要分
     		成很多层一样,主要目的就是为了从人脑可分析的角度来减弱复杂性。
    
     		3)如果把高级语言的源代码直接编译成机器码的话,那要做高级语言到机器码之间的
     		映射,如果这样做的话,每个写编译器的都必须熟练机 器码。造成编译工作的大量重复
    
  • UI

     GUI:Graphic User Interface
     CLI:Command Line Interface
    
  • ABI和API

     ABI:Application Binary Interface,应用二进制接口
     API:Application Program Interface,应用编程接口
    
  • CPU架构类型

     x86
     x64
     arm
     m68000,m68k(摩托罗拉)
     power(IBM)
     powerpc(IBM联合Apple等开发)
     ultrasparc(SUN)
     alpha(HP)
     安腾(HP)
    
  • 操作系统类型:

     Windows
     Linux
     	www.kernel.org
     Unix:
     	
     	System:(Bell Lab)
     		
     		AIX(IBM)
     		Solaris(SUN)
     		HP-UX(HP)
     	BSD:Berkeley System Distribution
     		NetBSD
     		OpenBSD
     		FreeBSD
    
  • 开源协议

     MIT:Richard Stallman
     	GNU:GNU is not Unix;
     		GPL:General Public License
    
  • 程序

     	指令(只读)+数据(读写);或算法+数据结构
     	运行程序格式:
     			Windows:exe,dll(dynamic link library);
     			Linux:elf,so(shared object);
     	程序运行模式:
     			用户空间;
     			内核空间;
     	POS(IX):Portable Operating System
    

拓展:

		《奇点临近》

Tip:

1.一万小时定律
2.计算机的工作原理 
3.红帽认证(个人不建议考):RHCSA、RHCE、RHCA
4. 博客内容:what,why,when,where,who,how

备忘:

docker,zookeeper,zen,kvm,puppet(ruby),saltstack(python)
,zabbix,spark,storm,cobbler
elk:elaticsearch,logstash,kibana

没有更多推荐了,返回首页