Starting Open() System Call | 32 Bit OS Dev (in C)
Starting on an open() syscall and file system functions.
OS Dev playlist:
https://www.youtube.com/playlist?list=PLT7NbkyNWaqajsw8Xh7SP9KJwjfpP8TNX
Git Repos:
Sourcehut: https://git.sr.ht/~queso_fuego/quesos
Github mirror: https://github.com/queso-fuego/amateuros
Repo state at start of this video (this will be updated when open() and creating new files is mostly done):
git clone -n https://github.com/queso-fuego/amateuros
cd amateuros
git checkout 4255fe96f1efb69498eec2a55417dd3eca3eb2de
Join the Community Discord: https://discord.gg/yKm4T89QFn
Contact:
email: fuegoqueso@gmail.com
twitter: @Queso_Fuego
twitch: https://www.twitch.tv/queso_fuego
Notes:
- For creating a new regular file vs directory, I'm now thinking (later, after this video was made) that it will be part of a separate process, for a "mkdir" command or similar. That command can call open() with O_CREAT or call a filesystem create file function, update that returned file with the directory file type, and add "." and ".." as default entries to this new directory.
Next video:
- Filling out most of the open() syscall logic
- Let me know if there's anything specific you'd like to see!
Outline:
0:00 changes since last video, bad overview of font conversion program
13:57 open file table typedef
23:50 set up open file table and inode table
32:13 start open() syscall, outline the logic
1:04:34 add & initialize global variables for filesystem
1:28:41 start on fs_impl functions to get inode from file path
2:03:27 complaining about life, coming up, and outro
Questions about setup/software/etc.?
Check the FAQ: https://queso_fuego.srht.site/about.html
Music credits:
"Acid Trumpet" Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 4.0 License
http://creativecommons.org/licenses/by/4.0/
Downtown Glow by Ghostrifter & Devyzed
Creative Commons — Attribution-NoDerivs 3.0 Unported — CC BY-ND 3.0
Music promoted by https://www.chosic.com/free-music/all/
#osdev #bdffonts #systemcalls