خانواده سیستم عاملهای لینوکس یکی از محبوبترین پلتفرمها برای استقرار برنامههای کاربردی مدرن است. این دوره به شما یاد میدهد که چگونه با سیستم عاملهای لینوکس در زبان برنامه نویسی C تعامل داشته باشید.
آنچه یاد خواهید گرفت;
چه در حال نوشتن یک الگوریتم معاملاتی با تأخیر بسیار کم برای یک شرکت تجاری با فرکانس بالا باشید، چه درایورهای دستگاه برای یک سیستم تعبیه شده یا هر چیز دیگری، برنامههای نرمافزاری مدرن اغلب بر روی سیستم عامل لینوکس توسعه مییابند. در این دوره آموزشی، برنامه نویسی سیستمهای لینوکس، نحوه تعامل با جنبههای مختلف سیستم عامل لینوکس را در هنگام توسعه نرمافزار به زبان برنامه نویسی C یاد خواهید گرفت. ابتدا نحوه ایجاد، خواندن و نوشتن فایلها و دایرکتوریها را با روشهای مختلف کشف خواهید کرد. در مرحله بعد، نحوه تعامل با ورودیها و خروجیهای نرمافزار لینوکس، مانند آرگومانهای خط فرمان، متغیرهای محیطی، لولهها و سیگنالها را خواهید یافت. در نهایت، نحوه کنترل دسترسی به فایلها و دایرکتوریها را از طریق مجوزها و حسابهای کاربری یاد خواهید گرفت. پس از اتمام این دوره، مهارتها و دانش برنامه نویسی سیستمهای لینوکس با زبان برنامه نویسی C را خواهید داشت تا با اطمینان برنامههای مبتنی بر C را در سیستم عاملهای لینوکس توسعه دهید و علاوه بر درک کاملتر از نحوه سیستم عامل لینوکس کارکرد.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
02 Accessing Files [66mins]
02-01 Module and Environment Overview [6mins]
02-02 POSIX, glibc, and You [5mins]
02-03 Low-level I/O with System Calls [8mins]
02-04 Demo: File Copy with Low-level I/O [6mins]
02-05 Random File Access with Low-level I/O [9mins]
02-06 Advanced Low-level I/O with Fast Scatter-gather [6mins]
02-07 Advanced Low-level I/O with Memory-mapped I/O [9mins]
02-08 File I/O with Streams [5mins]
02-09 Demo: File Copy with Stream I/O [5mins]
02-10 Demo: Comparing Speeds of Low-level and Stream I/O [5mins]
02-11 Module Summary [2mins]
03 Managing Files and Directories [80mins]
03-01 Module Overview [2mins]
03-02 Files, Directories, and the inode Table [8mins]
03-03 Linux File Metadata [5mins]
03-04 Demo: Get File Metadata with stat [9mins]
03-05 Linux File Types and Permissions [11mins]
03-06 Hard Links and Symbolic Links [11mins]
03-07 Linux Directories [9mins]
03-08 Demo: Traversing a Directory [8mins]
03-09 File System Events with inotify [7mins]
03-10 Demo: Using the inotify API [8mins]
03-11 Module Summary [2mins]
04 The Command Line, the Environment, and Time [78mins]
04-01 Module Overview [2mins]
04-02 Command Line Arguments with argc and argv [4mins]
04-03 Using getopt for Command Line Options [9mins]
04-04 Demo: Using getopt to Parse Command Line Options [9mins]
04-05 Working with the Environment [12mins]
04-06 Getting Started with Time [14mins]
04-07 Display User Formatted Time with strftime Templates [11mins]
04-08 Incorporating Time Zones and Locales [8mins]
04-09 Measuring Process Time [8mins]
04-10 Module Summary [1mins]
05 Processes and Pipes [78mins]
05-01 Module Overview [2mins]
05-02 What Is a Process? [11mins]
05-03 Program Exit Statuses [4mins]
05-04 Creating Processes with fork() [9mins]
05-05 Executing Programs with the Exec Family [6mins]
05-06 The Lifecycle of a Process [6mins]
05-07 Demo: Creating a Shell with fork(), the Exec Family, and waitpid() [14mins]
05-08 What Is a Pipe? [11mins]
05-09 Demo: Basic Inter-process Communication with Pipes [5mins]
05-10 Named Pipes [8mins]
05-11 Module Summary [2mins]
06 Controlling Access, Identity, and Permissions [49mins]
06-01 Module Overview [1mins]
06-02 User and Group Fundamentals [8mins]
06-03 Querying and Listing Users and Groups [8mins]
06-04 Real and Effective Process Identity [11mins]
06-05 File Permission Fundamentals [7mins]
06-06 Demo: Creating and Modifying File Permissions [4mins]
06-07 File Ownership Nuances and Functions [2mins]
06-08 Demo: Assigning and Modifying File Ownership [7mins]
06-09 Module Summary [1mins]
07 Mastering Signals [50mins]
07-01 Module Overview [1mins]
07-02 Signal Fundamentals [7mins]
07-03 Demo: Common Signal Types [6mins]
07-04 Handling Signals with signal() [5mins]
07-05 Better Signal Handling with sigaction() [11mins]
07-06 Demo: Ignore Signal [3mins]
07-07 Demo: Terminate Gracefully on Signal [3mins]
07-08 Demo: Dynamic Reconfiguration [3mins]
07-09 Demo: Report Status or Statistics [2mins]
07-10 Demo: Toggle Debugging [2mins]
07-11 Demo: Simple Timeout [3mins]
07-12 Demo: Scheduled Tasks [2mins]
07-13 Module and Course Summary [2mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
02 دسترسی به فایلها [66 دقیقه]
02-01 بررسی اجمالی ماژول و محیط [6 دقیقه]
02-02 POSIX، glibc، و شما [5 دقیقه]
02-03 I O سطح پایین با تماسهای سیستمی [8 دقیقه]
02-04 نسخهی نمایشی- کپی فایل با I O سطح پایین [6 دقیقه]
02-05 دسترسی تصادفی به فایل با ورودی خروجی سطح پایین [9 دقیقه]
02-06 I O پیشرفته سطح پایین با جمع آوری پراکندگی سریع [6 دقیقه]
02-07 ورودی خروجی سطح پایین پیشرفته با I O دارای نقشه حافظه [9 دقیقه]
02-08 ورودی خروجی فایل با جریان [5 دقیقه]
02-09 نسخهی نمایشی- کپی فایل با جریان ورودی خروجی [5 دقیقه]
02-10 نسخه نمایشی- مقایسه سرعت ورودی خروجی سطح پایین و جریان [5 دقیقه]
02-11 خلاصه ماژول [2 دقیقه]
03 مدیریت فایلها و فهرستها [80 دقیقه]
03-01 نمای کلی ماژول [2 دقیقه]
03-02 فایلها، دایرکتوریها و جدول inode [8 دقیقه]
03-03 فراداده فایل لینوکس [5 دقیقه]
03-04 نسخهی نمایشی- دریافت فراداده فایل با آمار [9 دقیقه]
03-05 انواع فایل لینوکس و مجوزها [11 دقیقه]
03-06 پیوندهای سخت و پیوندهای نمادین [11 دقیقه]
03-07 فهرست راهنمای لینوکس [9 دقیقه]
03-08 نسخهی نمایشی- عبور از یک فهرست [8 دقیقه]
03-09 رویدادهای سیستم فایل با inotify [7 دقیقه]
03-10 نسخهی نمایشی- با استفاده از inotify API [8 دقیقه]
03-11 خلاصه ماژول [2 دقیقه]
04 خط فرمان، محیط زیست و زمان [78 دقیقه]
04-01 نمای کلی ماژول [2 دقیقه]
04-02 آرگومانهای خط فرمان با argc و argv [4 دقیقه]
04-03 استفاده از getopt برای گزینههای خط فرمان [9 دقیقه]
04-04 نسخهی نمایشی- استفاده از getopt برای تجزیه گزینههای خط فرمان [9 دقیقه]
04-05 کار با محیط زیست [12 دقیقه]
04-06 شروع با زمان [14 دقیقه]
04-07 نمایش زمان قالببندی شده توسط کاربر با الگوهای strftime [11 دقیقه]
04-08 گنجاندن مناطق زمانی و مناطق [8 دقیقه]
04-09 زمان فرآیند اندازه گیری [8 دقیقه]
04-10 خلاصه ماژول [1 دقیقه]
05 فرآیندها و لولهها [78 دقیقه]
05-01 نمای کلی ماژول [2 دقیقه]
05-02 فرآیند چیست؟ [11 دقیقه]
05-03 وضعیت خروج از برنامه [4 دقیقه]
05-04 ایجاد فرآیندها با fork() [9 دقیقه]
05-05 اجرای برنامهها با خانواده Exec [6 دقیقه]
05-06 چرخه حیات یک فرآیند [6 دقیقه]
05-07 نسخهی نمایشی- ایجاد یک پوسته با fork()، Exec Family، و waitpid() [14mins]
05-08 لوله چیست؟ [11 دقیقه]
05-09 نسخهی نمایشی- ارتباطات بین فرآیندی اولیه با لولهها [5 دقیقه]
05-10 لولههای نامدار [8 دقیقه]
05-11 خلاصه ماژول [2 دقیقه]
06 کنترل دسترسی، هویت و مجوزها [49 دقیقه]
06-01 نمای کلی ماژول [1 دقیقه]
06-02 اصول کاربر و گروه [8 دقیقه]
06-03 جستجو و فهرست کردن کاربران و گروهها [8 دقیقه]
06-04 هویت واقعی و موثر فرآیند [11 دقیقه]
06-05 اصول مجوز فایل [7 دقیقه]
06-06 نسخهی نمایشی- ایجاد و تغییر مجوزهای فایل [4 دقیقه]
06-07 تفاوتها و عملکردهای مالکیت فایل [2 دقیقه]
06-08 نسخهی نمایشی- اختصاص و تغییر مالکیت فایل [7 دقیقه]
06-09 خلاصه ماژول [1 دقیقه]
07 تسلط بر سیگنالها [50 دقیقه]
07-01 نمای کلی ماژول [1 دقیقه]
07-02 اصول اولیه سیگنال [7 دقیقه]
07-03 نسخهی نمایشی- انواع سیگنال رایج [6 دقیقه]
07-04 کنترل سیگنالها با سیگنال () [5 دقیقه]
07-05 کنترل بهتر سیگنال با sigaction() [11 دقیقه]
07-06 نسخه نمایشی- نادیده گرفتن سیگنال [3 دقیقه]
07-07 نسخه نمایشی- خاتمه Gracefully در سیگنال [3 دقیقه]
07-08 نسخهی نمایشی- پیکربندی مجدد پویا [3 دقیقه]
07-09 نسخهی نمایشی- گزارش وضعیت یا آمار [2 دقیقه]
07-10 نسخهی نمایشی- جابجایی اشکال زدایی [2 دقیقه]
07-11 نسخهی نمایشی- مهلت زمانی ساده [3 دقیقه]
07-12 نسخهی نمایشی- کارهای زمانبندی شده [2 دقیقه]
07-13 خلاصه ماژول و دوره [2 دقیقه]
کریستوفر هارت یک مهندس مشاور فنی برای سیسکو است که متخصص در راه حلهای شبکههای سازمانی و مراکز داده است. کریستوفر به طور مداوم مهارتهای توسعه نرمافزار پایتون خود را تقویت میکند و از ذهنیتهای اولیه اتوماسیون و اصول DevOps دفاع میکند. کریستوفر از تولید مستندات فنی و آموزش، انتشار بیش از دوازده مقاله برای سیسکو و سخنرانی در Cisco Live 2021 لذت میبرد. کریستوفر دارای مدرک لیسانس علوم در فناوری صنعتی از دانشگاه کارولینای شرقی است.