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. 【ARM-Linux开发】Linux环境下使用eclipse开发C++动态链接库程序

    Linux环境下使用eclipse开发C++动态链接库程序 Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的 ...

  2. Linux常用安装配置

    一.创建.删除.分组 创建用户 命令:useradd  用户名 或    adduser 用户名 注意:只有root用户才能创建新用户 例如,创建一个名为zhangsan的用户 使用passwd命令为 ...

  3. [转帖]RedHat 如何更改网卡名 从ens192 改为eth0的问题

    RedHat 如何更改网卡名 从ens192 改为eth0的问题 2017年03月27日 17:50:47 the_conquer_zzy 阅读数 2416   版权声明:本文为博主原创文章,遵循CC ...

  4. [转帖]注解机制(Annotation,区别于comment)

    [19/04/16-星期二] 注解机制(Annotation,区别于comment(传统意义上的注释))   一.概念 作用: ——不是程序本身,可以对程序作出解释.(这一点和注释没什么区别) ——可 ...

  5. GCD and LCM HDU - 4497(质因数分解)

    Problem Description Given two positive integers G and L, could you tell me how many solutions of (x, ...

  6. THUSC2016

    补退选 Luogu LOJ BZOJ 比较裸. 建一棵Trie树,记录一下每个节点的\(sum\)表示经过该点的字符串个数,每次暴力插入.删除. 同时每个节点维护一个vector,记录一下这个点的\( ...

  7. 【NOIP2015普及组】 推销员(纪中数据-标准)

    题目 [题目描述] 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家住户,第 i 家住户到入口的距离为 ...

  8. python基础知识0-3

    一.根据用户输入内容输出其权限 # 根据用户输入内容打印其权限    # FYT --> 超级管理员 # eric --> 普通管理员 # tony,rain --> 业务主管 # ...

  9. Selenium 基本使用

    from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.c ...

  10. STM32F10xxx_异常与中断

    STM32F10xxx_异常与中断 [TOC] 更新记录 version status description date author V1.0 C Create Document 2018.10.2 ...