سیستم اشتراک زمانی سازگار

| 0 | 1 |
| --- | --- |
وضعیت توسعه: تاریخی
سیستم اشتراک زمانی سازگار
سیستم اشتراک زمانی سازگار (به انگلیسی: Compatible Time-Sharing System) (یا به اختصار CTSS) یکی از اولین سیستم‌عامل‌های اشتراک زمانی بود. این سیستم‌عامل در مرکز محاسبات دانشگاه MIT پیاده‌سازی و اولین بار در سال ۱۹۶۱ معرفی شد و تا سال ۱۹۷۳ در این دانشگاه کار می‌کرد.
سیستم تقسیم زمان تجربی
جان بكوس در جلسهٔ تابستان 1954 در MIT گفت كه «با تقسیم زمان ، می‌توان از یك كامپیوتر بزرگ به عنوان چندین رایانهٔ كوچك استفاده كرد؛ برای هر كاربر باید ایستگاه مطالعه وجود داشته باشد» رایانه‌ها در آن زمان ،مانند IBM 704، قدرت کافی برای پیاده‌سازی چنین سیستمی را نداشتند، اما در پایان سال 1958، مرکز محاسبات MIT با این هدف که یک برنامه‌نویس یا اپراتور می‌تواند پاسخ‌های بیشتری از این طریق به دست آورد، یک ورودی ماشین تحریر را برای استفادهٔ همزمان برنامه‌های دیگر از دستگاه، به کامپیوتر IBM 704 خود اضافه کرد.
در ژوئن 1959 ، Christopher Strachey مقاله‌ای را با عنوان «تقسیم زمان در رایانه‌های بزرگ سریع» در کنفرانس پردازش اطلاعات یونسکو در پاریس منتشر کرد. جایی که وی در نظر داشت یک برنامه‌نویس برنامه‌ای را از طریق یک کنسول (مانند یک نوع تله‌تایپ) به کامپیوتر متصل کند، در حالی که برنامهٔ دیگری همزمان در کامپیوتر در حال اجرا بود. مسئلهٔ برنامه‌های اشکال‌زدایی در آن زمان مسئلهٔ مهمی بود؛ زیرا با پردازش دسته‌ای، اغلب از ارسال کد تغییریافته تا دریافت نتایج یک روز طول می‌کشید. جان مک کارتی در MIT یادداشتی نوشت. پس از آن کمیتهٔ مطالعات مقدماتی و یک کمیتهٔ کار در MIT ایجاد شد تا بتواند تقسیم زمان را توسعه دهد. کمیته‌ها پیش‌بینی بسیاری از کاربران را داشتند که همزمان از رایانه استفاده می کردند؛ در مورد جزئیات پیاده‌سازی چنین سیستمی در MIT تصمیم گرفتند و توسعهٔ سیستم را آغاز کردند.
تا ژوئیه سال 1961، چند فرمان مشترک برای IBM 709 مرکز محاسبات عملیاتی شد و در نوامبر 1961، فرناندو جی کورباتو در MIT آنچه را «سیستم تجربی تقسیم زمان» نامید، به نمایش گذاشت. در تاریخ 3 مه 1962، FJ Corbató ،MM Daggett، و RC Daley مقاله‌ای در مورد این سیستم در کنفرانس مشترک کامپیوتر بهار منتشر کردند. رابرت سی دالی، پیتر آر. بوس و حداقل 6 برنامه‌نویس دیگر سیستم‌عامل را اجرا کردند؛ سیستم مانیتور Fortran.
این سیستم با استفاده از IBM 7090 که توسط Herbert M. Teager اصلاح شده است، با 3 فلکسوایتر برای کنسول‌های کاربر و شاید یک تایمر اضافه شده است. هر یک از 3 کاربر دارای دو واحد نوار، یکی برای فهرست پروندهٔ کاربر و دیگری برای تخلیهٔ هسته (برنامه در حافظه) بود. همچنین یک واحد نوار برای دستورهای سیستم بود و هیچ درایو دیسکی وجود نداشت. حافظهٔ کاربران شامل 27k کلمه (کلمات 36 بیتی) و حافظهٔ سرپرست (سیستم عامل) 5k کلمه بود. ورودی از کنسول‌ها با استفاده از وقفه‌ها در بافر در سرپرست نوشته می‌شد و هنگامی که کاراکتر بازگشت دریافت می شد، کنترل اجرا به سرپرست داده می‌شد ، وی کد اجرایی را به نوار می‌انداخت و تصمیم می‌گرفت که بعدی را اجرا کند. دستورات کنسول اجرا شده در آن زمان شامل ورود، خروج، ورودی، ویرایش، fap، دیوانه، madtrn، بارگذاری، استفاده، شروع، skippm ،listf ،printf ،xdump، و xundump بود.
این نسخهٔ اولیهٔ سیستم سازگار زمان به اشتراک گذاشته شد. ظاهراً این اولین نمایش عمومی تقسیم زمان بود. ادعاهای دیگری نیز وجود دارد اما آنها به سیستم‌های خاص یا بدون هیچ مقالهٔ شناخته شده‌ای اشاره دارند. «سازگاری» CTSS با وظایف پس‌زمینه‌ای بود که روی همان رایانه اجرا می شدند که معمولاً نسبت به توابع به اشتراک‌گذاری زمان، استفادهٔ بیشتری از منابع محاسبه می کردند.
امکانات
CTSS یکی از اولین ابزارهای قالب‌بندی متن رایانه‌ای به نام RUNOFF (جانشین DITTO) را داشت.
CTSS یکی از اولین پیاده‌سازی‌های پیام‌رسانی بین کاربر بود که احتمالاً ایمیل (نامة الکترونیکی) را اختراع کرده است.
یکی از کارکنان مرکز محاسبات MIT، لوئیز پوزین، برای CTSS دستوری به نام RUNCOM ایجاد کرد که لیستی از دستورهای موجود در یک فایل را اجرا می‌کرد. (بعداً او طرحی را برای پوستهٔ Multics ایجاد كرد كه Glenda Schroeder آن را پیاده سازی کرد و به نوبهٔ خود از نویسه (script) های پوستهٔ Unix الهام گرفت). RUNCOM همچنین اجازهٔ تعویض پارامترها را داد.
CTSS دارای ویرایشگر متن QED، سلف ed  vi، و vim بود؛ عبارات منظمی که توسط کن تامپسون اضافه شده بود.
CTSS اولین سیستم رایانه‌ای بود که ورود به سیستم رمز عبور را اجرا کرد.