zoukankan      html  css  js  c++  java
  • OS与CPU架构间的关系

    回顾一下历史,年轻的Linus Torvalds为了将仅能运行在昂贵大型机上的UNIX移植到Intel 80386的PC平台上,因此才有了Linux的设计初衷。。。

    当前主流的OS有UNIX,Linux,VxWorks等,CPU架构则主要分为RISC和CISC,Intel的X86 CPU是CISC的代表,ARM设计的微处理器芯片则为CISC的代表。X86 CPU由于体积大、功耗高主要应用于PC市场,而ARM主要则广泛应用于嵌入式设备中。众所周知,OS是运行于硬件设备之上的系统管理软件,它和CPU架构之间有何关系呢?不同CPU架构的指令集、寄存器数量、CPU指令格式以及指令的解码执行原理差别较大。OS可以粗略分为BSP和内核,其中内核是基于BSP之上的,它可以认为是硬件平台无关的,BSP(Board Support Package)则与底层硬件相关,它包含加电硬件初始化,加载内核,硬件设备驱动等程序,主要使用汇编编写,我们知道汇编程序是最贴近硬件的程序设计语言,而相应的汇编器是基于目标板CPU的指令集和寄存器设计的,这也是c/c++目标程序无法跨越不同CPU平台的原因。 因此,OS需要为不同目标平台开发特定的BSP(可能还需要开发不同的汇编器),BSP是OS进行硬件平台移植的基础。主流的OS中,VxWorks,Linux均支持X86和ARM架构,UNIX只支持RISC CPU,Windows XP版本只支持X86,Windows Phone8版本据说会支持ARM架构。随着Post-PC时代的到来以及CISC架构的崛起,诸如MicroSoft的OS提供商开始加大ARM架构的支持力度,冀望抢占移动设备OS市场。

  • 相关阅读:
    (五)CSS和JavaScript基础
    (四)标签框架
    (三)表单与servlet的初步结合
    (三)文档结构(上)
    (二十一)持有对象以及泛型基础(1)
    (二十)内部类详解(转)
    (十九)接口类型的简介
    nginx配置文件
    nginx负载均衡
    debian iptables持久化
  • 原文地址:https://www.cnblogs.com/tonybright/p/2343267.html
Copyright © 2011-2022 走看看