لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش مبانی سیستم عامل
Fundamentals of Operating Systems
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
با درک نحوه عملکرد هسته سیستم عامل نرم افزاری کارآمد بسازید یاد بگیرید سیستم عامل ها چگونه کار می کنند درک نحوه اجرای برنامه ها در سیستم عامل نوشتن برنامه های کاربردی کارآمد با استفاده از درک عملکرد سیستم عامل درک هزینه تماس های سیستمی درک نحوه اجرای فرآیندها توسط CPU نقش هسته معماری CPU و حافظه پنهان برنامه نویسی سوکت حافظه مجازی ذخیره سازی و مدیریت سیستم فایل پیش نیازها: برای داشتن تجربه برنامه نویسی توصیه می شود
سیستمهای عامل بسیاری از فرآیندها را هماهنگ میکنند، اجازه دسترسی به حافظه، دیسک و شبکه را میدهند و فرآیند را با زمانبندی آنها در CPU اجرا میکنند. به نظر می رسد ساده است، اما این کار بسیار گسترده است. در واقع بسیار گسترده است که نوشتن برنامه هایی که کارآمد هستند واقعاً به میزان درک مهندس از سیستم عامل ها بستگی دارد.
من مجذوب فاش کردن و ابهام زدایی از هر چیزی شده ام که از من پنهان است، عمدتاً به این دلیل که با تلقی کردن جعبه سیاه به عنوان جعبه سیاهی که ورودی می گیرد و خروجی تولید می کند، احساس می کنم که در رحمت این جعبه سیاه هستم. یک دهه پیش پایگاههای داده برای من یک جعبه سیاه بودند، زمانی که درخواستی که نوشتم در ابتدا سریع اجرا میشد اما بعد از چند ماه کند شد، کاملا گم شدم. دلیلش این است که من واقعاً هیچ درک درستی از سیستم های پایگاه داده و نحوه عملکرد داخلی آنها نداشتم.
همین مورد برای سیستم های عملیاتی نیز صادق است، ما برنامه خود را اجرا می کنیم که به فرآیندی تبدیل می شود که از بیتی از حافظه و دسترسی به دیسک و شبکه استفاده می کند، اما ما واقعاً نمی دانیم چگونه این کار انجام می شود و در نتیجه ما به عنوان مهندس ملزم به نوشتن کد ناکارآمد است.
من این دوره آموزشی را برای ابهام زدایی از آنچه که معتقدم اصول اولیه سیستم عامل برای مهندسان نرم افزار است ساخته ام. مانند همه دوره های من، به دانش آموزی که تجربه برنامه نویسی را داشته باشد توصیه می کنم که این دوره را بگذراند، این فقط باعث می شود دوره مرتبط شود. من در این دوره از چندین سیستم عامل مانند لینوکس، ویندوز و مک استفاده خواهم کرد.
امیدوارم از آن لذت ببرید.
سرفصل ها و درس ها
قبل از اینکه شروع کنیم
Before we start
خوش آمدی
Welcome
این دوره برای چه کسانی است؟
Who is this course for?
نمای کلی و طرح کلی دوره (حتما تماشا کنید)
Course Overview and Outline (must watch)
محتوای قابل دانلود دوره
Course Downloadable Content
چرا سیستم عامل؟
Why an OS?
بخش مقدمه چرا یک سیستم عامل
Section Intro Why an OS
چرا به یک سیستم عامل نیاز داریم؟
Why do we need an Operating System?
نمای کلی معماری سیستم
System Architecture Overview
آناتومی یک فرآیند
The Anatomy of a Process
مقدمه بخش آناتومی یک فرآیند
Anatomy of a Process Section Intro
برنامه در مقابل فرآیند
Program vs Process
اجرای فرآیند ساده
Simple Process Execution
پشته
The Stack
اجرای فرآیند با Stack
Process Execution with Stack
بخش داده ها
Data section
پشته
The Heap
نسخه ی نمایشی بخش فرآیند
Process Section Demo
آزمون فرآیند
Process Quiz
مدیریت حافظه
Memory Managment
معرفی بخش مدیریت حافظه
Memory Management Section Intro
آناتومی حافظه
The Anatomy of Memory
خواندن و نوشتن از و به حافظه
Reading and Writing from and to Memory
حافظه مجازی
Virtual Memory
DMA
DMA
نسخه ی نمایشی بخش حافظه
Memory Section Demo
آزمون حافظه
Memory Quiz
داخل CPU
Inside The CPU
داخل قسمت معرفی CPU
Inside the CPU Section Intro
اجزای CPU و معماری
CPU Components and Architecture
چرخه زندگی دستورالعمل
Instruction Life Cycle
خط لوله و موازی سازی
Pipelining and Parallelism
داخل نمایشگر CPU (زمان انتظار CPU)
Inside the CPU Demo (CPU wait times)
داخل CPU Quiz
Inside the CPU Quiz
مدیریت فرآیند
Process Management
مقدمه بخش مدیریت فرآیند
Process Management Section Intro
فرآیند در مقابل موضوع
Process vs Thread
تغییر متن
Context Switching
همزمانی
Concurrency
مدیریت فرآیند آزمایشی
Demo Process Management
آزمون فرآیند
Process Quiz
مدیریت ذخیره سازی
Storage Management
معرفی بخش مدیریت ذخیره سازی
Storage Management Section Intro
ذخیره سازی مداوم
Persistent Storage
سیستم های فایل
File Systems
واقعا در IO فایل چه اتفاقی می افتد؟
What really happens in a file IO?
نسخه ی نمایشی مدیریت ذخیره سازی
Storage management Demo
آزمون مدیریت ذخیره سازی
Storage Management Quiz
مدیریت سوکت
Socket Management
معرفی بخش مدیریت سوکت
Socket Management Section Intro
اصول شبکه
Network fundamentals
سوکت ها، اتصالات و صف کرنل
Sockets, Connections and Kernel Queues
ارسال و دریافت داده ها
Sending and Receiving Data
الگوهای برنامه نویسی سوکت
Socket Programming Patterns
IO ناهمزمان
Asynchronous IO
نسخه ی نمایشی مدیریت سوکت
Socket Management Demo
آزمون مدیریت سوکت
Socket Management Quiz
مفاهیم بیشتر سیستم عامل
More OS Concepts
مقدمه بخش مفاهیم سیستم عامل
OS Concepts Section Intro
کامپایلرها و لینک کننده ها
Compilers and Linkers
سوئیچینگ کرنل در مقابل حالت کاربر
Kernel vs User Mode switching
مجازی سازی و کانتینری سازی
Virtualization and Containerization
خلاصه دوره
Course Summary
محتوای جایزه
Bonus Content
چگونه گوگل پشته TCP/IP لینوکس را تا 40 درصد بهبود داد؟
How Google Improved Linux TCP/IP Stack by 40%
اسم من حسین است و مهندس نرم افزار هستم. از زمانی که عمویم اولین کتاب برنامه نویسی ام را در سال 1998 به من داد () متوجه شدم که نرم افزار علاقه من است. من وبلاگم را راه اندازی کردم و کانال یوتیوب را به عنوان یک خروجی برای صحبت در مورد نرم افزار راه اندازی کردم.
استفاده از نرم افزار برای حل مشکلات جالب یکی از چیزهای جذابی است که من واقعا از آن لذت می برم. در کانال های رسانه های اجتماعی من با من تماس بگیرید تا داستان نرم افزار خود را بگویید، سؤال بپرسید یا مشکلات جالب را به اشتراک بگذارید. من دوست دارم آن را بشنوم!
من همچنین در زمینه سیستم های اطلاعات جغرافیایی (یا GIS) تخصص دارم. من از سال 2005 به بسیاری از سازمانها در کشورهای مختلف کمک کردم تا فناوری GIS را پیادهسازی کنند و برنامههای سفارشی را متناسب با موارد استفاده و سادهسازی گردشهای کاریشان از سال 2005 نوشتم. دویست ویدیوی یوتیوب و آموزش نرم افزار تا به امروز در حال تماشا هستند و شروع به کردند. من از سال 2015 درEsri مهندس ساختمان فن آوری های GIS جالب هستم.
نمایش نظرات