Files
amILearningEnough/docs/resources/operatingSystem/memoryMappedFiles.md
2024-12-21 01:23:20 +05:30

48 lines
2.3 KiB
Markdown

# Memory-Mapped Files
## Official Documentation
- **Linux Programmer's Manual: mmap(2)**
- [Link](https://man7.org/linux/man-pages/man2/mmap.2.html)
- **Windows API: Memory-Mapped Files**
- [Link](https://docs.microsoft.com/en-us/windows/win32/memory/file-mapping)
- **POSIX Programmer's Manual: mmap**
- [Link](https://pubs.opengroup.org/onlinepubs/9699919799/functions/mmap.html)
## Research Papers
- **"A Fast File System for UNIX" by M. K. McKusick et al. (1984)**
- [Link](https://dsf.berkeley.edu/cs262/FFS.pdf)
- **"The Design and Implementation of a Log-Structured File System" by M. Rosenblum and J. K. Ousterhout (1992)**
- [Link](https://people.eecs.berkeley.edu/~brewer/cs262/LFS.pdf)
- **"Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem" by G. R. Ganger and Y. N. Patt (1994)**
- [Link](https://www.usenix.org/legacy/publications/library/proceedings/bos94/full_papers/ganger.pdf)
## Additional Online Resources
- **Operating Systems: Three Easy Pieces - Memory-Mapped Files**
- [Link](https://pages.cs.wisc.edu/~remzi/OSTEP/vm-mmap.pdf)
- **GeeksforGeeks: Memory Mapped I/O**
- [Link](https://www.geeksforgeeks.org/memory-mapped-i-o/)
- **IBM Developer: Mapping files in memory**
- [Link](https://developer.ibm.com/technologies/systems/articles/au-memorymanager/)
## Books
- **"The Linux Programming Interface" by Michael Kerrisk**
- ISBN: 1593272200
- Provides a comprehensive guide to Linux and UNIX system programming, including memory-mapped files.
- **"Advanced Programming in the UNIX Environment" by W. Richard Stevens and Stephen A. Rago**
- ISBN: 0321637739
- Offers in-depth coverage of UNIX programming, including memory-mapped file operations.
- **"Windows System Programming" by Johnson M. Hart**
- ISBN: 0134382250
- Covers Windows system programming, including detailed explanations of memory-mapped files.
## Standards
- **POSIX.1-2017 (IEEE Std 1003.1-2017)**
- Includes specifications for memory-mapped file operations
## Online Courses
- **MIT 6.828: Operating System Engineering**
- [Link](https://pdos.csail.mit.edu/6.828/2020/schedule.html)
- **Coursera: Operating Systems and You: Becoming a Power User**
- [Link](https://www.coursera.org/learn/os-power-user)
- **Udacity: Advanced Operating Systems**
- [Link](https://www.udacity.com/course/advanced-operating-systems--ud189)