SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Yet another talk about basics in Linux
Memory
Vasyl Gomonovych
2020
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Agenda
I Physical Memory Overview
I Memory Management Unit
I Memory Nodes, Zones, Frames
I Boot time memory management
I Memblock
I Bootmem
I Physical memory allocation
I Slab allocator
I Userspace allocator
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Overview
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Virtual Memory
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Physical Memory Hierarchy
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Physical Memory Segmentation
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Memory Banks
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit access
I Cp15:c1:c0 -¿ MCR p15, 0, val, c1, c0, 0
I C0 – TCM status Tightly coupled memory
I C1 – control register
I C2 –
I C3 – domain access
I C4 –
I C5 –
I C6 –
I C7 – cache setup, clean, drain write buffer
I C8 –
I C9 – cache operation (victim pointer, cache lock down)
I C10 –
I C11 –
I C12 –
I C13 – current process ID
I C14 –
I C15 – round-robin replacemant
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit page table
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit tlb
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit tlb
I Data TLB
I Instruction TLB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache
I Virtually indexed
I Homonyms - the same virtual addresses in different
processes
I Synonyms - different virtual addresses maps to the same
physical
I Physically indexed
I Virtually Indexed Physically Tagged
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache structure
I Cache line is transfer unit between cache and RAM
I Make write asynchronous
I Clustering read and write
I Direct map cache
I Way Associative cache
I Fully Associative cache
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache miss
I Compulsory miss - miss after cache flash
I Capacity miss - cache is full no free lines
I Conflict miss - cache is full no free lines
I Coherence miss - miss triggered by coherence protocol
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit cache replacement
I Pseudo LRU
I FIFO
I Random
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit mapping
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit mapping
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit switch
I FCSE – Fast context switch
I Elimination of the cache and TLB flush
I Process ID
I 32MB VM limit for task size
I MVM = VA + (0x2000000 * process ID)
I Task switch change process ID and add entries to
domain access reg
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
memory management unit functionality
I Write policy
I Writeback – only to cache write
I Writethrue – write to cache and memory
I Allocation policy (miss case policy)
I Read allocate
I Write allocate - allocate line in cache read and store
I No write allocate - write directly to memory
I Lockdown – exempt from eviction (irq vector, ISR,
global data)
I Logical cache
I Physical cache
I Unified cache
I Split cache
I Cache hit vs cache miss (time penalty)
I Eviction
I Data streaming
I Thrashing
I Direct map vs set associativity
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Memory Nodes, Zones, Frames
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Boot time memory management
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Flat memory model
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Discontiguous memory model
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Sparse memory model
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Memblock
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Memblock
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Mips memblock
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Bootmem
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Buddy allocator
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLOB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLAB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLAB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB debug
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB debug
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB debug
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
SLUB debug
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
malloc chank
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
malloc buddy
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
thread local storage descriptor
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Software setup
I (1) - architecture defined register point on TCB start
I (2) - first TCB entry is a pointer on Dynamic Thread
Vector DTV
I (3) - TCP Thread Control Block
I (4) - TLS Thread Local Storage
I (5) - Static TLS
I (6) - Dynamic TLS
Static TLS blocks are memory blocks for thread-local
variables for modules or dynamically loaded libraries that load
in memory by dynamic linker during the main program load.
Dynamic TLS blocks are memory blocks for thread-local
variables for modules that load in runtime by dlopen()
syscall.
Static TLS module number 1 is always main program
executable region for own thread-local variables.
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
thread local storage
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
END
Questions?
Yet another talk
about basics in
Linux Memory
Vasyl Gomonovych
Physical Memory
Overview
Memory
Management Unit
Memory Nodes,
Zones, Frames
Boot time memory
management
Physical memory
allocation
SLOB SLAB SLUB
Userspace allocator
END
Links
I What Every Programmer Should Know About Memory
I The Linux Virtual Memory Manager
I Carnegie Mellon Computer Architecture
I ELF Handling For Thread-Local Storage
I elixir.bootlin.com

Contenu connexe

Similaire à Yet another talk_about_basics_in_linux_memory(1)

Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingMarian Marinov
 
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...Kuniyasu Suzaki
 
Faq on SnapDrive for UNIX NetApp
Faq on SnapDrive for UNIX NetAppFaq on SnapDrive for UNIX NetApp
Faq on SnapDrive for UNIX NetAppAshwin Pawar
 
Hitchhiker's guide to Tru64's AdvFS
Hitchhiker's guide to Tru64's AdvFSHitchhiker's guide to Tru64's AdvFS
Hitchhiker's guide to Tru64's AdvFSJustin Goldberg
 
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address TranslationMemory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address TranslationFarwa Ansari
 
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12sidg75
 
PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)Pavel Emelyanov
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A PrimerSaumil Shah
 
제2회난공불락 오픈소스 세미나 커널튜닝
제2회난공불락 오픈소스 세미나 커널튜닝제2회난공불락 오픈소스 세미나 커널튜닝
제2회난공불락 오픈소스 세미나 커널튜닝Tommy Lee
 
Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Pankaj Suryawanshi
 
Understanding domino memory 2017
Understanding domino memory 2017Understanding domino memory 2017
Understanding domino memory 2017mJOBrr
 
PFcache - LinuxCon 2015
PFcache - LinuxCon 2015PFcache - LinuxCon 2015
PFcache - LinuxCon 2015OpenVZ
 
Denser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel EmelyanovDenser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel EmelyanovOpenVZ
 
MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011Graham Weldon
 
Cpu caching concepts mr mahesh
Cpu caching concepts mr maheshCpu caching concepts mr mahesh
Cpu caching concepts mr maheshFaridabad
 
I/O System and Case Study
I/O System and Case StudyI/O System and Case Study
I/O System and Case StudyGRamya Bharathi
 
My sql with enterprise storage
My sql with enterprise storageMy sql with enterprise storage
My sql with enterprise storageCaroline_Rose
 
Storage best practices
Storage best practicesStorage best practices
Storage best practicesMaor Lipchuk
 

Similaire à Yet another talk_about_basics_in_linux_memory(1) (20)

Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel tracking
 
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
 
Faq on SnapDrive for UNIX NetApp
Faq on SnapDrive for UNIX NetAppFaq on SnapDrive for UNIX NetApp
Faq on SnapDrive for UNIX NetApp
 
Hitchhiker's guide to Tru64's AdvFS
Hitchhiker's guide to Tru64's AdvFSHitchhiker's guide to Tru64's AdvFS
Hitchhiker's guide to Tru64's AdvFS
 
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address TranslationMemory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
 
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
 
HBase Accelerated: In-Memory Flush and Compaction
HBase Accelerated: In-Memory Flush and CompactionHBase Accelerated: In-Memory Flush and Compaction
HBase Accelerated: In-Memory Flush and Compaction
 
PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A Primer
 
제2회난공불락 오픈소스 세미나 커널튜닝
제2회난공불락 오픈소스 세미나 커널튜닝제2회난공불락 오픈소스 세미나 커널튜닝
제2회난공불락 오픈소스 세미나 커널튜닝
 
Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)
 
Understanding domino memory 2017
Understanding domino memory 2017Understanding domino memory 2017
Understanding domino memory 2017
 
PFcache - LinuxCon 2015
PFcache - LinuxCon 2015PFcache - LinuxCon 2015
PFcache - LinuxCon 2015
 
Denser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel EmelyanovDenser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel Emelyanov
 
MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011
 
Cpu caching concepts mr mahesh
Cpu caching concepts mr maheshCpu caching concepts mr mahesh
Cpu caching concepts mr mahesh
 
Memory
MemoryMemory
Memory
 
I/O System and Case Study
I/O System and Case StudyI/O System and Case Study
I/O System and Case Study
 
My sql with enterprise storage
My sql with enterprise storageMy sql with enterprise storage
My sql with enterprise storage
 
Storage best practices
Storage best practicesStorage best practices
Storage best practices
 

Dernier

TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...Nguyen Thanh Tu Collection
 
Major project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategiesMajor project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategiesAmanpreetKaur157993
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfPondicherry University
 
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...Gary Wood
 
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaPersonalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaEADTU
 
The Liver & Gallbladder (Anatomy & Physiology).pptx
The Liver &  Gallbladder (Anatomy & Physiology).pptxThe Liver &  Gallbladder (Anatomy & Physiology).pptx
The Liver & Gallbladder (Anatomy & Physiology).pptxVishal Singh
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...Nguyen Thanh Tu Collection
 
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptxAnalyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptxLimon Prince
 
diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....Ritu480198
 
How to Send Pro Forma Invoice to Your Customers in Odoo 17
How to Send Pro Forma Invoice to Your Customers in Odoo 17How to Send Pro Forma Invoice to Your Customers in Odoo 17
How to Send Pro Forma Invoice to Your Customers in Odoo 17Celine George
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxannathomasp01
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽中 央社
 
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...MysoreMuleSoftMeetup
 

Dernier (20)

Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Major project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategiesMajor project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategies
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
 
OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...
 
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
 
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaPersonalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
 
Supporting Newcomer Multilingual Learners
Supporting Newcomer  Multilingual LearnersSupporting Newcomer  Multilingual Learners
Supporting Newcomer Multilingual Learners
 
The Liver & Gallbladder (Anatomy & Physiology).pptx
The Liver &  Gallbladder (Anatomy & Physiology).pptxThe Liver &  Gallbladder (Anatomy & Physiology).pptx
The Liver & Gallbladder (Anatomy & Physiology).pptx
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 
Including Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdfIncluding Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdf
 
VAMOS CUIDAR DO NOSSO PLANETA! .
VAMOS CUIDAR DO NOSSO PLANETA!                    .VAMOS CUIDAR DO NOSSO PLANETA!                    .
VAMOS CUIDAR DO NOSSO PLANETA! .
 
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptxAnalyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
 
diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....
 
How to Send Pro Forma Invoice to Your Customers in Odoo 17
How to Send Pro Forma Invoice to Your Customers in Odoo 17How to Send Pro Forma Invoice to Your Customers in Odoo 17
How to Send Pro Forma Invoice to Your Customers in Odoo 17
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
MuleSoft Integration with AWS Textract | Calling AWS Textract API |AWS - Clou...
 
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
 

Yet another talk_about_basics_in_linux_memory(1)

  • 1. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Yet another talk about basics in Linux Memory Vasyl Gomonovych 2020
  • 2. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Agenda I Physical Memory Overview I Memory Management Unit I Memory Nodes, Zones, Frames I Boot time memory management I Memblock I Bootmem I Physical memory allocation I Slab allocator I Userspace allocator
  • 3. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Overview
  • 4. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Virtual Memory
  • 5. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Physical Memory Hierarchy
  • 6. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Physical Memory Segmentation
  • 7. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Memory Banks
  • 8. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit
  • 9. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit
  • 10. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit access I Cp15:c1:c0 -¿ MCR p15, 0, val, c1, c0, 0 I C0 – TCM status Tightly coupled memory I C1 – control register I C2 – I C3 – domain access I C4 – I C5 – I C6 – I C7 – cache setup, clean, drain write buffer I C8 – I C9 – cache operation (victim pointer, cache lock down) I C10 – I C11 – I C12 – I C13 – current process ID I C14 – I C15 – round-robin replacemant
  • 11. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit page table
  • 12. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit tlb
  • 13. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit tlb I Data TLB I Instruction TLB
  • 14. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache I Virtually indexed I Homonyms - the same virtual addresses in different processes I Synonyms - different virtual addresses maps to the same physical I Physically indexed I Virtually Indexed Physically Tagged
  • 15. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache
  • 16. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache structure I Cache line is transfer unit between cache and RAM I Make write asynchronous I Clustering read and write I Direct map cache I Way Associative cache I Fully Associative cache
  • 17. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache miss I Compulsory miss - miss after cache flash I Capacity miss - cache is full no free lines I Conflict miss - cache is full no free lines I Coherence miss - miss triggered by coherence protocol
  • 18. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit cache replacement I Pseudo LRU I FIFO I Random
  • 19. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit mapping
  • 20. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit mapping
  • 21. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit switch I FCSE – Fast context switch I Elimination of the cache and TLB flush I Process ID I 32MB VM limit for task size I MVM = VA + (0x2000000 * process ID) I Task switch change process ID and add entries to domain access reg
  • 22. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END memory management unit functionality I Write policy I Writeback – only to cache write I Writethrue – write to cache and memory I Allocation policy (miss case policy) I Read allocate I Write allocate - allocate line in cache read and store I No write allocate - write directly to memory I Lockdown – exempt from eviction (irq vector, ISR, global data) I Logical cache I Physical cache I Unified cache I Split cache I Cache hit vs cache miss (time penalty) I Eviction I Data streaming I Thrashing I Direct map vs set associativity
  • 23. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Memory Nodes, Zones, Frames
  • 24. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Boot time memory management
  • 25. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Flat memory model
  • 26. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Discontiguous memory model
  • 27. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Sparse memory model
  • 28. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Memblock
  • 29. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Memblock
  • 30. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Mips memblock
  • 31. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Bootmem
  • 32. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Buddy allocator
  • 33. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLOB
  • 34. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLAB
  • 35. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLAB
  • 36. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB
  • 37. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB debug
  • 38. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB debug
  • 39. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB debug
  • 40. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END SLUB debug
  • 41. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END malloc chank
  • 42. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END malloc buddy
  • 43. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END thread local storage descriptor
  • 44. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Software setup I (1) - architecture defined register point on TCB start I (2) - first TCB entry is a pointer on Dynamic Thread Vector DTV I (3) - TCP Thread Control Block I (4) - TLS Thread Local Storage I (5) - Static TLS I (6) - Dynamic TLS Static TLS blocks are memory blocks for thread-local variables for modules or dynamically loaded libraries that load in memory by dynamic linker during the main program load. Dynamic TLS blocks are memory blocks for thread-local variables for modules that load in runtime by dlopen() syscall. Static TLS module number 1 is always main program executable region for own thread-local variables.
  • 45. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END thread local storage
  • 46. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END END Questions?
  • 47. Yet another talk about basics in Linux Memory Vasyl Gomonovych Physical Memory Overview Memory Management Unit Memory Nodes, Zones, Frames Boot time memory management Physical memory allocation SLOB SLAB SLUB Userspace allocator END Links I What Every Programmer Should Know About Memory I The Linux Virtual Memory Manager I Carnegie Mellon Computer Architecture I ELF Handling For Thread-Local Storage I elixir.bootlin.com