CPU:

CPU内部可以分为两个主要单元:算数逻辑单元和控制单元。

算数逻辑单元主要用于程序运算和逻辑判断,控制单元主要用于协调各个组件和各单元的工作。

CPU基本可以分为两种:

精简指令集和复杂指令集系统。

精简指令集:

每个指令都较为精简,执行时间比较短,完成的操作也比较简单。指令的性能较佳,但是要实现复杂的功能,需要多个指令来完成。常见的微指令集CPU有Sun公司的SPARC系列,IBM的Power Architecture系列和ARM系列。

我们经常使用的手机,交换机。路由器,导航设备的CPU基本都是ARM系列的。而SPARC常用于大型工作站中,如银行金融体系的主要服务器。

复杂指令集:

AMD、Intel等X86架构的CPU。

关于X86:因为Intel初期开发这个CPU的型号较8086,80286,80386,所以后来就叫X86架构。64位的X86又叫X86_64.

操作系统

操作系统内核(Kernel):操作系统内核用于管理CPU,内存,硬盘,网络,其他各种输入输出设备等的一组复杂程序。

系统调用(System Call):内核提供的调用内核功能的API。

内核功能:

  • 系统调用接口(就是上面的System Call)
  • 程序管理:进程管理 CPU调度
  • 内存管理:内存管理 虚拟内存 内存交换
  • 文件系统管理:文件系统的格式(如NTFS),输入输出。
  • 设备驱动

关于设备驱动:

  • 对于显卡,硬盘,网卡等,操作系统都需要驱动程序才能够使用该硬件。
  • 一般来说,操作系统提供接口,开发商按照接口制作他们的驱动程序。
  • 驱动程序又开发商提供,跟操作系统开发者无关。

linux

操作系统需要支持不同指令集的CPU,linux在刚开发的时候,只能驱动386相关的硬件。

window系统是开发在386架构之上的系统,早期的苹果系统是建立在IBM的Power Architecture基础上的,所以早期的苹果系统是无法安装Windows系统的。2006之后苹果使用了Intel的X86架构。

unix

unix是贝尔实验室的一个员工Thompson开发出来的,目的是满足自己的工作需求。第一版是以汇编语言编写的。然后在贝尔实验室内部广为流传,后来Thompson和伙伴Ritchie准备将unix以高级的语言重新编写,第一版使用了B语言(也是Thompson编写的),不过性能表现不太好,所以Ritchie改进并且精简了B语言,改写成了后来的C语言。然后以C语言重新编写了unix系统。

BSD是unix的基础上构建起来的,增加了很多工具软件和编译程序,是unix的重要分支。

GNU项目

GNU项目是Stallman成立的开源软件项目,在c的圈子,类似于java的apache。

GUN的license叫GPL。

GCC是一款c程序编译软件,是Stallman的编写的。全名叫GNU C Compailer。

Stallman创立GNU的一个重要目的就是为了开发一个自由的unix操作系统。因为当时unix操作系统已经有了版权的纠纷。

linux

芬兰人linux Torvalds利用GNU的bash工作环境以及GCC编译程序等自由软件,编写了linux的第一版。只支持386平台的操作系统内核。

后来经过一个虚拟团队的维护,才渐渐有了现在的linux。

distribution

linux kernel + Software + tools + Ducumentation = distribution

比如 Redhat,Ubuntu就是linux的distribution。

我们说linux版本和distribution的版本的时候要注意,这两者是不一样的。

linux版本是linux内核的版本。

linux 计算机概论 Linux介绍的更多相关文章

  1. 学习Linux——计算机概论

    一直想学习Linux,但计划时不时被耽误,现在开始,决定每天开始学习Linux.学习从最简单的开始,一步步,不能将最简单的东西忽略. 1.计算机硬件的五大单元 计算机分为三部分:输入单元,中央处理器即 ...

  2. Linux及文件系统基本介绍

    Linux及文件系统基本介绍 1   互联网行业现状 在服务器端市场: 超级计算机 2014年11月的数据显示前500系统中的485个系统都在运行着 Linux 的发布系统,而仅仅只有一台运行着 Wi ...

  3. Linux、GUN/Linux、GUN、GPL以及各个发行版本详细介绍

    学习Linux很久了,却对GUN,Linux,Linux发行版等无所了解,是不是觉得很对不起自己啊.呵呵,所以我就在网上找了些资料,总结在一起,还算是比较能说明问题的. 什么是Linux? 也许很多人 ...

  4. 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍

    01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...

  5. 详细的linux目录结构详细介绍

    详细的linux目录结构详细介绍 --树状目录结构图 下面红色字体为比较重要的目录 1./目录 目录 描述 / 第一层次结构的根,整个文件系统层次结构的根目录 /bin/ 需要在单用户模式可用的必要命 ...

  6. 计算机与linux操作系统的发展

    一.计算机 (一)计算机的概念 1.概念:计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速 ...

  7. (第五篇)Linux操作系统基本结构介绍

    Linux操作系统基本结构介绍 Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用 ...

  8. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  9. Linux curl使用简单介绍

    在两台新搬迁的微信服务器上执行命令: curl -H "Content-Type: application/json" -d '{"partner_no":&q ...

随机推荐

  1. 深入理解C语言-结构体做函数参数

    结构体做函数参数,在C语言中属于常见现象,此时为了内存考虑,不传递结构体,而是传递结构体的地址 结构体定义 struct Man { char name[64]; int age; }; 结构体可以与 ...

  2. 论文阅读 | TextBugger: Generating Adversarial Text Against Real-world Applications

    NDSS https://arxiv.org/abs/1812.05271 摘要中的创新点确实是对抗攻击中值得考虑的点: 1. effective 2. evasive    recognized b ...

  3. 支付宝网站即时支付开发,MD5加签名规则处理代码展示

    一.如果传入进来的Object对象,最后生成制定格式的字符换 text: list拼接成字符串,map中的所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,list的元素之间用“| ...

  4. [转帖]如何在Linux上使用命令行查看硬件信息

    如何在Linux上使用命令行查看硬件信息 时间:2016-01-13   作者:admin 分类:新手入门 阅读:126次 http://embeddedlinux.org.cn/emb-linux/ ...

  5. Oracle 中 decode 函数用法(字段A,B, C,A不为空则取A,否则取B,B为空则取C)

    –decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) SELECT DECODE(TEMP.SCORE, ‘A’, ‘90-100’, ‘B’, ‘80-89’, ‘C’, ...

  6. 老贾的第二天(git常用命令)

    git init #创建一个本地的仓库 **git add test.txt #指定文件添加 ***git add . #当前文件夹下所有内容 添加到暂存区 ***git commit -m &quo ...

  7. 使用SQL语句查询Elasticsearch索引数据

    Elasticsearch 的官方查询语言是 Query DSL,存在毕竟有存在的道理,存在即合理.SQL 作为一个数据库查询语言,它语法简洁,书写方便而且大部分服务端程序员都清楚了解和熟知它的写法. ...

  8. 怎样使用 v-html 指令?

    v-html 可以在目标节点位置内部插入 html 子节点, 跟节点的 .innerHTML 属性类似, 使用方法如下: <!DOCTYPE html> <html lang=&qu ...

  9. 第一次碰到%*s这个鬼东西。。

    printf("%*s",5,"123"); 输出为 ##123  (其中##表示空格) 这个鬼东西是用来控制格式的. 当然也可以用来输出空格个数

  10. charles 抓包 (二)

    本文基于charles 抓包 https (1)中的配置完成. 1.移动设备上的网络请求 打开要调试的APP,请求就会先发送到Charles,然后验证是否允许访问. 当点击允许后,可以在Proxy - ...