خانه - آشپزخانه
دانلود دایره المعارف همه چیز درباره سیستم عامل ها. کتاب های سیستم عامل نمای کلی سخت افزار کامپیوتر

1شروع کار با سیستم عامل ها

1.1 هدف و وظایف سیستم عامل

سیستم عامل یک کامپیوتر مجموعه ای از برنامه های به هم پیوسته است که به عنوان رابط بین برنامه ها و کاربران از یک سو و سخت افزار کامپیوتر از سوی دیگر عمل می کند. سیستم عامل دو گروه از عملکردها را انجام می دهد:

به جای سخت افزار واقعی کامپیوتر، یک ماشین مجازی توسعه یافته را در اختیار کاربر یا برنامه نویس قرار می دهد.

کارایی استفاده از رایانه را با مدیریت منطقی منابع آن بر اساس معیارهایی افزایش می دهد.

کاربر، به عنوان یک قاعده، علاقه ای به جزئیات دستگاه سخت افزاری کامپیوتر ندارد، او آن را به عنوان مجموعه ای از برنامه های کاربردی می بیند که می تواند به یکی از زبان های برنامه نویسی نوشته شود. سیستم عامل تعدادی قابلیت در اختیار برنامه نویس قرار می دهد که برنامه ها می توانند از طریق دستورات خاصی به نام فراخوانی سیستم از آنها استفاده کنند. بنابراین، یک برنامه نرم افزاری شامل بسیاری از تماس های سیستمی مورد نیاز است، به عنوان مثال، برای کار با فایل ها. سیستم عامل جزئیات سخت افزاری را از برنامه نویس پنهان می کند و یک رابط مناسب برای اجرای سیستم محیط عامل فراهم می کند.

در عین حال، سیستم عامل به عنوان یک مدیر منابع عمل می کند. در این رویکرد، وظیفه سیستم عامل ارائه یک تخصیص سازمان یافته و کنترل شده از پردازنده ها، حافظه و I/O بین برنامه های مختلف... این سیستم عامل دارای ویژگی های زیر است:

عملکردهای سیستم عامل مانند بقیه نرم افزارها کار می کنند - آنها به عنوان برنامه های جداگانه یا مجموعه ای از برنامه ها، فرآیندهای در حال اجرا اجرا می شوند.

سیستم عامل باید کنترل را به سایر فرآیندها منتقل کند و منتظر بماند تا پردازنده دوباره به آن زمان اختصاص دهد تا وظایف خود را انجام دهد.

مدیریت منابع شامل وظایف کلی و مستقل از منابع زیر است:

برنامه ریزی منابع - یعنی تعیین اینکه کدام فرآیند، چه زمانی و در چه مقداری (اگر منبع را بتوان در بخش هایی تخصیص داد) یک منبع معین باید تخصیص داده شود.

برآورده کردن درخواست های منابع؛

ردیابی وضعیت و حسابداری برای استفاده از منابع - یعنی حفظ اطلاعات عملیاتیآیا منبع مشغول یا رایگان است و چه مقدار از منبع قبلاً تخصیص داده شده است.

حل تعارض بین فرآیندها.

مدیریت منابع شامل چندگانه سازی (توزیع) آنها به دو صورت است: در زمان و مکان. هنگامی که یک منبع در طول زمان تخصیص می یابد، کاربران و برنامه های مختلف به نوبه خود از آن استفاده می کنند. ابتدا یکی از آنها به استفاده از منبع دسترسی پیدا می کند، سپس دیگری و ... مثلاً چندین برنامه می خواهند به پردازنده مرکزی دسترسی پیدا کنند. در این شرایط، سیستم عامل ابتدا اجازه می دهد تا پردازنده به یک برنامه دسترسی داشته باشد، سپس پس از اینکه مدت زمان کافی کار کرد، به برنامه دیگر، سپس به برنامه بعدی و در نهایت دوباره به برنامه اول دسترسی پیدا کرد. تعیین مدت زمان استفاده از یک منبع در زمان، چه کسی بعدی و چه مدت منبع به آن تخصیص داده می شود وظیفه سیستم عامل است. نوع دیگر توزیع، مالتی پلکس فضایی است. هر مشتری به جای اینکه یک به یک کار کند، بخشی از منبع را دریافت می کند. به طور معمول، RAM بین چندین برنامه در حال اجرا مشترک است، به طوری که همه آنها می توانند به طور همزمان در حافظه باقی بمانند (مثلاً با استفاده از پردازنده مرکزی به نوبه خود). با فرض وجود حافظه کافی برای ذخیره چندین برنامه، قرار دادن چندین برنامه در یک زمان در حافظه کارآمدتر از تخصیص تمام حافظه به یک برنامه است، به خصوص اگر فقط به بخش کوچکی از حافظه موجود نیاز داشته باشد. البته، این مسائل مربوط به تخصیص عادلانه، حفاظت از حافظه و غیره را به همراه دارد و یک سیستم عامل برای حل این مشکلات وجود دارد.

1.2 تاریخچه توسعه سیستم عامل

معمولاً تاریخچه توسعه سیستم عامل ها با تاریخچه توسعه رایانه ها همراه است. اولین ایده برای کامپیوتر توسط ریاضیدان انگلیسی چارلز بابیج در اواسط قرن نوزدهم ارائه شد. او به اصطلاح "موتور تحلیلی" مکانیکی را توسعه داد که به درستی کار نکرد. در زیر نسل های کامپیوتر و ارتباط آنها با سیستم عامل ها آورده شده است.

نسل اول 1945-1955

کامپیوترها از لوله های خلاء و پچ پانل تشکیل شده بودند. بالاترین دستاورد، انتشار کارت های پانچ است. یک کارت پانچ که از مقوای نازک ساخته شده است، اطلاعاتی را با وجود یا عدم وجود سوراخ در موقعیت های مشخص کارت نشان می دهد. هیچ سیستم عاملی وجود ندارد.

نسل دوم 1955-1965

اساس کامپیوترها ترانزیستورها و سیستم های پردازش دسته ای هستند. با عرشه کارت های پانچ و ضبط صوت مشخص می شود. آنها عمدتاً به زبان های Fortran و Assembler برای سیستم عامل Fortran Monitor (FMS) و IBSYS برنامه نویسی کردند.

نسل سوم 1965-1980

مشخصه این دوره ظهور مدارهای مجتمع و همچنین چندوظیفه ای یا به عبارتی دیگر برنامه نویسی چندگانه است. IBM سری های مختلفی از ماشین ها را تولید کرده است که از IBM / 360 شروع می شود. سیستم عامل OS / 360 برای آنها نوشته شده بود که حدود 1000 برابر اندازه FMS نسل دوم بود. در این مرحله، اجرای صنعتی چند وظیفه ای ظاهر می شود - روشی برای سازماندهی یک فرآیند محاسباتی که در آن چندین برنامه به طور همزمان در حافظه رایانه قرار داشتند و به طور متناوب روی یک پردازنده اجرا می شدند.

قابل توجه دیگر سیستم عاملاز این دوره، CTSS (سیستم به اشتراک گذاری زمان سازگار) و MULTICS (خدمات محاسباتی و اطلاعات چندگانه)، که برای دسترسی صدها کاربر به یک ماشین در یک زمان طراحی شده بودند. توسعه بیشتر این سیستم به یونیکس تبدیل شد.

نسل چهارم 1980 تا کنون

این دوره با ظهور مدارهای مجتمع بزرگ همراه است. در سال 1974، اینتل اولین نسخه جهانی 8 بیتی را منتشر کرد پردازنده اینتل 8080. در اوایل دهه 1980، شرکت IBM PC IBM، یک کامپیوتر شخصی را توسعه داد. در همان زمان، اولین نسخه MS-DOS ظاهر می شود. تمام سیستم عامل های توسعه یافته تا این مرحله فقط از حالت متنی ارتباط با کاربر پشتیبانی می کردند.

اولین تلاش برای ایجاد یک رابط گرافیکی کاربر پسند بر روی مکینتاش اپل اجرا شد. شرکت مایکروسافت تحت تأثیر موفقیت خود، یک پوسته گرافیکی برای MS-DOS - Windows منتشر کرد. و از سال 1995 ویندوز 95 منتشر شد که تبدیل شد سیستم خودمختار... بعداً بر اساس ویندوز 95 و یک سیستم ویندوز NT دیگر، سیستم عامل های موجود در حال حاضر توسعه یافتند - Windows 2000، XP، Vista و دیگران.

1.3 طبقه بندی سیستم عامل ها

سیستم عامل های زیادی وجود دارد و همه آنها را نمی شناسند. علاوه بر این، 7 نوع سیستم عامل مختلف از نظر سطح از بزرگ به کوچک در نظر گرفته شده است.

سیستم عامل های اصلی

Mainframe - کامپیوتر با کارایی بالا همه منظورهبا مقدار قابل توجهی رم و حافظه خارجی، طراحی شده برای انجام کارهای محاسباتی فشرده. اینها معمولاً رایانه هایی به اندازه اتاق هستند و مکان آنها در داخل است شرکت های بزرگ... مین فریم ها معمولا حاوی هزاران دیسک و ترابایت رم هستند.

سیستم‌عامل‌های اصلی عمدتاً بر روی انجام بسیاری از کارهای همزمان متمرکز هستند که بیشتر آنها به مقدار زیادی I/O نیاز دارند. سیستم باید به هزاران درخواست در ثانیه پاسخ دهد. یک مثال OS / 390 است که از نسل سوم سیستم عامل OS / 360 مشتق شده است.

سیستم عامل های سرور

این سیستم عامل ها بر روی سرورهایی اجرا می شوند که یک کامپیوتر شخصی، ایستگاه کاری یا حتی یک پردازنده مرکزی هستند. سرورها امکان کار با چاپگرها، فایل ها یا اینترنت را فراهم می کنند. این سیستم عامل ها عبارتند از یونیکس، لینوکس، ویندوز 2003 سرور و ....

سیستم عامل های چند پردازنده ای

این سیستم ها در رایانه هایی با چندین واحد پردازش مرکزی استفاده می شوند. آنها به سیستم عامل های خاصی نیاز دارند، اما معمولاً تغییراتی در سیستم عامل سرور هستند.

سیستم عامل برای کامپیوترهای شخصی

معیار اصلی این سیستم ها رابط کاربری مناسب برای یک کاربر است. معروف ترین سیستم ها: ویندوز 98، 2000، XP، سری ویستا؛ مکینتاش، لینوکس.

سیستم عامل های بلادرنگ

پارامتر اصلی این سیستم ها زمان است. در سیستم های کنترل فرآیند صنعتیلازم است به وضوح زمان کار نوار نقاله، ربات های صنعتی مختلف را همگام کنید. این یک سیستم بلادرنگ سخت است. همچنین سیستم های بلادرنگ انعطاف پذیری وجود دارد - رد شدن از مهلت های عملیات، به عنوان مثال، سیستم های چند رسانه ای مجاز است. سیستم عامل های بلادرنگ شامل VxWorks و QNX هستند.

سیستم عامل های تعبیه شده

اینها شامل سیستم عامل PDA (دستیار دیجیتال شخصی) است. علاوه بر این، سیستم های تعبیه شده روی ماشین ها، تلویزیون ها، تلفن های همراه... این سیستم عامل ها معمولا تمام ویژگی های سیستم عامل های بلادرنگ با حافظه، توان و ... محدود را دارند. نمونه هایی از سیستم ها عبارتند از PalmOS، Windows CE.

سیستم عامل برای کارت های هوشمند

کارت هوشمند دستگاهی به اندازه کارت اعتباری است که شامل یک واحد پردازش مرکزی است. چنین سیستم هایی در معرض محدودیت های شدید قدرت و حافظه هستند. برخی فقط یک عملیات را مدیریت می کنند - پرداخت الکترونیکیمثلا. کارت های هوشمند انتخابی شامل پشتیبانی از ماشین مجازی جاوا می شود.

1.4 نمای کلی سخت افزار کامپیوتر

یک سیستم عامل ارتباط نزدیکی با سخت افزار کامپیوتری دارد که قرار است روی آن اجرا شود. سخت افزار بر مجموعه دستورالعمل ها و مدیریت منابع سیستم عامل تأثیر می گذارد. یک کامپیوتر از نظر مفهومی ساده را می توان به عنوان مدل نشان داده شده در شکل 1 در نظر گرفت. این ساختار در اولین مدل های کامپیوتر IBM استفاده شد.

شکل 1 - برخی از اجزای یک کامپیوتر شخصی


در شکل، پردازنده مرکزی، حافظه، دستگاه های ورودی-خروجی توسط گذرگاه سیستم به هم متصل شده اند که از طریق آن اطلاعات را مبادله می کنند.

CPU

"مغز" کامپیوتر، واحد پردازش مرکزی (CPU) است. دستورات را از حافظه انتخاب کرده و اجرا می کند. یک چرخه پردازنده معمولی به این صورت است: اولین دستورالعمل را از حافظه بخوانید، برای تعیین نوع و عملوندهای آن رمزگشایی کنید، دستورالعمل را اجرا کنید، سپس بخوانید، دستورالعمل های بعدی را رمزگشایی کنید. برنامه ها به این صورت اجرا می شوند.

هر پردازنده مجموعه ای از دستورالعمل ها را دارد که می تواند اجرا کند. از آنجایی که دسترسی به حافظه برای دریافت دستورالعمل ها یا مجموعه داده ها بسیار بیشتر از اجرای این دستورالعمل ها طول می کشد، همه پردازنده ها دارای ثبات های داخلی برای ذخیره متغیرها و نتایج میانی هستند. بنابراین، یک مجموعه دستورالعمل معمولاً حاوی دستورالعمل هایی برای بارگذاری یک کلمه از حافظه در یک ثبات و ذخیره یک کلمه از یک ثبات در حافظه است. علاوه بر رجیسترهای اصلی که برای ذخیره متغیرها استفاده می شود، اکثر پردازنده ها دارای چندین ثبات خاص هستند که برای ذخیره متغیرها استفاده می شوند و همچنین ثبات های خاصی که برای برنامه نویسان قابل مشاهده است.

هنگامی که یک پردازنده مالتیپلکس زمانی می شود، سیستم عامل یک برنامه در حال اجرا را برای شروع برنامه دیگر متوقف می کند. هر بار که چنین وقفه ای رخ می دهد، سیستم عامل باید تمام رجیسترهای پردازنده را ذخیره کند تا بعداً، زمانی که برنامه قطع شده به کار خود ادامه داد، بتوان آنها را بازیابی کرد.

برای افزایش سرعت CPU، توسعه دهندگان آنها مدل ساده را کنار گذاشتند، زمانی که تنها یک دستورالعمل می تواند در هر سیکل ساعت خوانده، رمزگشایی و اجرا شود. پردازنده های مدرنتوانایی اجرای چندین دستور را به طور همزمان دارند.

اکثر CPU ها دو حالت کار دارند: حالت هسته و حالت کاربر. هنگامی که پردازنده در حالت هسته اجرا می شود، می تواند تمام دستورالعمل ها را در مجموعه ای از دستورالعمل ها اجرا کند و از تمام قابلیت های سخت افزار استفاده کند. سیستم عامل در حالت هسته اجرا می شود و دسترسی به تمام سخت افزارها را فراهم می کند. در مقابل، کاربران در حالت کاربر کار می‌کنند، که اجرای زیرمجموعه‌ای از برنامه‌ها را امکان‌پذیر می‌کند و تنها بخشی از سخت‌افزار را در دسترس قرار می‌دهد.

حافظه

دومین جزء اصلی هر کامپیوتر حافظه است. در حالت ایده‌آل، حافظه باید تا حد امکان سریع باشد (سریع‌تر از پردازش یک دستورالعمل، به طوری که پردازنده با دسترسی به حافظه‌ای که به اندازه کافی بزرگ و بسیار ارزان است، سرعت خود را کاهش ندهد). امروزه هیچ فناوری ای وجود ندارد که تمام این الزامات را برآورده کند. بنابراین، رویکرد متفاوتی وجود دارد.

سیستم حافظه به شکل سلسله مراتبی از لایه ها ساخته شده است که در شکل 2 نشان داده شده است. با بالا رفتن سلسله مراتب از بالا به پایین، دو پارامتر افزایش می یابد: زمان دسترسی، اندازه حافظه.

لایه بالایی از رجیسترهای داخلی CPU تشکیل شده است، بنابراین در هنگام دسترسی به آنها تاخیری وجود ندارد. رجیسترهای داخلی کمتر از 1 کیلوبایت اطلاعات را ذخیره می کنند. برنامه ها می توانند رجیسترها را بدون دخالت سخت افزار مدیریت کنند. دسترسی ثبت سریعترین است - چند نانوثانیه.

لایه بعدی حاوی حافظه کش است که عمدتاً توسط سخت افزار کنترل می شود. متداول ترین مناطق حافظه نهان در یک کش با سرعت بالا که در داخل CPU قرار دارد ذخیره می شوند. هنگامی که یک برنامه نیاز به خواندن کلمه ای از حافظه دارد، تراشه کش تعیین می کند که آیا خط مورد نیاز در حافظه پنهان است یا خیر. اگر چنین است، دسترسی موثر به حافظه کش وجود دارد. حافظه کش به دلیل هزینه بالای آن از نظر اندازه محدود است. ماشین‌های مدرن دو یا سه سطح حافظه پنهان دارند که هر کدام کندتر و بزرگ‌تر از قبلی است. اندازه حافظه کش از ده ها کیلوبایت تا چندین مگابایت. زمان دسترسی کمی بیشتر از ثبت است.


شکل 2 - ساختار سلسله مراتبی حافظه


به دنبال آن RAM (RAM - حافظه دسترسی تصادفی) - منطقه کار اصلی حافظه دستگاه است. تمام درخواست های CPU که نمی توانند توسط حافظه کش انجام شوند برای پردازش به RAM می روند. حجم از صدها مگابایت تا چندین گیگابایت. زمان دسترسی ده ها نانوثانیه است.

بعد دیسک مغناطیسی می آید. حافظه دیسک دو مرتبه ارزانتر از RAM در هر بیت و دو مرتبه بزرگتر است. دیسک یک مشکل دارد - دسترسی تصادفی به داده های روی آن حدود سه مرتبه بیشتر طول می کشد. دلیل سرعت پایین هارد دیسک ها (HDD) طراحی مکانیکی درایو است. از یک یا چند صفحه فلزی تشکیل شده است که با سرعت های مشخصی مانند 7200 دور در دقیقه می چرخند. اکنون حجم دیسک ها به سرعت در حال افزایش است و برای اکثر کاربران دیسک هایی با صدها گیگابایت در فروش وجود دارد. زمان دسترسی - نه کمتر از 10 میکرو ثانیه.

نوار مغناطیسی اغلب برای ایجاد استفاده می شود پشتیبان گیری HDD یا برای ذخیره مجموعه داده های بسیار بزرگ. البته در حال حاضر به ندرت پیش می آید که بتوان از نوارهای مغناطیسی استفاده کرد، اما هنوز آنها از استفاده خارج نشده اند. سطح نوار نیز شامل سی دی، دی وی دی و فلش مموری است. زمان دسترسی بر حسب ثانیه اندازه گیری می شود.

علاوه بر انواع توصیف شده، رایانه ها دارای مقدار کمی حافظه فقط خواندنی با دسترسی تصادفی هستند. برخلاف رم، با قطع برق محتویات خود را از دست نمی دهد. به آن رام یا رام می گویند. رام در حین تولید برنامه ریزی می شود و پس از آن محتویات آن قابل تغییر نیست. این حافظه به اندازه کافی سریع و ارزان است. برنامه های بوت استرپ کامپیوتر که در هنگام راه اندازی استفاده می شوند در رام هستند. علاوه بر این، برخی از کارت های I/O حاوی ROM هایی برای کنترل دستگاه های سطح پایین هستند. نوعی حافظه به نام CMOS فرار است. CMOS برای ذخیره تاریخ، زمان و پارامترهای پیکربندی فعلی استفاده می شود، به عنوان مثال، نشان می دهد از چه چیزی هارد دیسکدانلود. این حافظه از باتری نصب شده انرژی می گیرد.

دستگاه های ورودی-خروجی

سیستم عامل با دستگاه های I/O به عنوان منابع تعامل دارد. دستگاه های I/O معمولاً از یک کنترلر و خود دستگاه تشکیل شده اند.

کنترلر مجموعه ای از ریز مدارها بر روی بردی است که در کانکتور، یک دستگاه کنترل فیزیکی، قرار داده شده است. دستورات سیستم عامل را می پذیرد (مثلاً دستورالعمل هایی برای خواندن داده ها از یک دستگاه) و آنها را اجرا می کند. کنترل واقعی دستگاه بسیار دشوار و نیازمند است سطح بالاجزئیات بنابراین، این وظیفه کنترلر است که یک رابط ساده به سیستم عامل ارائه دهد.

قسمت بعدی خود دستگاه است. این دستگاه ها رابط های نسبتاً ساده ای دارند، زیرا قابلیت های آنها کوچک است و باید به یک استاندارد واحد رسید. برای مثال، یک استاندارد واحد مورد نیاز است تا هر کنترل کننده دیسک IDE (Integrated Drive Electronics) بتواند هر دیسک IDE را مدیریت کند. رابط IDE برای دیسک‌های رایانه‌های مبتنی بر پنتیوم و همچنین رایانه‌های دیگر استاندارد است. از آنجایی که رابط واقعی دستگاه توسط کنترلر مخفی است، سیستم عامل فقط رابط کنترلر را می بیند که می تواند بسیار متفاوت از رابط خود دستگاه باشد.

از آنجایی که انواع کنترلرها متفاوت هستند، به نرم افزارهای مختلفی نیاز دارند. برنامه ای که با کنترلر ارتباط برقرار می کند یک درایور دستگاه است. هر سازنده کنترلر باید درایورهای سیستم عامل های پشتیبانی شده را تامین کند. برای استفاده از درایور باید در سیستم عامل نصب شود تا در حالت هسته اجرا شود. سه راه برای نصب درایور در هسته وجود دارد:

هسته را به همراه درایور جدید پیوند دهید و سپس سیستم عامل را راه اندازی مجدد کنید (این تعداد سیستم عامل یونیکس کار می کنند).

یک ورودی در فایل موجود در سیستم عامل ایجاد کنید که به درایور نیاز است و سپس سیستم را راه اندازی مجدد کنید. در هنگام بوت اولیه، خود سیستم عامل درایورهای لازم را پیدا کرده و آنها را بارگیری می کند (ویندوز اینگونه کار می کند).

این سیستم عامل می تواند درایورهای جدید را بدون وقفه در کار خود بپذیرد و بدون نیاز به راه اندازی مجدد به سرعت آنها را نصب کند. این روش روز به روز رایج تر می شود. دستگاه هایی مانند گذرگاه های USB، IEEE 1394 همیشه به درایورهای بارگذاری شده پویا نیاز دارند.

داده ورودی / خروجی را می توان در سه انجام داد روش های مختلف.

ساده ترین راه: برنامه کاربر یک درخواست سیستمی صادر می کند که هسته آن را به یک فراخوانی رویه مربوط به درایور ترجمه می کند، سپس درایور فرآیند I/O را شروع می کند. در این مدت او یک چرخه برنامه کوتاه را انجام می دهد و دائماً دستگاهی را که با آن کار می کند نظرسنجی می کند. هنگامی که I/O تکمیل می شود، درایور داده ها را در جایی که باید باشد قرار می دهد و به حالت اولیه خود باز می گردد. سپس سیستم عامل کنترل را به برنامه فراخوانی باز می گرداند. این روش در انتظار آماده (انتظار فعال) است. این یک اشکال دارد: پردازنده باید دستگاه را تا زمانی که خاموش شود نظرسنجی کند.

درایور دستگاه را راه اندازی می کند و از آن می خواهد که در انتهای I / O وقفه ایجاد کند. سپس درایور کنترل را به سیستم عامل باز می گرداند و آن شروع به انجام سایر وظایف می کند. هنگامی که کنترل کننده پایان انتقال داده را تشخیص می دهد، در تکمیل عملیات وقفه ایجاد می کند. فرآیند I/O با استفاده از وقفه شامل چهار مرحله است (شکل 3). در مرحله اول، درایور دستوری را به کنترلر ارسال می کند و اطلاعات را در رجیسترهای دستگاه می نویسد. سپس کنترلر دستگاه را راه اندازی می کند. هنگامی که کنترل کننده خواندن یا نوشتن تعداد بایت هایی را که برای انتقال دستور داده شده بود به پایان می رساند، سیگنالی را با استفاده از سیم های اتوبوس خاص به تراشه کنترل کننده وقفه می فرستد. این مرحله دو است. در مرحله سوم، اگر کنترل کننده وقفه آماده پردازش وقفه ها باشد، سیگنالی را به پین ​​خاصی از CPU ارسال می کند و از این طریق به آن اطلاع می دهد. در مرحله چهارم، کنترل کننده وقفه شماره دستگاه را در گذرگاه وارد می کند تا CPU بتواند بداند کدام دستگاه خاموش شده است.

روش سوم اطلاعات ورودی-خروجی استفاده است کنترلر مخصوصدسترسی مستقیم به حافظه (DMA). DMA جریان بیت بین RAM و برخی از کنترلرها را بدون دخالت CPU مدیریت می کند. پردازنده به تراشه DMA آدرس می دهد، تعداد بایت های انتقال و همچنین آدرس دستگاه و حافظه، جهت انتقال داده را به آن می گوید. پس از اتمام کار، DMA یک وقفه را آغاز می کند که به روش معمول پردازش می شود.


شکل 3 - اقدامات انجام شده هنگام راه اندازی دستگاه I/O و دریافت وقفه


لاستیک ماشین

با توجه به افزایش سرعت پردازنده و حافظه، گذرگاه های اضافی هم برای افزایش سرعت ارتباط بین دستگاه های ورودی-خروجی و هم برای انتقال اطلاعات بین پردازنده و حافظه به سیستم اضافه شده است. شکل 4 نموداری از سیستم محاسباتی اولین پنتیوم را نشان می دهد.

این سیستم دارای 8 گذرگاه (گذرگاه کش، گذرگاه محلی، گذرگاه حافظه، PCI، SCSI، USB، IDE، ISA) است که هر کدام سرعت انتقال داده و عملکردهای خاص خود را دارند. سیستم عامل برای کنترل کامپیوتر باید اطلاعاتی در مورد همه این اتوبوس ها داشته باشد.

پردازنده مرکزی از طریق گذرگاه محلی داده ها را به تراشه پل PCI منتقل می کند که به نوبه خود از طریق یک گذرگاه اختصاصی به حافظه دسترسی پیدا می کند. سیستم پنتیوم I یک کش سطح 1 (L1) داخل پردازنده و یک کش سطح 2 (L2) بسیار بزرگتر دارد که با یک گذرگاه کش جداگانه به پردازنده متصل است. گذرگاه IDE برای اتصال دستگاه های جانبی به سیستم (CD-ROM، هارد دیسک) استفاده می شود.


شکل 4 - ساختار سیستم پنتیوم


گذرگاه USB (گذرگاه سریال جهانی) برای اتصال دستگاه های ورودی / خروجی اضافی به رایانه مانند صفحه کلید، ماوس، چاپگر، فلش مموری و غیره طراحی شده است. با گذشت زمان، لاستیک های جدید سریعتر ظاهر می شوند و اضافه می شوند.

معرفی مختصر سیستم عامل آموزش پتر استاشچوک

(هنوز رتبه بندی نشده است)

عنوان: مقدمه ای کوتاه بر سیستم عامل ها. آموزش

درباره کتاب پیوتر استاشچوک "معرفی مختصر بر سیستم عامل ها". آموزش "

استفاده از فناوری رایانه بدون دانش نرم افزارهای مدرن که مبتنی بر سیستم عامل ها و پوسته های آنها است نمی تواند مؤثر باشد. با مطالعه درس نظری پیشنهادی، دانشجویان باید در مورد قابلیت های سیستم عامل ها، ساختار آنها، اصول سازماندهی و عملکرد، قوانین پیکربندی و غیره ایده ای به دست آورند. کار با کتابچه راهنما به دانش آموزان اجازه می دهد تا دانش سیستم عامل های مدرن را در دانشگاه کسب کنند. سطح یک کاربر واجد شرایط و کمک به تثبیت مهارت های عملی در استفاده از نرم افزارهای مدرن در حین تحصیل و فعالیت حرفه ای.

برای دانشجویان، دانشجویان تحصیلات تکمیلی، معلمان دانشگاه.

در سایت ما درباره کتاب ها، می توانید سایت را به صورت رایگان و بدون ثبت نام دانلود کنید یا کتاب آنلاین پتر استاشچوک "معرفی مختصر بر سیستم عامل ها" را مطالعه کنید. آموزش ”در فرمت‌های epub، fb2، txt، rtf، pdf برای iPad، iPhone، Android و Kindle. این کتاب لحظات دلپذیر زیادی را برای شما به ارمغان می آورد و لذت واقعی از خواندن را برای شما به ارمغان می آورد. خرید کنید نسخه کاملمی توانید با شریک ما تماس بگیرید همچنین، در اینجا آخرین اخبار دنیای ادبی، بیوگرافی نویسندگان مورد علاقه خود را در اینجا خواهید یافت. برای نویسندگان تازه کار، یک بخش جداگانه با نکات و ترفندهای مفید، مقالات جالب وجود دارد که به لطف آن شما خودتان می توانید مهارت های ادبی خود را امتحان کنید.

به نقل از کتاب Petr Stashchuk "معرفی مختصر بر سیستم عامل ها. آموزش "

مدیریت منابع اصلی کامپیوتر (پردازنده، حافظه، دستگاه های خارجی)، ویژگی های روش های طراحی مورد استفاده، انواع پلتفرم های سخت افزاری، حوزه های کاربردی.

سیستم عامل از کاربر در برابر کار مستقیم با سخت افزار کامپیوتر محافظت می کند و یک رابط ساده برای او فراهم می کند و به طور مستقل مشکلات مدیریت سخت افزار سطح پایین را حل می کند.

سیستم عامل - مجموعه ای از برنامه ها که مدیریت داده ها و اجرای برنامه های کاربر را فراهم می کند، توزیع منابع رایانه را هماهنگ می کند و تعامل با کاربران را حفظ می کند.

اولین سیستم عامل ها سیستم های پردازش دسته ای (مانیتورهای مقیم) بودند.

سیستم محاسباتی (CS) مجموعه‌ای از سخت‌افزار و نرم‌افزار است که برای خودکارسازی حل مشکلات اطلاعاتی کاربر طراحی شده است.

صفحه فعلی: 1 (کتاب در مجموع 12 صفحه دارد) [بخش موجود برای مطالعه: 8 صفحه]

آ. یو. کروچینین
سیستم عامل

1شروع کار با سیستم عامل ها

1.1 هدف و وظایف سیستم عامل

سیستم عامل یک کامپیوتر مجموعه ای از برنامه های به هم پیوسته است که به عنوان رابط بین برنامه ها و کاربران از یک سو و سخت افزار کامپیوتر از سوی دیگر عمل می کند. سیستم عامل دو گروه از عملکردها را انجام می دهد:

به جای سخت افزار واقعی کامپیوتر، یک ماشین مجازی توسعه یافته را در اختیار کاربر یا برنامه نویس قرار می دهد.

کارایی استفاده از رایانه را با مدیریت منطقی منابع آن بر اساس معیارهایی افزایش می دهد.

کاربر، به عنوان یک قاعده، علاقه ای به جزئیات دستگاه سخت افزاری کامپیوتر ندارد، او آن را به عنوان مجموعه ای از برنامه های کاربردی می بیند که می تواند به یکی از زبان های برنامه نویسی نوشته شود. سیستم عامل تعدادی قابلیت در اختیار برنامه نویس قرار می دهد که برنامه ها می توانند از طریق دستورات خاصی به نام فراخوانی سیستم از آنها استفاده کنند. بنابراین، یک برنامه نرم افزاری شامل بسیاری از تماس های سیستمی مورد نیاز است، به عنوان مثال، برای کار با فایل ها. سیستم عامل جزئیات سخت افزاری را از برنامه نویس پنهان می کند و یک رابط مناسب برای اجرای سیستم محیط عامل فراهم می کند.

در عین حال، سیستم عامل به عنوان یک مدیر منابع عمل می کند. تحت این رویکرد، وظیفه سیستم عامل ارائه یک تخصیص سازمان یافته و کنترل شده از پردازنده ها، حافظه و I/O بین برنامه های مختلف است. این سیستم عامل دارای ویژگی های زیر است:

عملکردهای سیستم عامل مانند بقیه نرم افزارها کار می کنند - آنها به عنوان برنامه های جداگانه یا مجموعه ای از برنامه ها، فرآیندهای در حال اجرا اجرا می شوند.

سیستم عامل باید کنترل را به سایر فرآیندها منتقل کند و منتظر بماند تا پردازنده دوباره به آن زمان اختصاص دهد تا وظایف خود را انجام دهد.

مدیریت منابع شامل وظایف کلی و مستقل از منابع زیر است:

برنامه ریزی منابع - یعنی تعیین اینکه کدام فرآیند، چه زمانی و در چه مقداری (اگر منبع را بتوان در بخش هایی تخصیص داد) یک منبع معین باید تخصیص داده شود.

برآورده کردن درخواست های منابع؛

ردیابی وضعیت و حسابداری برای استفاده از منابع - یعنی حفظ اطلاعات عملیاتی در مورد اینکه آیا منبع مشغول یا رایگان است و چه سهمی از منبع قبلاً تخصیص داده شده است.

حل تعارض بین فرآیندها.

مدیریت منابع شامل چندگانه سازی (توزیع) آنها به دو صورت است: در زمان و مکان. هنگامی که یک منبع در طول زمان تخصیص می یابد، کاربران و برنامه های مختلف به نوبه خود از آن استفاده می کنند. ابتدا یکی از آنها به استفاده از منبع دسترسی پیدا می کند، سپس دیگری و ... مثلاً چندین برنامه می خواهند به پردازنده مرکزی دسترسی پیدا کنند. در این شرایط، سیستم عامل ابتدا اجازه می دهد تا پردازنده به یک برنامه دسترسی داشته باشد، سپس پس از اینکه مدت زمان کافی کار کرد، به برنامه دیگر، سپس به برنامه بعدی و در نهایت دوباره به برنامه اول دسترسی پیدا کرد. تعیین مدت زمان استفاده از یک منبع در زمان، چه کسی بعدی و چه مدت منبع به آن تخصیص داده می شود وظیفه سیستم عامل است. نوع دیگر توزیع، مالتی پلکس فضایی است. هر مشتری به جای اینکه یک به یک کار کند، بخشی از منبع را دریافت می کند. به طور معمول، RAM بین چندین برنامه در حال اجرا مشترک است، به طوری که همه آنها می توانند به طور همزمان در حافظه باقی بمانند (مثلاً با استفاده از پردازنده مرکزی به نوبه خود). با فرض وجود حافظه کافی برای ذخیره چندین برنامه، قرار دادن چندین برنامه در یک زمان در حافظه کارآمدتر از تخصیص تمام حافظه به یک برنامه است، به خصوص اگر فقط به بخش کوچکی از حافظه موجود نیاز داشته باشد. البته، این مسائل مربوط به تخصیص عادلانه، حفاظت از حافظه و غیره را به همراه دارد و یک سیستم عامل برای حل این مشکلات وجود دارد.

1.2 تاریخچه توسعه سیستم عامل

معمولاً تاریخچه توسعه سیستم عامل ها با تاریخچه توسعه رایانه ها همراه است. اولین ایده برای کامپیوتر توسط ریاضیدان انگلیسی چارلز بابیج در اواسط قرن نوزدهم ارائه شد. او به اصطلاح "موتور تحلیلی" مکانیکی را توسعه داد که به درستی کار نکرد. در زیر نسل های کامپیوتر و ارتباط آنها با سیستم عامل ها آورده شده است.

نسل اول 1945-1955

کامپیوترها از لوله های خلاء و پچ پانل تشکیل شده بودند. بالاترین دستاورد، انتشار کارت های پانچ است. یک کارت پانچ که از مقوای نازک ساخته شده است، اطلاعاتی را با وجود یا عدم وجود سوراخ در موقعیت های مشخص کارت نشان می دهد. هیچ سیستم عاملی وجود ندارد.

نسل دوم 1955-1965

اساس کامپیوترها ترانزیستورها و سیستم های پردازش دسته ای هستند. با عرشه کارت های پانچ و ضبط صوت مشخص می شود. آنها عمدتاً به زبان های Fortran و Assembler برای سیستم عامل Fortran Monitor (FMS) و IBSYS برنامه نویسی کردند.

نسل سوم 1965-1980

مشخصه این دوره ظهور مدارهای مجتمع و همچنین چندوظیفه ای یا به عبارتی دیگر برنامه نویسی چندگانه است. IBM سری های مختلفی از ماشین ها را تولید کرده است که از IBM / 360 شروع می شود. سیستم عامل OS / 360 برای آنها نوشته شده بود که حدود 1000 برابر اندازه FMS نسل دوم بود. در این مرحله، اجرای صنعتی چند وظیفه ای ظاهر می شود - روشی برای سازماندهی یک فرآیند محاسباتی که در آن چندین برنامه به طور همزمان در حافظه رایانه قرار داشتند و به طور متناوب روی یک پردازنده اجرا می شدند.

سیستم عامل های قابل توجه دیگر از این دوره CTSS (سیستم سازگار با اشتراک زمان) و MULTICS (خدمات محاسباتی و اطلاعات چندگانه) بودند که برای دسترسی صدها کاربر به یک ماشین واحد طراحی شده بودند. توسعه بیشتر این سیستم به یونیکس تبدیل شد.

نسل چهارم 1980 تا کنون

این دوره با ظهور مدارهای مجتمع بزرگ همراه است. در سال 1974، اینتل اولین پردازنده جهانی 8 بیتی، اینتل 8080 را منتشر کرد. در اوایل دهه 1980، IBM کامپیوتر شخصی IBM را توسعه داد. در همان زمان، اولین نسخه MS-DOS ظاهر می شود. تمام سیستم عامل های توسعه یافته تا این مرحله فقط از حالت متنی ارتباط با کاربر پشتیبانی می کردند.

اولین تلاش برای ایجاد یک رابط گرافیکی کاربر پسند بر روی مکینتاش اپل اجرا شد. شرکت مایکروسافت تحت تأثیر موفقیت خود، یک پوسته گرافیکی برای MS-DOS - Windows منتشر کرد. و از سال 1995 ویندوز 95 منتشر شد که به یک سیستم مستقل تبدیل شد. بعداً بر اساس ویندوز 95 و یک سیستم ویندوز NT دیگر، سیستم عامل های موجود در حال حاضر توسعه یافتند - Windows 2000، XP، Vista و دیگران.

1.3 طبقه بندی سیستم عامل ها

سیستم عامل های زیادی وجود دارد و همه آنها را نمی شناسند. علاوه بر این، 7 نوع سیستم عامل مختلف از نظر سطح از بزرگ به کوچک در نظر گرفته شده است.

سیستم عامل های اصلی

مین فریم یک کامپیوتر همه منظوره با کارایی بالا با مقدار قابل توجهی رم و حافظه خارجی است که برای انجام کارهای محاسباتی فشرده طراحی شده است. اینها معمولاً رایانه هایی به اندازه اتاق هستند و در شرکت های بزرگ یافت می شوند. مین فریم ها معمولا حاوی هزاران دیسک و ترابایت رم هستند.

سیستم‌عامل‌های اصلی عمدتاً بر روی انجام بسیاری از کارهای همزمان متمرکز هستند که بیشتر آنها به مقدار زیادی I/O نیاز دارند. سیستم باید به هزاران درخواست در ثانیه پاسخ دهد. یک مثال OS / 390 است که از نسل سوم سیستم عامل OS / 360 مشتق شده است.

سیستم عامل های سرور

این سیستم عامل ها بر روی سرورهایی اجرا می شوند که یک کامپیوتر شخصی، ایستگاه کاری یا حتی یک پردازنده مرکزی هستند. سرورها امکان کار با چاپگرها، فایل ها یا اینترنت را فراهم می کنند. این سیستم عامل ها عبارتند از یونیکس، لینوکس، ویندوز 2003 سرور و ....

سیستم عامل های چند پردازنده ای

این سیستم ها در رایانه هایی با چندین واحد پردازش مرکزی استفاده می شوند. آنها به سیستم عامل های خاصی نیاز دارند، اما معمولاً تغییراتی در سیستم عامل سرور هستند.

سیستم عامل برای کامپیوترهای شخصی

معیار اصلی این سیستم ها رابط کاربری مناسب برای یک کاربر است. معروف ترین سیستم ها: ویندوز 98، 2000، XP، سری ویستا؛ مکینتاش، لینوکس.

سیستم عامل های بلادرنگ

پارامتر اصلی این سیستم ها زمان است. در سیستم های کنترل فرآیند صنعتی، لازم است که زمان کار نوار نقاله، ربات های صنعتی مختلف به وضوح هماهنگ شود. این یک سیستم بلادرنگ سخت است. همچنین سیستم های بلادرنگ انعطاف پذیری وجود دارد - رد شدن از مهلت های عملیات، به عنوان مثال، سیستم های چند رسانه ای مجاز است. سیستم عامل های بلادرنگ شامل VxWorks و QNX هستند.

سیستم عامل های تعبیه شده

اینها شامل سیستم عامل PDA (دستیار دیجیتال شخصی) است. علاوه بر این، سیستم های تعبیه شده روی ماشین ها، تلویزیون ها و تلفن های همراه کار می کنند. این سیستم عامل ها معمولا تمام ویژگی های سیستم عامل های بلادرنگ با حافظه، توان و ... محدود را دارند. نمونه هایی از سیستم ها عبارتند از PalmOS، Windows CE.

سیستم عامل برای کارت های هوشمند

کارت هوشمند دستگاهی به اندازه کارت اعتباری است که شامل یک واحد پردازش مرکزی است. چنین سیستم هایی در معرض محدودیت های شدید قدرت و حافظه هستند. برخی فقط یک تراکنش را مدیریت می کنند - برای مثال پرداخت الکترونیکی. کارت های هوشمند انتخابی شامل پشتیبانی از ماشین مجازی جاوا می شود.

1.4 نمای کلی سخت افزار کامپیوتر

یک سیستم عامل ارتباط نزدیکی با سخت افزار کامپیوتری دارد که قرار است روی آن اجرا شود. سخت افزار بر مجموعه دستورالعمل ها و مدیریت منابع سیستم عامل تأثیر می گذارد. یک کامپیوتر از نظر مفهومی ساده را می توان به عنوان مدل نشان داده شده در شکل 1 در نظر گرفت. این ساختار در اولین مدل های کامپیوتر IBM استفاده شد.


شکل 1 - برخی از اجزای یک کامپیوتر شخصی


در شکل، پردازنده مرکزی، حافظه، دستگاه های ورودی-خروجی توسط گذرگاه سیستم به هم متصل شده اند که از طریق آن اطلاعات را مبادله می کنند.

CPU

"مغز" کامپیوتر، واحد پردازش مرکزی (CPU) است. دستورات را از حافظه انتخاب کرده و اجرا می کند. یک چرخه پردازنده معمولی به این صورت است: اولین دستورالعمل را از حافظه بخوانید، برای تعیین نوع و عملوندهای آن رمزگشایی کنید، دستورالعمل را اجرا کنید، سپس بخوانید، دستورالعمل های بعدی را رمزگشایی کنید. برنامه ها به این صورت اجرا می شوند.

هر پردازنده مجموعه ای از دستورالعمل ها را دارد که می تواند اجرا کند. از آنجایی که دسترسی به حافظه برای دریافت دستورالعمل ها یا مجموعه داده ها بسیار بیشتر از اجرای این دستورالعمل ها طول می کشد، همه پردازنده ها دارای ثبات های داخلی برای ذخیره متغیرها و نتایج میانی هستند. بنابراین، یک مجموعه دستورالعمل معمولاً حاوی دستورالعمل هایی برای بارگذاری یک کلمه از حافظه در یک ثبات و ذخیره یک کلمه از یک ثبات در حافظه است. علاوه بر رجیسترهای اصلی که برای ذخیره متغیرها استفاده می شود، اکثر پردازنده ها دارای چندین ثبات خاص هستند که برای ذخیره متغیرها استفاده می شوند و همچنین ثبات های خاصی که برای برنامه نویسان قابل مشاهده است.

هنگامی که یک پردازنده مالتیپلکس زمانی می شود، سیستم عامل یک برنامه در حال اجرا را برای شروع برنامه دیگر متوقف می کند. هر بار که چنین وقفه ای رخ می دهد، سیستم عامل باید تمام رجیسترهای پردازنده را ذخیره کند تا بعداً، زمانی که برنامه قطع شده به کار خود ادامه داد، بتوان آنها را بازیابی کرد.

برای افزایش سرعت CPU، توسعه دهندگان آنها مدل ساده را کنار گذاشتند، زمانی که تنها یک دستورالعمل می تواند در هر سیکل ساعت خوانده، رمزگشایی و اجرا شود. پردازنده های مدرن این قابلیت را دارند که چندین دستور را همزمان اجرا کنند.

اکثر CPU ها دو حالت کار دارند: حالت هسته و حالت کاربر. هنگامی که پردازنده در حالت هسته اجرا می شود، می تواند تمام دستورالعمل ها را در مجموعه ای از دستورالعمل ها اجرا کند و از تمام قابلیت های سخت افزار استفاده کند. سیستم عامل در حالت هسته اجرا می شود و دسترسی به تمام سخت افزارها را فراهم می کند. در مقابل، کاربران در حالت کاربر کار می‌کنند، که اجرای زیرمجموعه‌ای از برنامه‌ها را امکان‌پذیر می‌کند و تنها بخشی از سخت‌افزار را در دسترس قرار می‌دهد.

حافظه

دومین جزء اصلی هر کامپیوتر حافظه است. در حالت ایده‌آل، حافظه باید تا حد امکان سریع باشد (سریع‌تر از پردازش یک دستورالعمل، به طوری که پردازنده با دسترسی به حافظه‌ای که به اندازه کافی بزرگ و بسیار ارزان است، سرعت خود را کاهش ندهد). امروزه هیچ فناوری ای وجود ندارد که تمام این الزامات را برآورده کند. بنابراین، رویکرد متفاوتی وجود دارد.

سیستم حافظه به شکل سلسله مراتبی از لایه ها ساخته شده است که در شکل 2 نشان داده شده است. با بالا رفتن سلسله مراتب از بالا به پایین، دو پارامتر افزایش می یابد: زمان دسترسی، اندازه حافظه.

لایه بالایی از رجیسترهای داخلی CPU تشکیل شده است، بنابراین در هنگام دسترسی به آنها تاخیری وجود ندارد. رجیسترهای داخلی کمتر از 1 کیلوبایت اطلاعات را ذخیره می کنند. برنامه ها می توانند رجیسترها را بدون دخالت سخت افزار مدیریت کنند. دسترسی ثبت سریعترین است - چند نانوثانیه.

لایه بعدی حاوی حافظه کش است که عمدتاً توسط سخت افزار کنترل می شود. متداول ترین مناطق حافظه نهان در یک کش با سرعت بالا که در داخل CPU قرار دارد ذخیره می شوند. هنگامی که یک برنامه نیاز به خواندن کلمه ای از حافظه دارد، تراشه کش تعیین می کند که آیا خط مورد نیاز در حافظه پنهان است یا خیر. اگر چنین است، دسترسی موثر به حافظه کش وجود دارد. حافظه کش به دلیل هزینه بالای آن از نظر اندازه محدود است. ماشین‌های مدرن دو یا سه سطح حافظه پنهان دارند که هر کدام کندتر و بزرگ‌تر از قبلی است. اندازه حافظه کش از ده ها کیلوبایت تا چندین مگابایت. زمان دسترسی کمی بیشتر از ثبت است.


شکل 2 - ساختار سلسله مراتبی حافظه


به دنبال آن RAM (RAM - حافظه دسترسی تصادفی) - منطقه کار اصلی حافظه دستگاه است. تمام درخواست های CPU که نمی توانند توسط حافظه کش انجام شوند برای پردازش به RAM می روند. حجم از صدها مگابایت تا چندین گیگابایت. زمان دسترسی ده ها نانوثانیه است.

بعد دیسک مغناطیسی می آید. حافظه دیسک دو مرتبه ارزانتر از RAM در هر بیت و دو مرتبه بزرگتر است. دیسک یک مشکل دارد - دسترسی تصادفی به داده های روی آن حدود سه مرتبه بیشتر طول می کشد. دلیل سرعت پایین هارد دیسک ها (HDD) طراحی مکانیکی درایو است. از یک یا چند صفحه فلزی تشکیل شده است که با سرعت های مشخصی مانند 7200 دور در دقیقه می چرخند. اکنون حجم دیسک ها به سرعت در حال افزایش است و برای اکثر کاربران دیسک هایی با صدها گیگابایت در فروش وجود دارد. زمان دسترسی - نه کمتر از 10 میکرو ثانیه.

نوار اغلب برای پشتیبان گیری از هارد دیسک ها یا برای ذخیره مجموعه داده های بسیار بزرگ استفاده می شود. البته در حال حاضر به ندرت پیش می آید که بتوان از نوارهای مغناطیسی استفاده کرد، اما هنوز آنها از استفاده خارج نشده اند. سطح نوار نیز شامل سی دی، دی وی دی و فلش مموری است. زمان دسترسی بر حسب ثانیه اندازه گیری می شود.

علاوه بر انواع توصیف شده، رایانه ها دارای مقدار کمی حافظه فقط خواندنی با دسترسی تصادفی هستند. برخلاف رم، با قطع برق محتویات خود را از دست نمی دهد. به آن رام یا رام می گویند. رام در حین تولید برنامه ریزی می شود و پس از آن محتویات آن قابل تغییر نیست. این حافظه به اندازه کافی سریع و ارزان است. برنامه های بوت استرپ کامپیوتر که در هنگام راه اندازی استفاده می شوند در رام هستند. علاوه بر این، برخی از کارت های I/O حاوی ROM هایی برای کنترل دستگاه های سطح پایین هستند. نوعی حافظه به نام CMOS فرار است. CMOS برای ذخیره تاریخ، زمان و پارامترهای پیکربندی فعلی استفاده می شود، مانند تعیین اینکه از کدام هارد دیسک بوت شود. این حافظه از باتری نصب شده انرژی می گیرد.

دستگاه های ورودی-خروجی

سیستم عامل با دستگاه های I/O به عنوان منابع تعامل دارد. دستگاه های I/O معمولاً از یک کنترلر و خود دستگاه تشکیل شده اند.

کنترلر مجموعه ای از ریز مدارها بر روی بردی است که در کانکتور، یک دستگاه کنترل فیزیکی، قرار داده شده است. دستورات سیستم عامل را می پذیرد (مثلاً دستورالعمل هایی برای خواندن داده ها از یک دستگاه) و آنها را اجرا می کند. کنترل واقعی دستگاه بسیار پیچیده است و به سطح بالایی از جزئیات نیاز دارد. بنابراین، این وظیفه کنترلر است که یک رابط ساده به سیستم عامل ارائه دهد.

قسمت بعدی خود دستگاه است. این دستگاه ها رابط های نسبتاً ساده ای دارند، زیرا قابلیت های آنها کوچک است و باید به یک استاندارد واحد رسید. برای مثال، یک استاندارد واحد مورد نیاز است تا هر کنترل کننده دیسک IDE (Integrated Drive Electronics) بتواند هر دیسک IDE را مدیریت کند. رابط IDE برای دیسک‌های رایانه‌های مبتنی بر پنتیوم و همچنین رایانه‌های دیگر استاندارد است. از آنجایی که رابط واقعی دستگاه توسط کنترلر مخفی است، سیستم عامل فقط رابط کنترلر را می بیند که می تواند بسیار متفاوت از رابط خود دستگاه باشد.

از آنجایی که انواع کنترلرها متفاوت هستند، به نرم افزارهای مختلفی نیاز دارند. برنامه ای که با کنترلر ارتباط برقرار می کند یک درایور دستگاه است. هر سازنده کنترلر باید درایورهای سیستم عامل های پشتیبانی شده را تامین کند. برای استفاده از درایور باید در سیستم عامل نصب شود تا در حالت هسته اجرا شود. سه راه برای نصب درایور در هسته وجود دارد:

هسته را به همراه درایور جدید پیوند دهید و سپس سیستم عامل را راه اندازی مجدد کنید (این تعداد سیستم عامل یونیکس کار می کنند).

یک ورودی در فایل موجود در سیستم عامل ایجاد کنید که به درایور نیاز است و سپس سیستم را راه اندازی مجدد کنید. در هنگام بوت اولیه، خود سیستم عامل درایورهای لازم را پیدا کرده و آنها را بارگیری می کند (ویندوز اینگونه کار می کند).

این سیستم عامل می تواند درایورهای جدید را بدون وقفه در کار خود بپذیرد و بدون نیاز به راه اندازی مجدد به سرعت آنها را نصب کند. این روش روز به روز رایج تر می شود. دستگاه هایی مانند گذرگاه های USB، IEEE 1394 همیشه به درایورهای بارگذاری شده پویا نیاز دارند.

داده I/O را می توان به سه روش مختلف انجام داد.

ساده ترین راه: برنامه کاربر درخواست سیستمی را صادر می کند، که هسته آن را به یک فراخوانی رویه مربوط به درایور ترجمه می کند، سپس درایور فرآیند I/O را شروع می کند. در این مدت او یک چرخه برنامه کوتاه را انجام می دهد و دائماً دستگاهی را که با آن کار می کند نظرسنجی می کند. هنگامی که I/O تکمیل می شود، درایور داده ها را در جایی که باید باشد قرار می دهد و به حالت اولیه خود باز می گردد. سپس سیستم عامل کنترل را به برنامه فراخوانی باز می گرداند. این روش در انتظار آماده (انتظار فعال) است. این یک اشکال دارد: پردازنده باید دستگاه را تا زمانی که خاموش شود نظرسنجی کند.

درایور دستگاه را راه اندازی می کند و از آن می خواهد که در انتهای I / O وقفه ایجاد کند. سپس درایور کنترل را به سیستم عامل باز می گرداند و آن شروع به انجام سایر وظایف می کند. هنگامی که کنترل کننده پایان انتقال داده را تشخیص می دهد، در تکمیل عملیات وقفه ایجاد می کند. فرآیند I/O با استفاده از وقفه شامل چهار مرحله است (شکل 3). در مرحله اول، درایور دستوری را به کنترلر ارسال می کند و اطلاعات را در رجیسترهای دستگاه می نویسد. سپس کنترلر دستگاه را راه اندازی می کند. هنگامی که کنترل کننده خواندن یا نوشتن تعداد بایت هایی را که برای انتقال دستور داده شده بود به پایان می رساند، سیگنالی را با استفاده از سیم های اتوبوس خاص به تراشه کنترل کننده وقفه می فرستد. این مرحله دو است. در مرحله سوم، اگر کنترل کننده وقفه آماده پردازش وقفه ها باشد، سیگنالی را به پین ​​خاصی از CPU ارسال می کند و از این طریق به آن اطلاع می دهد. در مرحله چهارم، کنترل کننده وقفه شماره دستگاه را در گذرگاه وارد می کند تا CPU بتواند بداند کدام دستگاه خاموش شده است.

سومین روش ورودی-خروجی اطلاعات استفاده از کنترلر مخصوص DMA (دسترسی مستقیم به حافظه) است. DMA جریان بیت بین RAM و برخی از کنترلرها را بدون دخالت CPU مدیریت می کند. پردازنده به تراشه DMA آدرس می دهد، تعداد بایت های انتقال و همچنین آدرس دستگاه و حافظه، جهت انتقال داده را به آن می گوید. پس از اتمام کار، DMA یک وقفه را آغاز می کند که به روش معمول پردازش می شود.


شکل 3 - اقدامات انجام شده هنگام راه اندازی دستگاه I/O و دریافت وقفه


لاستیک ماشین

با توجه به افزایش سرعت پردازنده و حافظه، گذرگاه های اضافی هم برای افزایش سرعت ارتباط بین دستگاه های ورودی-خروجی و هم برای انتقال اطلاعات بین پردازنده و حافظه به سیستم اضافه شده است. شکل 4 نموداری از سیستم محاسباتی اولین پنتیوم را نشان می دهد.

این سیستم دارای 8 گذرگاه (گذرگاه کش، گذرگاه محلی، گذرگاه حافظه، PCI، SCSI، USB، IDE، ISA) است که هر کدام سرعت انتقال داده و عملکردهای خاص خود را دارند. سیستم عامل برای کنترل کامپیوتر باید اطلاعاتی در مورد همه این اتوبوس ها داشته باشد.

پردازنده مرکزی از طریق گذرگاه محلی داده ها را به تراشه پل PCI منتقل می کند که به نوبه خود از طریق یک گذرگاه اختصاصی به حافظه دسترسی پیدا می کند. سیستم پنتیوم I یک کش سطح 1 (L1) داخل پردازنده و یک کش سطح 2 (L2) بسیار بزرگتر دارد که با یک گذرگاه کش جداگانه به پردازنده متصل است. گذرگاه IDE برای اتصال دستگاه های جانبی به سیستم (CD-ROM، هارد دیسک) استفاده می شود.


شکل 4 - ساختار سیستم پنتیوم


گذرگاه USB (گذرگاه سریال جهانی) برای اتصال دستگاه های ورودی / خروجی اضافی به رایانه مانند صفحه کلید، ماوس، چاپگر، فلش مموری و غیره طراحی شده است. با گذشت زمان، لاستیک های جدید سریعتر ظاهر می شوند و اضافه می شوند.

اندرو تاننبام نسخه جدیدی از پرفروش ترین کتاب خود در سراسر جهان را ارائه می دهد که برای درک عملکرد سیستم عامل های مدرن ضروری است. تفاوت قابل توجهی با قبلی دارد و شامل اطلاعاتی در مورد آخرین دستاوردها در این زمینه است فناوری اطلاعات... به عنوان مثال، فصل مربوط به ویندوز ویستا اکنون با نگاهی عمیق به ویندوز 8.1 به عنوان جدیدترین نسخه در زمان نگارش این مقاله جایگزین شده است. بخش بزرگی که به اتاق عمل اختصاص داده شده است ظاهر شده است. سیستم اندروید... مطالب در یونیکس و لینوکس و همچنین سیستم های RAID به روز شده است. توجه بسیار بیشتری به سیستم های چند هسته ای و چند هسته ای شده است که اهمیت آنها در چند سال گذشته به طور پیوسته افزایش یافته است. فصل کاملاً جدیدی در مجازی سازی و رایانش ابری فرا رسیده است. مقدار زیادی مطالب جدید در مورد استفاده از خطاهای کد اضافه شده است بد افزارو اقدامات حفاظتی مناسب این کتاب بسیاری از جزئیات مهم را به شیوه ای روشن و جذاب ارائه می دهد که در هیچ نشریه دیگری یافت نمی شود.

یک سیستم عامل به عنوان یک ماشین توسعه یافته.
معماری اکثر کامپیوترها (مجموعه دستورالعمل، سازماندهی حافظه، ورودی/خروجی داده ها و ساختار گذرگاه) در سطح زبان ماشین برای استفاده در برنامه ها، به ویژه برای سیستم های I/O، بسیار بدوی و ناخوشایند است. برای به راه انداختن مکالمه، هارد دیسک های مدرن SATA (Serial ATA) که در اکثر رایانه ها استفاده می شود را در نظر بگیرید. این کتاب که توسط اندرسون در سال 2007 منتشر شد، حاوی توضیحاتی درباره رابط دیسکی بود که برنامه نویسان باید برای استفاده از دیسک یاد می گرفتند، بیش از 450 صفحه بود. پس از آن، این رابط بارها مورد بازنگری قرار گرفت و حتی پیچیده تر از آن در سال 2007 شد. واضح است که هیچ برنامه نویس عاقلی نمی خواهد با چنین دیسکی در سطح سخت افزاری برخورد کند. در عوض، سخت افزار توسط نرم افزاری به نام درایور دیسک مدیریت می شود که بدون وارد شدن به جزئیات، رابطی برای خواندن و نوشتن بلوک های دیسک فراهم می کند. سیستم عامل ها شامل درایورهای زیادی برای کنترل دستگاه های I/O هستند.

اما حتی این سطح برای اکثر برنامه ها بسیار پایین است. بنابراین، همه سیستم عامل ها سطح دیگری از انتزاع را برای استفاده از دیسک ها - فایل ها ارائه می دهند. با استفاده از این انتزاع، برنامه ها می توانند بدون وارد شدن به جزئیات، فایل ها را ایجاد، بنویسند و بخوانند. کار واقعیتجهیزات.

محتوا
پیشگفتار
فصل 1 مقدمه
فصل 2. فرآیندها و موضوعات
فصل 3. مدیریت حافظه
فصل 4. سیستم های فایل
فصل 5. ورودی و خروجی اطلاعات
فصل 6. بن بست
فصل 7. مجازی سازی و ابر
فصل 8. سیستم های چند پردازنده ای
فصل 9. امنیت
فصل 10. کاوش نمونه های عینی: یونیکس، لینوکس و اندروید
فصل 11. مطالعات موردی: ویندوز 8
فصل 12. توسعه سیستم عامل
فصل 13. کتابشناسی.

دانلود رایگان کتاب الکترونیکیدر قالبی مناسب، تماشا کنید و بخوانید:
دانلود کتاب Modern Operating Systems Tanenbaum E. Bos X. 2015 - fileskachat.com دانلود سریع و رایگان.

پی دی اف دانلود کنید
در زیر می توانید این کتاب را خریداری کنید بهترین قیمتبا تخفیف با تحویل در سراسر روسیه.

دانلودها: 8365

معروف ترین سیستم عامل در حال حاضر بدون شک خانواده ویندوز مایکروسافت است. با این حال، با وجود محبوبیت، ویندوز اولین یا تنها سیستم عامل در جهان نیست.


28.04.2014
ناتان والاس، آنتونی سکویرا - Windows® 2000 Registry

دانلودها: 596

قبل از هر چیز، مایلیم از شارلوت کارپنتیر، ویرایشگر Acquisitions در Coriolis تشکر کنیم. همچنین، از گرگ بالاس، که به عنوان ویراستار پروژه، و پگی کانترل، که به عنوان هماهنگ کننده تولید کتاب خدمت می کرد، تشکر ویژه می کنیم.


27.04.2014
A. Chekmarev - Windows 7 Administrator's Guide

دانلودها: 12818

راهنمای سیستم عامل مایکروسافت ویندوز 7 برای کاربران پیشرفته و مدیران شبکه در نظر گرفته شده است. امکانات متعدد همه نسخه های ویندوز 7 آشکار می شود، تمام جنبه های استفاده از سیستم به طور دقیق در نظر گرفته می شود: از نصب تا روش های بازیابی.


27.04.2014
M. Russinovich - ساختار داخلی مایکروسافت ویندوز

دانلودها: 9066

چاپ ششم این کتاب افسانه ای به ساختار داخلیو الگوریتم هایی برای عملکرد اجزای اصلی اتاق عمل سیستم های مایکروسافتویندوز 7 و همچنین ویندوز سرور 2008 R2.


17.04.2014
ریچارد سیمون - Microsoft Windows API. مرجع برنامه نویس سیستم

دانلودها: 8967

سیستم عامل های خانواده ویندوز، متدولوژی توسعه برنامه های کاربردی را که توسط این سیستم عامل ها اجرا و کنترل می شوند، به سطح کیفی کاملا جدیدی آورده اند. علیرغم فراوانی ابزارهای برنامه نویسی قدرتمند، دانش رابط برنامه نویسی کاربردی (API) - پایه و اساس همه اصول - کلید نوشتن برنامه هایی است که موقعیت بازار قوی دارند.


17.04.2014
آرنولد رابینز، البرت هانا و لیندا لمب-آموزش ویرایشگران vi و Vim. ویرایش هفتم

دانلودها: 799

"هیچ چیزی وجود ندارد که کاربران سخت‌کوه یونیکس و لینوکس نسبت به ویرایشگر متن خود متعصب تر باشند. ویراستارها، بسته به اینکه موضوع بحث ویرایشگر شما باشد یا شخص دیگری، مورد تحسین و پرستش، یا مورد تمسخر و تمسخر قرار می‌گیرند." س vi برای نزدیک به 30 سال ویرایشگر استاندارد بوده است. در یونیکس و لینوکس محبوبیت دارد و در سیستم های ویندوز نیز طرفداران فزاینده ای دارد. اکثر مدیران سیستم با تجربه citevi به عنوان ابزار انتخابی آنها هستند. و از سال 1986 این کتاب راهنمای vi.




 


خواندن:



فال انفرادی بر اساس تاریخ تولد به صورت رایگان با رمزگشایی فال شرقی برای فردا

فال انفرادی بر اساس تاریخ تولد به صورت رایگان با رمزگشایی فال شرقی برای فردا

برج حمل تاریخ تولد: 21.03 - 20.04 دوشنبه هر کاری امروز به راحتی و به طور طبیعی توسط شما انجام خواهد شد. آنها به سرعت و به آرامی عجله خواهند کرد ...

تقویم کاشت برای جدول آوریل

تقویم کاشت برای جدول آوریل

به سختی می توانید باغی بدون لاله پیدا کنید. اما مهم نیست که تنوع تنوع چقدر زیاد است، ما همیشه چیزی می خواهیم ...

سال خروس برای موش چه خواهد بود؟

سال خروس برای موش چه خواهد بود؟

موش ها موجودات مستقلی هستند و در سال 2017 می توانند خود را در زمینه کارآفرینی ثابت کنند - وقت آن است که کسب و کار خود را باز کنید و آن را زنده کنید ...

فال رایج و عشقی: مرد مار

فال رایج و عشقی: مرد مار

مرد مار عجیب ترین و غیرقابل پیش بینی ترین علامت طالع بینی شرقی است. زندگی او مانند شخصیت او در رازهایی پوشیده شده است. یک حیوان می تواند ...

فید-تصویر Rss