Operating system footprint/core OS为400字节意味着什么?

Operating system footprint/core OS为400字节意味着什么?,operating-system,tinyos,memory-footprint,footprint,Operating System,Tinyos,Memory Footprint,Footprint,我正在为学校作业研究TinyOS,读到“核心操作系统是400字节”,另一个来源说“TinyOS的内存是400字节”,这到底意味着什么?这是它在硬盘上实际占用的空间吗? 像windows这样的“传统”操作系统有多大 我找到的关于“足迹”实际含义的答案也令人困惑。因为它似乎意味着实际的物理空间和内存/磁盘空间。只是解释一下背景,TinyOS并不是一个真正的操作系统: TinyOS有一个基于组件的编程模型,由 nesC语言是C.TinyOS的一种方言,在传统语言中不是OS 感觉它是一个嵌入式系统的编程

我正在为学校作业研究TinyOS,读到“核心操作系统是400字节”,另一个来源说“TinyOS的内存是400字节”,这到底意味着什么?这是它在硬盘上实际占用的空间吗? 像windows这样的“传统”操作系统有多大


我找到的关于“足迹”实际含义的答案也令人困惑。因为它似乎意味着实际的物理空间和内存/磁盘空间。

只是解释一下背景,TinyOS并不是一个真正的操作系统:

TinyOS有一个基于组件的编程模型,由 nesC语言是C.TinyOS的一种方言,在传统语言中不是OS 感觉它是一个嵌入式系统的编程框架和一套 支持将特定于应用程序的操作系统构建到 每个应用程序。典型应用程序的大小约为15K,其中 基本操作系统大约是400字节;最大的应用程序是 类似数据库的查询系统,大约是64K字节

TinyOS是一个软件构建系统,旨在使软件工程师能够更轻松地为没有硬盘驱动器的微型设备()构建软件。相反,程序通常存储在设备的微控制器内——例如,我链接到的设备有48k字节的闪存(像这样的小型嵌入式设备通常使用闪存存储程序)。48k的代码不是很多,所以当你将软件加载到设备上时,它占用尽可能少的空间是非常重要的

因此,“基本占用400字节”意味着,在您(软件工程师)编写的代码之上,TinyOS框架(支持并为您的代码提供服务)只添加了额外的400字节(这真是太神奇了!)您的程序代码将实际加载到设备的闪存中。然而,这并不是唯一的开销——根据设备的不同,TinyOS可能还包括各种不同的支持驱动程序,用于该设备上存在的任何芯片和组件

有关实际程序大小的一些示例,请参见

因此,我发现使用TinyOS为不同的设备构建相同的应用程序可以产生非常不同的结果。例如,如果我为MicaZ无线传感器构建了一个非常简单的程序,我会得到:

compiled NullAppC to build/micaz/main.exe
         610 bytes in ROM
           4 bytes in RAM
这意味着总程序代码加上基本操作系统(400字节)是610字节(程序也将使用4字节的RAM)。但是,如果我为TelosB构建相同的程序:

compiled NullAppC to build/telosb/main.exe
        1328 bytes in ROM
           6 bytes in RAM

1328字节!很明显,TelosB需要更多的附加软件,大概是因为TelosB上的组件需要更复杂的附加驱动程序软件。

仅解释一下背景,TinyOS并不是一个真正的操作系统:

TinyOS有一个基于组件的编程模型,由 nesC语言是C.TinyOS的一种方言,在传统语言中不是OS 感觉它是一个嵌入式系统的编程框架和一套 支持将特定于应用程序的操作系统构建到 每个应用程序。典型应用程序的大小约为15K,其中 基本操作系统大约是400字节;最大的应用程序是 类似数据库的查询系统,大约是64K字节

TinyOS是一个软件构建系统,旨在使软件工程师能够更轻松地为没有硬盘驱动器的微型设备()构建软件。相反,程序通常存储在设备的微控制器内——例如,我链接到的设备有48k字节的闪存(像这样的小型嵌入式设备通常使用闪存存储程序)。48k的代码不是很多,所以当你将软件加载到设备上时,它占用尽可能少的空间是非常重要的

因此,“基本占用400字节”意味着,在您(软件工程师)编写的代码之上,TinyOS框架(支持并为您的代码提供服务)只添加了额外的400字节(这真是太神奇了!)您的程序代码将实际加载到设备的闪存中。然而,这并不是唯一的开销——根据设备的不同,TinyOS可能还包括各种不同的支持驱动程序,用于该设备上存在的任何芯片和组件

有关实际程序大小的一些示例,请参见

因此,我发现使用TinyOS为不同的设备构建相同的应用程序可以产生非常不同的结果。例如,如果我为MicaZ无线传感器构建了一个非常简单的程序,我会得到:

compiled NullAppC to build/micaz/main.exe
         610 bytes in ROM
           4 bytes in RAM
这意味着总程序代码加上基本操作系统(400字节)是610字节(程序也将使用4字节的RAM)。但是,如果我为TelosB构建相同的程序:

compiled NullAppC to build/telosb/main.exe
        1328 bytes in ROM
           6 bytes in RAM
1328字节!显然,TelosB需要更多的附加软件,这大概是因为TelosB上的组件需要更复杂的附加驱动程序软件