高级软件工程师之路-操作系统

操作系统

  • 克服了硬件差异

    早期的软件只能运行在某一型号的电脑上,不同电脑需要开发不同的软件版本
    操作系统使我们只需关注与操作系统的通讯和关系。

  • 提供了统一的应用程序接口

    即操作系统提供的API
    通过操作系统,我们不需要了解各硬件的参数和品牌

什么是软件运行环境

  • 软件运行环境包括软件环境和硬件环境
    软件环境:即我们的操作系统
    硬件环境:CPU内存磁盘等硬件的支持和各种硬件参数等

编译

  • 本地编译

    Source Code -> Compile -> Native Code
    编译器把我们写的源代码,即有特定语法的文本文件,通过编译操作,变成操作系统对应的本地代码。
    这种在当前目标平台下,编译出来的程序,只能放到当前平台下,才可以运行。

  • 交叉编译

    在一种平台上编译,编译出来的程序能运行在其他平台上,即交叉编译。
    点击查看交叉编译详解

Java的跨平台和C++的跨平台

  • Java

    Java的跨平台是通过Java虚拟机来实现的,而Java虚拟机的原理实是在操作系统的基础上,又加了一层,相当于专门为Java又开发了一个小操作系统,号称跨平台,事实上是伪平台,而Java虚拟机也拖慢了Java的运行速度。

  • C++

    C++的跨平台是指,一次编写,处处编译。即在代码中宏定义一个平台判断,在不同的平台下,利用不同的API。

BIOS

  • 1.自检及初始化

    开机后BIOS最先被启动,然后它会对电脑的硬件设施进行完全彻底的检验和测试,如果发现问题,会分两种情况处理:
    一.严重故障停机,不给出任何提示或信号
    二.非严重故障,则给出屏幕提示或声音警报信号,等待用户处理
    如果未发现问题,则将硬件设施设置为备用状态,然后启动操作系统,把对电脑的控制权交给用户。

  • 2.程序服务

    BIOS直接与电脑的Input或output设备打交道,通过特定的数据端口发出命令,传送或接受各种外部设备的数据,实现软件程序对硬件的直接操作。

  • 3.设置中断

    开机时,BIOS会告诉CUP各硬件设备的中断号,当用户发出使用某个设备的指令后,CPU就根据中断号使用相应的硬件来完成工作,再根据中断号跳回去执行原来的工作

引导文件


  • 作用

操作系统就是一个软件,而软件的启动必须通过引导,引导文件即是来打开操作系统的。
引导文件-百度百科

你可能感兴趣的:(计算机科学基础)