سلسله مراتبی، سیستم فایل جهانی
یک قسمت ابتدایی یونیکس از ابتدا فایل سیستم سازماندهی سلسله مراتبی بود که به کاربر اجازه می داد تا فایل ها را به پوشه ها ساخت. هر تعدادی از زیر شاخه ها را می توان به دایرکتوری ریشه اختصاص داد. که با “/” مشخص می شود. به دنبال اصل اساسی “همه چیز یک فایل است.”، یونیکس نیز درایوها، هارد دیسک ها، پایانه ها یا سایر رایانه ها را به عنوان فایل های دستگاه در سیستم فایل نشان می دهد. برخی از مشتقات، از جمله لینوکس، حتی فرایندها و خواص آنها را به عنوان فایل ها در پرونده پرونده procfs علامت گذاری می کنند.
چند وظیفه ای
یکی دیگر از عوامل تعیین کننده در موفقیت یونیکس، توانایی اجرای چندین فرآیند یا برنامه به طور همزمان بدون دخالت آنها در یکدیگر بود. سیستم عامل براساس روش چند وظیفه پیشگیرانه از ابتدا بود. با استفاده از این روش، زمانبندی (که بخشی از هسته سیستم عامل است) فرآیندهای فردی را از طریق سیستم اولویتی مدیریت می کند. در دهه ۱۹۹۰، اپل و مایکروسافت با اجرای راه حل های مدیریت فرایند قابل مقایسه، خیلی طول کشید.
سیستم چند کاربره
حتی هدف اصلی Multics نیز یک سیستم بود که به چندین کاربر امکان می دهد به طور همزمان کار کنند. برای انجام این کار، مالک به هر برنامه و پردازش اختصاص داده می شود. حتی اگر یونیکس در ابتدا محدود به دو کاربر بود، این ویژگی از ابتدا بخشی از پروژۀ نرم افزار سیستم بود. مزیت این نوع سیستم چند کاربر نه تنها فرصتی برای دسترسی همزمان به عملکرد یک پردازنده واحد بلکه مدیریت حقوق مرتبط بود. اکنون مدیران می توانند حقوق دسترسی و منابع موجود را برای کاربران مختلف تعریف کنند. در ابتدا، این نیز یک پیش نیاز بود که سخت افزار مربوط به هر کامپیوتر مربوطه بود.
قابلیت شبکه
با ۴٫۲BSD، یونیکس برکلی یکی از اولین سیستم عامل برای ادغام پشته پروتکل اینترنت در سال ۱۹۸۳ بود که پایه و اساس اینترنت و پیکربندی شبکه ساده و توانایی عمل به عنوان یک مشتری یا سرور مجازی بود. در اواخر دهه ۱۹۸۰، نسخه چهارم سیستم V (که قبلا نیز ذکر شد) نیز انواع سیستم تجاری AT & T بود که هسته را به خانواده پروتکل افسانه ای اضافه می کند. ویندوز فقط باید TCP / IP را با ۳٫۱۱ (۱۹۹۳) و یک پسوند مناسب پشتیبانی کند.
استقلال پلت فرم
در حالی که سیستم عامل های دیگر و برنامه های کاربردی آنها هنوز هم به نوع خاصی از پردازنده ها در زمان Unix ایجاد شده بودند، تیم Bell Labs از ابتدا به دنبال یک سیستم قابل حمل بود. اگر چه زبان اول یک زبان مونتاژ بود، پروژه به زودی ساختار اساسی نرم افزار سیستم ایجاد یک زبان برنامه نویسی جدید و جدید شد. این زبان سلفی زبان تاریخی C بود. اگر چه اجزاء نوشته شده در C هنوز به شدت به معماری PDP وابسته بودند، اما ریتچی و همکارانش بهعنوان یک مبنای کار آنها، علی رغم کامپایلر شامل شدند، با این حال، با نسخه اصلاح شده Unix V7، سیستم عامل به درستی شهرت خود را به عنوان یک سیستم قابل حمل به دست آورد.
اصل جعبه ابزار Unix و پوسته
سیستم های یونیکس ترکیبی از بسیاری از ابزار و دستورات مفید است که معمولا فقط برای چند کار خاص طراحی شده اند. به عنوان مثال، لینوکس از ابزارهای گنو استفاده می کند. برای حل مسئله کلی، اصل این است که به جای برنامه ریزی های خاص جدید، پاسخ ها را در ترکیب ابزارهای استاندارد پیدا کنیم. مهمترین ابزار همیشه پوسته (SH)، یک مفسر دستور متنی متن است که گزینه های برنامه نویسی وسیع را فراهم می کند. این رابط کاربری کلاسیک نیز می تواند بدون یک رابط کاربری گرافیکی مورد استفاده قرار گیرد، حتی اگر این نوع رابط به طور طبیعی باعث افزایش راحتی کاربر شود. با این حال، پوسته برخی از مزایای قابل توجهی را برای کاربران با تجربه ارائه می دهد:
- به لطف تکمیل اتوماتیک هوشمند، عملیات ساده انجام می شود
- عملکردهای کپی و چسباندن
- تعاملی (دسترسی مستقیم) و غیر تعاملی (اجرای اسکریپت ها) حالت قابل استفاده هستند
- انعطاف پذیری بیشتر، از آنجا که برنامه های فردی (ابزار، دستورات) می توانند تقریبا آزادانه ترکیب شوند
- رابط کاربر استاندارد و پایدار است که همیشه با GUI تضمین نمی شود
- مسیر کار اسکریپت به طور خودکار مستند می شود
- اجرای سریع و آسان برنامه ها
نتیجه گیری: اگر می خواهید بدانید سیستم عامل چگونه عمل می کند، نگاهی به یونیکس می اندازید
ظهور مایکروسافت و اپل، به طور مستقیم با سازندگان آنها بیل گیتس و استیو جابز، بدون شک بی نظیر است. با این حال، پایه و اساس این دو داستان موفقیت بزرگ توسط کار پیشگام دنیس ریچی، کن تامسون و بقیه یونیکس بین سال های ۱۹۶۹ تا ۱۹۷۴ گذاشته شد. یونیکس نه تنها مشتقات خود را تولید می کند بلکه بر سیستم عامل های دیگر تاثیر می گذارد با مفاهیم مانند سیستم فایل سلسله مراتبی ساختار، پوسته قدرتمند و یا قابل حمل بالا. برای پیاده سازی این دومین، مهمترین زبان برنامه نویسی در تاریخ کامپیوتر، C، تقریبا در حال عبور بود.
برای شناختن امکانات زبان و عملکرد کلی سیستم عامل، هیچ شیوه ای بهتر از سیستم یونیکس وجود ندارد. شما حتی نمیخواهید از یکی از انواع کلاسی استفاده کنید: توزیعهای لینوکس مانند Gentoo یا اوبونتو با توجه به نیازهای مدرن سازگار نیستند، بدون اینکه از ویژگیهای اساسی مانند حداکثر کنترل بر سیستم استفاده کنند. شما تا حدودی محدودیت بیشتری در امکانات خود با MacOS مبتنی بر دوستانه دارد. که عمل متعادل سازی بین پایگاه قدرتمند یونیکس و یک رابط کاربر گرافیکی به خوبی طراحی شده با رنگ های پرواز را مدیریت می کند.