کتاب صوتی برنامهنویسی سیستمی در UNIX: کاوش در معماری x86 و تعامل با سختافزار
برنامهنویسی سیستمی در UNIX: کاوش در معماری x86 و تعامل با سختافزار | دروازهای به دنیای سیستم عامل برنامهنویسی سیستمی در UNIX: کاوش در معماری x86 و تعامل با سختافزار معرفی دوره آیا همیشه آرزو داشت...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی سیستمی در UNIX: کاوش در معماری x86 و تعامل با سختافزار
موضوع کلی: برنامهنویسی سیستم
موضوع میانی: برنامهنویسی سیستمی در UNIX
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی سیستمی و تاریخچه UNIX
- 2. معماری کامپیوتر و نقش سیستمعامل
- 3. مروری بر خانواده پردازندههای x86: از 8086 تا 80386
- 4. مفاهیم استاندارد POSIX و سازگاری در UNIX
- 5. محیط برنامهنویسی در UNIX: کامپایلر، لینکر و کتابخانهها
- 6. ابزارهای ضروری: make, ar, ld
- 7. اولین برنامه سیستمی: فراخوانیهای سیستمی در مقابل توابع کتابخانهای
- 8. مدیریت خطاها: errno، perror و strerror
- 9. مقدمهای بر معماری 80286: حالت واقعی و حالت محافظتشده
- 10. کاوش در حالت محافظتشده (Protected Mode) در 80286/80386
- 11. مفاهیم سگمنتبندی حافظه: سگمنتها، سلکتورها و دیسکریپتورها
- 12. جداول توصیفگر عمومی و محلی (GDT & LDT)
- 13. سطوح دسترسی و حلقههای محافظت (Privilege Levels)
- 14. مکانیسم فراخوانی و گیتها (Call Gates)
- 15. معماری 80386: حالت ۳۲ بیتی و بهبودها
- 16. صفحهبندی (Paging) در 80386: جداول صفحه و دایرکتوریها
- 17. حافظه مجازی: ترکیب سگمنتبندی و صفحهبندی
- 18. واحد مدیریت حافظه (MMU) و بافر ترجمه آدرس (TLB)
- 19. وقفهها و استثناها: جدول توصیفگر وقفه (IDT)
- 20. کنترلر وقفه قابل برنامهریزی (PIC)
- 21. تعامل با سختافزار: پورتهای ورودی/خروجی (I/O Ports)
- 22. دسترسی مستقیم به حافظه (DMA)
- 23. ساختار هسته UNIX: فضای کاربر و فضای هسته
- 24. مکانیسم فراخوانی سیستمی: تلهها (Traps) و انتقال به حالت هسته
- 25. فایلها و توصیفگرهای فایل (File Descriptors)
- 26. فراخوانیهای سیستمی بنیادین: open, creat, close
- 27. خواندن و نوشتن فایلها: read و write
- 28. جابجایی در فایلها: lseek و تعیین موقعیت فایل
- 29. ارتباط بین توصیفگرهای فایل و جدول فایل سیستم
- 30. عملیات اتمیک و شرایط رقابتی (Race Conditions) در کار با فایل
- 31. تکثیر توصیفگرهای فایل: dup و dup2
- 32. کنترل توصیفگرهای فایل با fcntl
- 33. ورودی/خروجیهای خاص منظوره: ioctl
- 34. مفهوم فرآیند (Process) در UNIX
- 35. شناساگرهای فرآیند: PID, PPID, UID, GID
- 36. چیدمان حافظه یک فرآیند: Text, Data, BSS, Stack, Heap
- 37. ایجاد فرآیندهای جدید: فراخوانی سیستمی fork
- 38. اجرای برنامههای جدید: خانواده توابع exec
- 39. خاتمه فرآیندها: exit و _exit
- 40. انتظار برای خاتمه فرآیند فرزند: wait و waitpid
- 41. فرآیندهای زامبی (Zombie) و فرآیندهای یتیم (Orphan)
- 42. مفهوم فایل سیستم در UNIX
- 43. ساختار inode و ارتباط آن با فایلها
- 44. اطلاعات فایل و متاداده: خانواده توابع stat
- 45. انواع فایل در UNIX: عادی، دایرکتوری، لینک، FIFO، سوکت
- 46. مالکیت و مجوزهای دسترسی فایل (Permissions)
- 47. تغییر مجوزها و مالکیت: chmod, chown, chgrp
- 48. لینکهای سخت (Hard Links) با link
- 49. لینکهای نرم یا سیمبولیک (Symbolic Links) با symlink
- 50. حذف فایلها و لینکها: unlink و remove
- 51. کار با دایرکتوریها: mkdir و rmdir
- 52. خواندن محتویات دایرکتوری: opendir, readdir, closedir
- 53. مسیر جاری و تغییر آن: getcwd و chdir
- 54. سیگنالها: مفاهیم و رویدادهای ناهمگام
- 55. ارسال سیگنالها: kill و raise
- 56. مدیریت سیگنالها: تابع signal و مشکلات آن
- 57. مدیریت پیشرفته سیگنالها با sigaction
- 58. مجموعههای سیگنال و مسدود کردن سیگنالها: sigprocmask
- 59. سیگنالهای در انتظار: sigpending
- 60. توابع امن در برابر سیگنال (Re-entrant Functions)
- 61. ارتباط بین فرآیندی (IPC): مقدمه
- 62. پایپهای بدون نام (Unnamed Pipes) با تابع pipe
- 63. پایپهای نامدار (Named Pipes) یا FIFO
- 64. مقدمهای بر IPC در System V
- 65. صفهای پیام (Message Queues) در System V
- 66. سمافورها (Semaphores) در System V: مفاهیم و کاربردها
- 67. عملیات بر روی سمافورها: semop
- 68. حافظه اشتراکی (Shared Memory) در System V
- 69. اتصال و جداسازی حافظه اشتراکی: shmat و shmdt
- 70. مدیریت حافظه در فضای کاربر: تخصیص حافظه پویا
- 71. توابع malloc, calloc, realloc, free
- 72. فراخوانیهای سیستمی sbrk و brk
- 73. نگاشت حافظه با mmap و munmap
- 74. فرآیندهای دیمن (Daemon Processes)
- 75. قوانین ایجاد یک فرآیند دیمن
- 76. جلسهها (Sessions) و گروههای فرآیند (Process Groups)
- 77. ترمینال کنترلی (Controlling Terminal)
- 78. کتابخانه استاندارد ورودی/خروجی (stdio.h)
- 79. بافرینگ در کتابخانه استاندارد: کامل، خطی و بدون بافر
- 80. کار با تاریخ و زمان در سطح سیستم
- 81. محدودیتهای منابع فرآیند: getrlimit و setrlimit
- 82. زمانبندی فرآیندها و اولویتها: nice
- 83. مقدمهای بر برنامهنویسی سوکت و شبکه
- 84. مدلهای ورودی/خروجی: مسدودکننده، غیرمسدودکننده و ناهمگام
- 85. ورودی/خروجی غیرمسدودکننده (Non-blocking I/O)
- 86. مالتیپلکسینگ ورودی/خروجی: فراخوانی سیستمی select
- 87. مالتیپلکسینگ ورودی/خروجی: فراخوانی سیستمی poll
- 88. مقدمهای بر راهاندازهای دستگاه (Device Drivers)
- 89. دستگاههای کاراکتری در مقابل دستگاههای بلوکی
- 90. فایلهای ویژه دستگاه در /dev
- 91. روند بوت سیستم: از BIOS/UEFI تا هسته
- 92. بوت لودر و بارگذاری هسته
- 93. فرآیند init و سطوح اجرایی (Runlevels)
- 94. کتابخانههای اشتراکی (Shared Libraries) و پیوند پویا
- 95. اشکالزدایی (Debugging) با gdb
- 96. ردیابی فراخوانیهای سیستمی با strace
- 97. تحلیل عملکرد برنامه (Profiling) با gprof
- 98. پروژه عملی: پیادهسازی یک شل (Shell) ساده
- 99. نتیجهگیری و نگاهی به سیستمهای مدرن مبتنی بر UNIX
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
80286
80386
C Programming
embedded systems
kernel
Linux
low-level programming
System Programming
UNIX internals
Unix Programming
x86 Architecture
برنامهنویسی سیستم
برنامهنویسی سیستمی
سختافزار
سیستم عامل
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.