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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نسل اول 1945-1955

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

نسل دوم 1955-1965

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

نسل سوم 1965-1980

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

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

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

این دوره با ظهور مدارهای مجتمع در مقیاس بزرگ همراه است. در سال 1974، اینتل اولین نسخه جهانی 8 بیتی را منتشر کرد پردازنده اینتل 8080. در اوایل دهه 80، IBM رایانه شخصی 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 - حافظه دسترسی تصادفی یا حافظه دسترسی تصادفی) - منطقه کار اصلی دستگاه ذخیره سازی دستگاه است. تمام درخواست های CPU که توسط حافظه کش قابل انجام نیستند برای پردازش به RAM ارسال می شوند. حجم ها از صدها مگابایت تا چندین گیگابایت متغیر است. زمان دسترسی ده ها نانوثانیه است.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


لاستیک

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

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

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


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


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

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

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

عنوان: معرفی مختصر سیستم عامل ها آموزش

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

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

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

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

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

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

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

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

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

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

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

A. Yu. Kruchinin
سیستم عامل ها

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نسل اول 1945-1955

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

نسل دوم 1955-1965

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

نسل سوم 1965-1980

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

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

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

این دوره با ظهور مدارهای مجتمع در مقیاس بزرگ همراه است. در سال 1974، اینتل اولین پردازنده جهانی 8 بیتی، اینتل 8080 را منتشر کرد. در اوایل دهه 80، IBM کامپیوتر شخصی 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 - حافظه دسترسی تصادفی یا حافظه دسترسی تصادفی) - منطقه کار اصلی دستگاه ذخیره سازی دستگاه است. تمام درخواست های CPU که توسط حافظه کش قابل انجام نیستند برای پردازش به RAM ارسال می شوند. حجم ها از صدها مگابایت تا چندین گیگابایت متغیر است. زمان دسترسی ده ها نانوثانیه است.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


لاستیک

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

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

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


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


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

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

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

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

محتوا
پیشگفتار
فصل 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 - راهنمای مدیر ویندوز 7

دانلودها: 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.




 


بخوانید:



حسابداری تسویه حساب با بودجه

حسابداری تسویه حساب با بودجه

حساب 68 در حسابداری در خدمت جمع آوری اطلاعات در مورد پرداخت های اجباری به بودجه است که هم به هزینه شرکت کسر می شود و هم ...

کیک پنیر از پنیر در یک ماهیتابه - دستور العمل های کلاسیک برای کیک پنیر کرکی کیک پنیر از 500 گرم پنیر دلمه

کیک پنیر از پنیر در یک ماهیتابه - دستور العمل های کلاسیک برای کیک پنیر کرکی کیک پنیر از 500 گرم پنیر دلمه

مواد لازم: (4 وعده) 500 گرم. پنیر دلمه 1/2 پیمانه آرد 1 تخم مرغ 3 قاشق غذاخوری. ل شکر 50 گرم کشمش (اختیاری) کمی نمک جوش شیرین...

سالاد مروارید سیاه با آلو سالاد مروارید سیاه با آلو

سالاد

روز بخیر برای همه کسانی که برای تنوع در رژیم غذایی روزانه خود تلاش می کنند. اگر از غذاهای یکنواخت خسته شده اید و می خواهید لذت ببرید...

دستور العمل لچو با رب گوجه فرنگی

دستور العمل لچو با رب گوجه فرنگی

لچوی بسیار خوشمزه با رب گوجه فرنگی مانند لچوی بلغاری که برای زمستان تهیه می شود. اینگونه است که ما 1 کیسه فلفل را در خانواده خود پردازش می کنیم (و می خوریم!). و من چه کسی ...

فید-تصویر RSS