Accent kernel
অ্যাকসেন্ট একটি অপারেটিং সিস্টেম কার্নেল, যা ম্যাক কার্নেলের পূর্বসূরি হওয়ার জন্য সবচেয়ে উল্লেখযোগ্য। মূলত কার্নেগি মেলন বিশ্ববিদ্যালয়ে (সি. এম. ইউ) বিকশিত, অ্যাকসেন্ট রচেস্টার বিশ্ববিদ্যালয়ে বিকশিত আলেফ কার্নেল দ্বারা প্রভাবিত হয়েছিল। অ্যাকসেন্ট পুরানো কার্নেলের উন্নতি করে, বেশ কয়েকটি সমস্যা সমাধান করে এবং মিনিকম্পিউটারের পরিবর্তে ওয়ার্কস্টেশন মেশিনের (বিশেষত, থ্রি রিভার পিইআরকিউ) নেটওয়ার্কের জন্য হার্ডওয়্যার সমর্থনকে পুনরায় লক্ষ্যবস্তু করে। অ্যাকসেন্ট 1981 থেকে 1985 সাল পর্যন্ত সি. এম. ইউ-তে স্পাইস প্রকল্পের অংশ ছিল। অ্যাকসেন্টের বিকাশ সরাসরি ম্যাকের প্রবর্তনের দিকে পরিচালিত করে, যা নেক্সটস্টেপ, জিএনইউ হার্ড এবং ম্যাক ওএস এবং আইওএস সহ আধুনিক অ্যাপল অপারেটিং সিস্টেমে ব্যবহৃত হয়। মূল আলেফ প্রকল্পটি প্রোগ্রামগুলিকে যোগাযোগের অনুমতি দেওয়ার জন্য ডেটা অনুলিপি ব্যবহার করেছিল। অ্যাপ্লিকেশনগুলি পোর্ট খুলতে পারে, যা তাদের অন্যান্য প্রোগ্রাম দ্বারা প্রেরিত তথ্য গ্রহণ করার অনুমতি দেবে। ধারণাটি ছিল বেশ কয়েকটি সার্ভার লেখা যা মেশিনের সংস্থানগুলি নিয়ন্ত্রণ করবে, শেষ ব্যবহারকারীর কাছে না পৌঁছানো পর্যন্ত ডেটা পাস করবে। এই ক্ষেত্রে এটি ইউনিক্সের ধারণার অনুরূপ ছিল, যদিও মেমরি পরিবর্তে বার্তা ব্যবহার করে বাস্তবায়নটি অনেক আলাদা ছিল। এর ফলে বেশ কয়েকটি সমস্যা দেখা দেয়, বিশেষত তাদের ডেটা জেনারেল এক্লিপসে মেমরি অনুলিপি করা খুব ব্যয়বহুল ছিল। 1979 সালে আলেফ ইঞ্জিনিয়ারদের মধ্যে একজন, রিচার্ড রশিদ সি. এম. ইউ-তে চলে যান এবং আলেফের একটি নতুন সংস্করণ নিয়ে কাজ শুরু করেন যা এর সমস্যাগুলি এড়াতে পারে। বিশেষত, একটি এমএমইউ সমন্বিত অ্যাকসেন্ট টার্গেটেড ওয়ার্কস্টেশন মেশিন, ম্যাপিংয়ের মাধ্যমে মেমরির বড় ব্লকগুলি "অনুলিপি" করতে এমএমইউ ব্যবহার করে, মেমরিটিকে দুটি ভিন্ন জায়গায় প্রদর্শিত করে। কপি-অন-রাইট অ্যালগরিদম ব্যবহার করে শুধুমাত্র একটি প্রোগ্রাম বা অন্য কোনও প্রোগ্রাম দ্বারা পরিবর্তিত ডেটা শারীরিকভাবে অনুলিপি করতে হবে। পার্থক্যটি বোঝার জন্য, দুটি ইন্টারঅ্যাক্টিং প্রোগ্রাম বিবেচনা করুন, একটি ফাইলকে অন্য ফাইলকে ফিড করা। আলেফের অধীনে প্রদানকারীর কাছ থেকে প্রাপ্ত তথ্য ব্যবহারকারী প্রক্রিয়ায় একবারে 2kB অনুলিপি করতে হবে (চন্দ্রগ্রহণের বৈশিষ্ট্যগুলির কারণে)। অ্যাকসেন্টের অধীনে এম. এম. ইউ-তে পাঠানো কয়েকটি নির্দেশাবলীর খরচের জন্য ব্যবহারকারী প্রক্রিয়ায় ডেটা কেবল "উপস্থিত" হয়। শুধুমাত্র যদি ব্যবহারকারী প্রক্রিয়াটি ডেটা পরিবর্তন করে তবে কিছু অনুলিপি করার প্রয়োজন হবে, এবং তারপরেও, শুধুমাত্র ডেটার অংশগুলি যা প্রকৃতপক্ষে পরিবর্তিত হয়েছে। আলেফের আরেকটি সমস্যা ছিল যে এর বন্দরগুলি অনন্য আইডি দ্বারা চিহ্নিত করা হয়েছিল যা ক্রমানুসারে বরাদ্দ করা হয়েছিল। একটি প্রোগ্রামের পক্ষে তাদের "অনুমান" করা সহজ ছিল, যার ফলে কম্পিউটারে এমন সংস্থানগুলিতে অ্যাক্সেস পাওয়া যেত যা এটি মঞ্জুর করা হয়নি। এটি আলেফ ব্যবস্থাকে কিছুটা অনিরাপদ করে তুলেছিল। এটি সমাধান করার জন্য, অ্যাকসেন্ট কেবল কার্নেলের অভ্যন্তরীণ পোর্ট আইডি তৈরি করে। একটি প্রোগ্রাম খোলার পোর্টের উদাহরণগুলি কার্নেলে একটি ম্যাপিংয়ে সংরক্ষণ করা বিভিন্ন আইডি ফিরিয়ে দেওয়া হয়েছিল। যখনই ডেলিভারির জন্য কার্নেলে কোনও বার্তা পাঠানো হত, তখন এটি প্রথমে সেই প্রোগ্রামের ম্যাপিং টেবিলের সাথে তুলনা করে পরীক্ষা করত যে প্রোগ্রামটির প্রাসঙ্গিক পোর্টে অ্যাক্সেস আছে কিনা। পোর্ট নম্বরগুলি আর কাজ করে না অনুমান করে, প্রোগ্রামের পোর্ট আইডিগুলি কার্নেলে "আসল" আইডিগুলির কোনও সূত্র দেয়নি এবং কার্নেল দ্বারা স্পষ্টভাবে হস্তান্তর করা হয়নি এমন একটির উপর কথা বলার কোনও প্রচেষ্টা একটি ত্রুটি ছিল। এইভাবে অ্যাকসেন্টের বন্দরগুলি সক্ষমতার প্রতিনিধিত্ব করে, একটি বৈধ পোর্ট আইডি হস্তান্তর করার ফলে সম্পদ ব্যবহারের অধিকার প্রদান করে। ক্ষমতার জন্য বিষয়-নির্দিষ্ট শনাক্তকারী ব্যবহার করে এই ধরনের সক্ষমতা ব্যবস্থাকে সি-লিস্ট সিস্টেম বলা হয়। কয়েক বছর পর অ্যাকসেন্ট প্রকল্পটি কম আকর্ষণীয় হতে শুরু করে। 1980-এর দশকের গোড়ার দিকে অনেকেই অনুভব করেছিলেন যে মেশিনে আরও সিপিইউ যুক্ত করার মাধ্যমে কর্মক্ষমতায় ভবিষ্যতের লাভ করা হবে, যা অ্যাকসেন্ট কার্নেল আসলে পরিচালনা করার জন্য সজ্জিত ছিল না। সমস্যাটি আরও বাড়িয়ে দিয়েছিল যে আরও শক্তিশালী ওয়ার্কস্টেশনগুলির একটি নতুন প্রজন্ম উপস্থিত হচ্ছে, যার অর্থ অ্যাকসেন্টকে সম্ভবত যেভাবেই হোক তাদের কাছে পোর্ট করতে হবে। একইভাবে ইউনিক্স অপারেটিং সিস্টেম ডিজাইনের পাশাপাশি ব্যবহারকারী অ্যাপ্লিকেশনের জন্য একটি উন্নয়ন প্ল্যাটফর্ম উভয় ক্ষেত্রেই পরীক্ষামূলক কাজের জন্য পছন্দের অপারেটিং সিস্টেমে পরিণত হয়েছিল। এই পরিবর্তনগুলি মোকাবেলা করার জন্য, অ্যাকসেন্টের কাজ শেষ করে আবার শুরু করার সিদ্ধান্ত নেওয়া হয়েছিল। নতুন সিস্টেমটি একটি ইউনিক্স কার্নেলের মধ্যে অ্যাকসেন্টের পোর্ট সিস্টেম ব্যবহার করবে, যা বিখ্যাত ম্যাক কার্নেল তৈরি করবে। অ্যাকসেন্টের কিছু বৈশিষ্ট্যঃ পোর্ট ক্ষমতা অন-রাইট ভার্চ্যুয়াল মেমোরি ম্যানেজমেন্ট ডিস্ট্রিবিউটেড ফাইল ম্যানেজমেন্ট ডিস্ট্রিবিউটেড প্রসেস ম্যানেজমেন্ট সুরক্ষিত বার্তা-ভিত্তিক আন্তঃপ্রক্রিয়া যোগাযোগ বিভিন্ন মাইক্রোকোডেড নির্দেশ সেটের সাথে প্রক্রিয়া চালানোর ক্ষমতা। তথ্যসূত্র বাহ্যিক লিঙ্ক মনোলিথিক কার্নেল কার্নেগি মেলন বিশ্ববিদ্যালয় সফ্টওয়্যার