《程序是怎样跑起的》第九章

xl592338942 xl592338942     2023-03-12     602

关键词:

操作系统的原型就是仅具有加载和运行功能的监控程序。通过事先启动监控程序,程序员就可以根据需要将各种程序加载到内存中运行。随着时代的进发展,开始有更多的功能被追加到监控程序中,比如,为了方便程序员的硬件控制程序、编程语言处理器以及各种实用程序等,结果就形成了和现在相差不大的操作系统。因此,操作系统本身并不是单独的程序,而是多个程序的集合体。

在操作系统这个运行环境下,应用并不是直接控制硬件,而是通过操作系统来间接控制硬件的。变量定义中涉及的内存的申请分配,以及函数的运行结果,都不是面向硬件而是面向操作系统的。

操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用,也就是应用对操作系统的功能进行调用的意思。移植性指的是同样的程序在不同操作系统下运行时需要花费的时间等,费时越少说明移植性越好

而Windows操作系统的主要特征如下所示,(1) 32位操作系统(也有64位版本)(2)通过API函数集来提供系统调用(3)提供采用了图形用户界面的用户界面(4)通过WYSIWYG实现打印输出(5)提供多任务功能(6)提供网络功能及数据库功能(7)通过即插即用实现设备驱动的自动设定。

 

第九章

...reAbstractionLayer,硬件抽象层)是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。统一硬件的调用接口。由于HAL有标准的调用接口,所以可以利用HAL屏蔽Linux驱动复杂、不统一的... 查看详情

第九章

...核层上的应用层,增加HAL的主要目的是除了尽量避免应用程序直接访问Linux驱动外,还有一个重要的原因,就是保护“私人财产”。   编写一个支持HAL的Linux驱动程序的步骤:   第一步编写Linux驱动:l... 查看详情

第九章

...tractionLayer,硬件抽象层,〉是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。Google为Android增加HAL的主要目的除了尽量避免应用程序直接访问Linux驱动外,还有一个重要原因... 查看详情

第九章

第九章介绍了硬件抽象层:HAL是建立在Linux驱动之上的一套程序库,这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。刚开始介绍了为什么要在Android中加入HAL,目的有三个,一,统一硬件的调用接口。二,解决了G... 查看详情

第九章

第9章HAL是建立在Linux驱动之上的一套程序库,是属于Linux内核层之上的应用层。传统的Linux系统中Linux驱动一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑代码。Android加入HAL主要有以下目的:1.统一硬件的调用接口2.解... 查看详情

第九章

...reAbstractionLayer,硬件抽象层)是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。在android中加入HAL的目的:1.统一硬件的调用接口。由于HAL有标准的调用接口,所以可以利用HAL... 查看详情

第九章

HAL(硬件抽象层)是建立在驱动之上的一套程序库,是位于内核上的应用层。HAL主要目的是为了保护“私人财产”。Linux内核采用GPL协议,该协议要求所有使用者基于GPL协议的源代码必须开源,这对于某些公司和个人是不利的... 查看详情

第九章心得

...tractLayer,即硬件抽象层,它是建立在Linux驱动之上的一套程序库,程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。为Android增加HAL的目的除了尽量避免应用程序直接访问Linux驱动外,还会保护私人财产。在Android中加... 查看详情

第九章jqui

一、什么是插件①是遵循一定接口规范编写的程序②是原有系统平台功能的扩展和补充③只能运行在规定的系统平台下,而不能单独运行注:由于jQuery插件是基于jQuery脚本库的扩展,所以所有jQuery插件都必须依赖于jQuery基础脚本... 查看详情

第九章硬件抽象层:hal

...版权问题以及一些特殊要求。接下来再以前第七章中的LED程序中加入HAL,应用程序不需 查看详情

第九章

编写一款支持HAL 的Linux 驱动程序的步骤第1 步编写Linux 驱动“编写Linux 驱动”,从表明上看是废话,但如果要为linux 驱动添加HAL,而且想尽量保护敏感数据。Linux 驱动的代码就要尽量简洁,尽可... 查看详情

第九章硬件抽象层:hal

...HAL     HAL是建立在Linux驱动之上的一套程序库。是属于Linux内核之上的应用层。     第一部分讲为什么要在Android中加入HAL,传统的Linux系统中Linux驱动一般有两种:访问硬件寄存器的代码和业务... 查看详情

第九章读书笔记

1、HAL是建立在Linux驱动之上的一套程序库,这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。2、Google为Android加入HAL主要有如下的目的:统一硬件的调用接口、解决了GPL版权问题。3.加入HAL的驱动使应用程序不需... 查看详情

第九章:硬件抽象层:hal

HAL(硬件抽象层)是建立在Linux驱动之上的一套主程序,这套主程序并不属于Linux内核,而是属于Linux内核层之上的应用层,Google为Android增加HAL测主要目的除了尽量避免应用程序直接访问Linux驱动外,还有一个重要原因,就是保护... 查看详情

第九章硬件抽象层:hal

...点: 一、HAL硬件抽象层是建立在Linux驱动之上的一个程序库。属于Linux内核层上的应用层,添加它的主要原因是尽量避免应用程序直接访问Linux驱动,保护个人的商品利益,传统的Linux驱动一般有两种类型的代码:访问硬件寄... 查看详情

第九章随笔

硬件抽象层:HALHAL硬件抽象层是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层上的应用层。在传统的Linux系统中Linux驱动一般有两种类型的代码。Google为Android加入HAL主要有以下目的:统一硬... 查看详情

javascript高级程序设计第九章--客户端检测

          javascript高级程序设计第九章--客户端检测客户端检测是javascript开发中最具争议的一个话题,由于浏览器间存在差别,通常需要根据不同浏览器的能力分别编写不同的代码。有下列常使用的客户端检测方法... 查看详情

第九章

本章实现的LED驱动包含了Linux驱动、HAL模块、Service程序库、NDK程序和Java程序。支持HAL的Linux驱动程序步骤如下:  1.编写Linux驱动;2.编写HALLibrary;3.编写ServiceLibrary;编写HAL模块的步骤和原理如下。第一步:定义结构体和... 查看详情