基础及背景介绍20181104

Posted sstjustdoit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础及背景介绍20181104相关的知识,希望对你有一定的参考价值。

一、冯诺依曼体系

运算器、控制器、存储器、输入设备、输出设备
技术分享图片

二、计算机的一些硬件

1.CPU

CPU是 central processing unit 的缩写,即中央处理器。有运算器和控制器组成,是整个计算机最重要的部分。关于CPU的一些概念:

  • 主频:CPU的时钟频率(CPU clock speed),指CPU运算时的工作频率(1秒钟发生的同步脉冲数),单位是Hz。
  • 外频:系统总线的工作频率,CPU与外部(主板芯片组)交换数据、指令的工作时钟频率。
  • 倍频:外频与主频相差的倍数。主频=外频X倍频
  • 高速缓存(cache):高速交换的存储器,用于减少处理器访问内存的平均时间,容量远小于内存,但速度却可以接近CPU的频率。分为一级(L1)、二级(L2)、三级缓存(L3)。
  • 内存总线速度(memory-bus speed):一般等同于CPU外频 ,指CPU与二级(L2)缓存和内存之间的通信速度。
  • 地址总线速度:决定了CPU可以访问的物理地址空间。
  • CPU的一些类型:
    x86、x64、ARM、power(IBM)、alpha(HP)、 Ultrasparc(sun)、安腾(compad)

2.内存

介于CPU 和外部存储之间,是CPU 对外部存储中程序与数据进行高速运算时存放程序指令、数据和中间结果的临时场所,它的物理实质就是一组具备数据输入输出和数据存储功能的高速集成电路。CPU能直接寻址的存储空间,存取速度快。计算机中所有程序的运行都在内存进行,对计算机性能影响很大。断电后数据丢失。

3.硬盘(hard disk driver)

  1. 由盘片(media)、磁头(read write head)、马达(spindel motor & voice coil motor)组成的外部存储设备,其读写方式是随机存取方式。
  2. 如果CPU有每秒处理1000个服务请求的能力,各种总线的负载能力能达到500个,但网卡只能接受200个请求,而硬盘只能负担150个的话,那这台服务器得处理能力只能是150个请求/秒,有85%的处理器计算能力浪费了
  3. SSD(Solid State Disk)泛指使用NAND Flash组成的固态硬盘。其特别之处在于没有机械结构,以区块写入和抹除的方式作读写的功能,因此在读写的效率上,非常依赖读写技术上的设计SSD读写存取速度快,性能稳定,防震性高,发热低,耐低温,电耗低,无噪音。

4.存储网络

DAS:直接存储(Direct Attached Storage)。存储设备与主机的紧密相连

  1. 管理成本较低,实施简单
  2. 储时直接依附在服务器上,因此存储共享受到限制
  3. CPU必须同时完成磁盘存取和应用运行的双重任务,所以不利于CPU的指令周期的优化,增加系统负担

NAS:网络连接存储(Network Attached Storage)。通过局域网在多个文件服务器之间实现了互联,基于文件的协议(NFS、SMB/CIFS ),实现文件共享。

  1. 集中管理数据,从而释放带宽、提高性能
  2. 可提供跨平台文件共享功能
  3. 可靠性较差,适用于局域网或较小的网络
    SAN:存储区域网络(Storage Area Networks,SAN),利用高速的光纤网络链接服务器与存储设备,基于SCSI,IP,ATM等多种高级协议,实现存储共享。
  4. 服务器跟储存装置两者各司其职
  5. 利用光纤信道来传输数据﹐以达到一个服务器与储存装置之间多对多的高效能、高稳定度的存储环境
  6. 实施复杂,管理成本高

三、操作系统(OS,operating system)

是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求

1、操作系统的功能

操作系统的有如下功能:

  • 硬件驱动
  • 进程管理
  • 内存管理
  • 网络管理
  • 安全管理
  • 文件管理

2、OS的交互式接口

有两类:

GUI: (Graphic User Interface)X protocol、Windows manager、desktop

  • desktop:
    GNOME(c,图形库gtk)
    KDE(C++,图形库qt)
    XFCE(轻量级桌面)

CLI(Command line interface)

  • shell程序:sh、csh、bash、ksh、

3、开发标准接口

ABI: Application Binary Interface

ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行

API:Application Programming Interface

API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译

POSIX: Portable Operating System Interface

是IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称

4、一些开源协议

OS=kernel+application
对于Linux,是Linux内核+GNU
GNU,GNU is not unix

关于一些开源协议可看此文一张图看懂开源协议及其区别
技术分享图片

四、编程语言

  • 低级语言
    • 机器语言:0和1
    • 汇编语言:和机器语言一一对应,与硬件有关的相关特有代码,驱动程序开发
  • 中级语言:C,C++
    • 操作系统,对性能要求较高的服务类程序
  • 高级应用语言:java,python,php,go
    • 应用级程序开发

五、什么是shell

Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
shell也被称为LINUX的命令解释器(command interpreter)
shell是一种高级程序设计语言

技术分享图片

cat /etc/shells    #查看当前系统支持的shells
echo $SHELL    #查看当前正在使用的shell

六、Linux的各版本

  1. slackware:SUSE Linux Enterprise Server (SLES)
    • Open Suse 桌面
  2. debian
    • Ubuntu
    • mint
  3. Redhat
    • RHEL: RedHatEnterprise Linux 每18个月发行一个新版本
    • CentOS:兼容RHEL的格式
    • Fedora:每6个月发行一个新版本
  4. Gentoo:极致性能,不提供传统意义的安装程序
  5. LFS: Linux From scratch 自制Linux(学完全部课程可自制)
    inux分支参考网站:http://futurist.se/gldt/

七、程序管理

程序的组成部分

二进制程序
库文件
配置文件
帮助文件

八、Linux的哲学思想

  • 一切都是一个文件(包括硬件)
  • 小型,单一用途的程序
  • 链接程序,共同完成复杂的任务
  • 避免令人困惑的用户界面
  • 配置数据存储在文本中















以上是关于基础及背景介绍20181104的主要内容,如果未能解决你的问题,请参考以下文章

UML相关工具一览(20181104 更新)

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

VsCode 代码片段-提升研发效率

Github介绍与使用

Github介绍与使用

逆向及Bof基础实践