zoukankan      html  css  js  c++  java
  • 计算机基础

    机器语言

    计算机由硬件构成,由机器语言写成机器程序控制各硬件工作;

    程序必须根据硬件功能函数编写,所以每个程序都要参考硬件函数;

    机器语言是0和1,对程序设计者不友好;

    编译程序

    编译程序,就是将人类能够读写的语言转化成机器能看得懂的机器码,常见的编译器有C,C++,Java

    操作系统 

     内核

    操作系统其实也是一组程序,这组程序的重点在于管理计算机的所有活动以及驱动系统中的所有硬件;

    就是能让硬件能运行起来,对硬件的所有操作都必须要通过这个操作系统来完成;

    操作系统按理说可以由机器语言也可以由高级语言编写,在C语言之前,系统软件主要是用汇编语言编写的;

    系统调用(System Call)

     计算机系统主要由硬件构成,然后内核程序主要用于管理硬件,提供合理的计算机系统资源分配,因此硬件不同,内核就得要进行修改;

    计算机语言

     计算机语言指用于人与计算机之前通讯的语言,就是要告诉机器你要干嘛。

    刚开始的时候,程序员可通过手动控制计算机的哟;

    重用程序代码库这就是程序发展的

    程序

     程序是计算机要执行的指令的集合,而计算机语言就是用来编写程序的。

    分类

    机器语言,汇编语言和高级语言

    机器语言

    程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。

    汇编语言

    用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,通过汇编程序翻译成机器语言。

    操作:将寄存器BX的内容送到AX中

    1000100111011000  机器指令

    mov  ax,bx      汇编指令

     

    高级语言

     高级语言源程序可以用解释、编译两种方式执行,通常用后者。

    解释型:

    一般都是以文本形式存在,类似于一种命令。

    举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件。

    你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言。

    一般来说,现有的解释性语言都是采用的逐行解释一句,执行一句这样的方式来构建的。这样解释性语言每执行一次就要翻译一次,效率比较低。

    编译型:

    编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

     C语言

    C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言——C语言。

    C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

    C语言在实际运行中,都是以汇编指令的方式运行的,由编译器把C语言编译成汇编指令,CPU直接执行汇编指令。

    语言编译

    C语言编译过程:https://www.cnblogs.com/CarpenterLee/p/5994681.html 

    1.预处理(Preprocessing), 2.编译(Compilation)-->汇编代码, 3.汇编(Assemble)-->可执行程序, 4.链接(Linking)

    几个GNU的关键软件

    Emacs(功能类似于现在的IDE)

    GCC(GNU C)

    编译器

    嵌入式系统开发时,无法在目标主机中开发,所以gcc编译时,指定主机与目标机处理器型号不一致,则需要交叉编译器

    GLIBC (GNU C Library)(函数库)

     C语言函数库

    Bash shell

    操作操作系统的基本接口
    Linux

    严格来说,Linux只表示Linux其内核,广义上指一个操作系统最低层的内核及其提供的内核工具。Kernel+Tools。

    Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。性能之上。

    UNIX支持X86架构计算机时,开始付费模式-->基于X86架构的Unix Like的Minix诞生-->基于Minix设计理念与源码,基于GNU项目的编程环境,基于C语言和少量汇编语言开发,开放接口符合POSIX标准,对Internet的强大支持是其最大优势。

     POSIX标准定义了操作系统应该为应用程序提供的接口标准。只要依据这些标准规范来设计的内核和软件,理论上就可以搭配在一起执行了。

    内核版本

    2.5.xx  开发中版本

    2.6.xx  测试版本

    Distirbutions

    Linux Kernel(含Tools)+ Software(自定义) + Tools(自定义)的可安装的系统,称之为Linux distribution。 如centos,ubuntu。

  • 相关阅读:
    phpexcel导出带生成图片完美案例
    让Asp.Net WebAPI支持OData查询,排序,过滤。(转)
    Workflow笔记2——状态机工作流(转)
    WebAPI请求(转)
    WebApi参数传递总结(转)
    30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)(转)
    .net 分布式架构之分布式锁实现(转)
    C#分布式事务解决方案-TransactionScope(转)
    Windows 环境下分布式跨域Session共享(转)
    Session分布式共享 = Session + Redis + Nginx(转)
  • 原文地址:https://www.cnblogs.com/ValleyUp/p/10422746.html
Copyright © 2011-2022 走看看