繁体   English   中英

没有操作系统,C如何分配memory? (操作系统用 C 编写的情况)

[英]How can C allocate memory without an OS? (Cases where OS is written in C)

我正在学习一门我们在微控制器上编写操作系统的课程。

操作系统是在 C 中编写的,讲师按以下方式为每个线程初始化堆栈空间。

int32_t TCB_STACK[NUM_OF_THREADS][STACK_SIZE];

如果首先没有运行任何操作系统来为它提供服务,如何分配 memory? 我错过了什么吗?

您不必在裸机系统上“分配”任何此类内容,您可以完全访问所有物理 memory,并且没有其他人可以与之共享。

在这样的系统上,那些 arrays 最终位于静态分配的 RAM memory 中,称为.bss .bss的位置和大小由 linker 脚本决定。 linker 脚本决定 memory 的哪些部分保留给什么。 堆栈、 .bss.data等。 同样,实际程序的flash memory可能会分成几个部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM