39
فصل2 : عاملیستم ساختار س

لماع متسیس راتخاس :2 لصفarmsepehr.ir/courses/OS951/slides/Lec-2-3 - Structure.pdf · 2016. 9. 30. · 2.3 لماع یاه متسیس.دومن یسررب ار لماع

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • ساختار سیستم عامل: 2فصل

  • 2.2

    اهداف این فصل

    تشریح خدمات ارائه شده توسط سیستم عامل به کاربران، پردازه ها و دیگر سامانه ها

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

    بررسی معماری چند سیستم عامل

  • 2.3

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

    .از دیدهای مختلفی می توان سیستم های عامل را بررسی نمود

    سرویس ها و خدماتی که سیستم های عامل ارائه می نمایند

    واسطه های کاربری که به کاربران و برنامه نویس ها ارائه می دهند

    مولفه های سیستم عامل و ارتباط بین آنها

  • 2.4

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

    سیستم عامل ها محیطی برای اجرای برنامه ها فراهم می کنند

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

    ر گروه نوع سرویس های ارائه شده از یک سیستم عامل به سیستم عامل دیگر متفاوت است اما می توان آنها را د.های زیر دسته بندی نمود

    .سرویس هایی که برای آسان کردن کار به کاربر و کمک به او فراهم می شود

    .سرویس هایی که برای افزایش کارایی ارائه می شود

  • 2.5

    سرویس های ارائه شده به کاربران

    واسطه کاربری

    ((Command-Line (CLI)پردازش خط فرمان

    ((Graphics User Interface (GUI)واسطه گرافیکی

    (Batch)پردازش دسته ای

    اجرای برنامه ها

    شامل بارگذاری، پایان و آزاد سازی برنامه ها

    عملیات ورودی و خروجی

    عملیات فایل و دایرکتوری

    مانند خواندن، نوشتن، ایجا و حذف فایل

    مانند ایجاد و حذف دایرکتوری

    ارتباط بین پردازه ها

    حافظه اشتراکی و ارتباط با پیام

    تشخیص خطا

  • 2.6

    سرویس های ارائه شده برای بهبود کارایی

    تخصیص منابع مانند

    تخصیص پردازنده

    تخصیص و آزاد سازی حافظه

    تخصیص ورودی و خروجی

    حسابداری

    یک کاربر چقدر از هرکدا از منابع استفاده نموده است

    محافظت و امنیت

  • 2.7

    واسطه کاربری

    ( (Command-Line (CLI)پردازش خط فرمان

    و Linuxخشی از هسته است اما در بیشتر سیستم عامل ها از قبیلبدر برخی از از سیستم عامل ها Windows این بخش برنامه جدایی بوده و زمانی که کاربر وارد سیستم می شود(Login ) و یا یک برنامه را

    .اجرا می کند بارگذاری می شود

    های مختلف در لینوکس و Shellهای متفاوتی داشت مانند CLIدر برخی از سیستم عامل ها می توان یونیکس

    کاربردریافت و اجرای فرمان های CLIمهمترین عملکرد

    CLIهای پیاده سازی شیوه

    این بخش حاوی کدهای همه دستورها باشد

    مشکل گسترش، حجم کد و حافظه مورد نیاز جهت اجرا: کاستی ها–

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

    کوچک بودن این بخش و قابل گسترش بودن آن: برتری ها

  • 2.8

    (ادامه)واسطه کاربری

    واسطه گرافیکی

    توسط شرکت زیراکس1970در اوایل دهه

    توسط شرکت اپل1980در اوایل دهه

  • 2.9

    (System Calls)فراخوان های سیستمی

    .فراخوان های سیستمی یک واسطه برای سرویس های ارائه شده توسط سیستم عامل را فراهم می کند

  • 2.10

    (ادامه)فراخوان سیستمی

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

    Windows APIPOSIX API

    در ویندوز ()CreateProcessبرای نمونه NTCreateProcess()را فراخوانی می نماید.

  • 2.11

    و فراخوان سیستمیAPIارتباط بین

  • 2.12

    تمشیوه های مختلف ارسال پارامترها به فراخوان های سیس

    ثبات

    (مانند لینوکس)ذخیره سازی در یک جدول و فرستادن نشانی جدول

    قرار دادن در پشته

  • 2.13

    انواع فراخوان های سیستمی

    کنترل پردازه ها

    پردازه ها... ایجاد، حذف، پایان دادن، بارگذاری و

    پردازش فایل ها

    ایجاد، باز کردن، بستن و حذف فایل ها

    پردازش دستگاه ها

    درخواست دستگاه، آزاد سازی دستگاه، خواندن از و نوشتن به دستگاه

    نگهداری داده ها

    حافظهdumpزمان، تاریخ و ارتباطات

    ارسال و دریافت پیام بین پردازه ها

    محافظت

  • 2.14

    هاAPIنمونه

  • 2.15

    Cنمونه ای کتابخانه زبان

    program invoking printf() library call, which calls write() system call

  • 2.16

    برنامه های سیستمی

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

    مدیریت فایل

    فایل... ایجاد، حذف کپی، تغییر نام

    ویرایش فایل

    پشتیبانی از زبانهای برنامه نویسی

    بارگذاری و اجرای برنامه ها

    ارتباطات

    مانند مرورگر های وب

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

  • 2.17

    طراحی و پیاده سازی سیستم عامل ها

    اهداف طراحی

    نوع سخت افزار

    نوع سیستم

    ، تک کاربره، چند کاربره، توزیع شده، بی درنگ ، کاربرد عمومیBatchاشتراک زمانی، نیازمندی ها

    نیازمندی های کاربر شامل راحتی کار، سریع بودن، مطمئن بودن

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

  • 2.18

    پیاده سازی سیستم عامل ها

    پیاده سازی با زبانهای سطح پایین

    کارایی خوب

    نگهداری پرهزینه و توسعه پذیری سخت

    پیاده سازی با زبانهای سطح باال

    نگهداری ساده

    کاهش کارایی

  • 2پایان جلسه

  • 2.20

    MS-DOS:نمونه ای از سیستم عامل ها

    تک وظیفه ای

    .خط فرمان هنگام راه اندازی اجرا می شود

    روش ساده برای اجرا و پردازه ای ایجاد نمی .شود

    دارای یک فضای آدرس حافظه

    بارگذاری برنامه در حافظه و پاک کردن همه حافظه به جز هسته

    بارگذاری دوباره خط فرمان هنگام خروج .برنامه از حافظه

    At system startup running a program

  • 2.21

    FreeBSD:نمونه ای از سیستم عامل ها

    نسخه ای از یونیکس

    چند وظیفه ای

    .بار گذاری می شودloginخط فرمان هنگام ()execبرای ایجاد پردازه و سپس از ()forkخط فرمان از

    .برای بارگذاری برنامه استفاده می کند

    ر خود خط فرمان منتظر پایان پردازه می ماند یا می تواند به کا.ادامه دهد

  • 2.22

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

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

    (MS-DOS)ساختار ساده معماری پیچیده تر مانند یونیکس

    معماری الیه ای

    ریز هسته ها

  • 2.23

    (MS-DOS)معماری ساده

    ضاطراحی برای بیشترین عملکرد در کمترین ف

    بخش بندی پیمانه ای ندارد

    هر چند ساختار دارد اما عملکرد الیه هایش .خوش تعریف نیستند

    (محدودیت سخت افزار)محافظت ندارد

  • 2.24

    (Unix)معماری ساده .محدودیت های سخت افزاری سبب محدودیت ساختار نسخه های اولیه بوده است

    .یونیکس از دو بخش تشکیل شده است

    برنامه های سیستمی

    هسته

    .و روی سخت افزار استsystem call interfaceهر آنچه که زیر ..شامل مدیریت حافظه، برنامه ریزی پردازنده، سیستم فایل و

  • 2.25

    معماری الیه ای

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

    . گرفته و به الیه باالتر سرویس می دهد

    برتری ها

    پیاده سازی ساده

    کاستی ها

    خوش تعریف نبودن الیه ها

    سربار زیاد الیه ها و افت کارایی

  • 2.26

    ریز هسته هاانتقال بیشتر بخش ها از هسته به فضای کاربر و پیاده سازی به صورت ماژول جدا

    ارتباط بین ماژول ها از طریق پیام

    برتری ها

    گسترش ساده

    انتقال ساده به سخت افزار های جدید

    قابلیت اطمینان بیشتر بدلیل کوچک بودن هسته

    امنیت بیشتر

    سربار زیاد پیام ها : کاستی

    ApplicationProgram

    FileSystem

    DeviceDriver

    InterprocessCommunication

    memorymanagment

    CPUscheduling

    messagesmessages

    microkernel

    hardware

    usermode

    kernelmode

  • 2.27

    معماری پیمانه ایسیستم عامل های مدرن از هسته های قابل بارگذاری استفاده می کنند

    استفاده از روش طراحی شی گرا

    جدا بودن هر مولفه

    ارتباط با همدیگر از طریق واسطه

    بارگذاری هنگام نیاز

    (Linux, Solarisمانند )تر شبیه معماری الیه ای اما انعطاف پذیر

  • 2.28

    سامانه های ترکیبی

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

    ترکیب چند روش برای بهبود کارایی، امنیت و نیاز های کاربران

    بزرگ هستند اما امکان بارگذاری پیمانه ها را Linux and Solarisبرای نمونه هسته سیستم های عامل .دارد

    از یک هسته بزرگ بهره می برد اما از معماری ریز هسته برای برخی از زیر سامانهWindowsسیستم عامل .ها استفاده می کند

    .از دو معماری الیه ای و ریز هسته بهره می بردMac OSسیستم عامل

  • 2.29

    MAC OSمعماری

    graphical user interfaceAqua

    application environments and services

    kernel environment

    Java Cocoa Quicktime BSD

    Mach

    I/O kit kernel extensions

    BSD

  • 2.30

    iOSمعماری

    iPhone, iPadطراحی شده برای طراحی شده ام عملکرد هایی به آن افزوده Mac OSبر مبنای

    . شده است

    .قابلیت اجرا روی سخت افزار های مختلف را دارد

  • 2.31

    Androidمعماری

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

    افزودن مدیریت توان

    جهت اجرای برنامه های جاواDalvikافزودن ماشین مجازی Applications

    Application Framework

    Android runtime

    Core Libraries

    Dalvikvirtual machine

    Libraries

    Linux kernel

    SQLite openGL

    surfacemanager

    webkit libc

    mediaframework

  • 2.32

    مولفه های لینوکس

  • 2.33

    Windowsمعماری سطح باالی

  • 2.34

    Windowsمعماری

  • 2.35

    معماری یونیکس

  • 2.36

    VxWorksمعماری

  • 2.37

    اشکال زدایی سیستم عامل

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

    dump fileقرار دهد..بهبود کارایی هدف دیگری است که این اطالعات کمک می کنند

  • 2.38

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

    .در زمان روشن شدن سخت افزار، از آدرس خاصی اجرا آغاز می گردد

    .برای بارگذار اولیه استفاده می شود ROMاز .بارگذار اولیه بارگذار سیستم عامل را بار گذاری نموده و آن را اجرا می نماید

    .بار گذار سیستم عامل ، سیستم عامل را بارگذاری می نماید

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

  • 2پایان فصل