• 2023-09-09Linux环境编程-内存管理
    一、内存管理用户层STL  智能指针/容器自动分配、释放   调用C++C++  new/delete           调用CC   malloc/free       调用POSIX\LinuxPOSIX brk/sbrk         调用内核Linux 
  • 2023-08-17内存暴涨问题细探
    1.  进程虚拟空间进程虚拟空间如下图:  如上图示:最高的1G空间保留给内核使用。接下来是栈,栈向低地址方向延伸(栈的大小受RLIMIT_STACK限制,默认为8M),下面是MMAP区(文件映射内存,如动态库等,SPP微线程的私有栈也位于这里),下面是堆(动态内存增长),堆向高地址方向延伸,接下来依次是
  • 2023-03-17xv6 page fault —— MIT6.S081操作系统工程
    当硬件对用户使用的虚拟地址进行翻译时,若该虚拟地址不正确,比如尚未映射、权限不足等,硬件会产生一个pagefault陷阱给操作系统,就是这样一个看似简单平常的机制,却给了操作系
  • 2023-01-10CSAPP MallocLab 笔记
    CSAPPMallocLab笔记CS15-213labnotessbrk函数为了实现动态的内存分配,一个核心的函数就是sbrk。memoryalignment8字节对齐的地址特征,其地址数值的16进制表
  • 2022-12-29【OSTEP】动态内存开辟 | 内存API常见错误 | UNIX: brk/sbrk 系统调用 | mmap创建匿名映射区域 | mmap创建以文件为基础的映射区域
     
  • 2022-12-25如何确保不使用动态内存
      在许多嵌入式应用程序中,内存分配必须是静态的,而不是动态的。意味着在应用程序中不应使用对malloc()或free()等内容的调用,因为它们可能会在运行时失败(内存不足、堆碎片)。
  • 2022-12-18如何确保不使用动态内存
      在许多嵌入式应用程序中,内存分配必须是静态的,而不是动态的。意味着在应用程序中不应使用对malloc()或free()等内容的调用,因为它们可能会在运行时失败(内存不足、堆碎片)