কিভাবে একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করবেন: 13 টি ধাপ (ছবি সহ)

সুচিপত্র:

কিভাবে একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করবেন: 13 টি ধাপ (ছবি সহ)
কিভাবে একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করবেন: 13 টি ধাপ (ছবি সহ)

ভিডিও: কিভাবে একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করবেন: 13 টি ধাপ (ছবি সহ)

ভিডিও: কিভাবে একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করবেন: 13 টি ধাপ (ছবি সহ)
ভিডিও: How To Clean C Drive Windows 10 || C Drive Automatic Full Problem Solve In Bangla 2024, এপ্রিল
Anonim

এই উইকিহাও আপনাকে শেখায় কিভাবে একটি অপারেটিং সিস্টেমের পরিকল্পনা এবং বিকাশ করতে হয় যদি আপনি C, বা C ++ এ কোড করতে না জানেন। অপারেটিং সিস্টেমগুলি কম্পিউটার হার্ডওয়্যার পরিচালনা করে এবং অ্যাপ্লিকেশনগুলি চালানোর জন্য প্রয়োজনীয় সংস্থান সরবরাহ করে। শুরু থেকে একটি অপারেটিং সিস্টেম লেখার জন্য কম্পিউটার বিজ্ঞানের একটি শক্তিশালী কমান্ড প্রয়োজন, একটি প্রোগ্রামিং ভাষা যেমন C বা C ++, সমাবেশ এবং কোড ব্যবস্থাপনা অনুশীলন।

ধাপ

2 এর অংশ 1: প্রাথমিক বিষয়গুলি শেখা

একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 1
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 1

ধাপ 1. কিছু বেসিক কম্পিউটার সায়েন্স কোর্স নিন।

ওয়েবের জন্য বিকাশের বিপরীতে, একটি অপারেটিং সিস্টেম তৈরির জন্য অ্যালগরিদম, ডেটা স্ট্রাকচার, কম্পিউটার হার্ডওয়্যার এবং রিসোর্স ম্যানেজমেন্টের একটি শক্তিশালী বোঝার প্রয়োজন। লোকেরা এই জিনিসগুলিতে ডিগ্রী পায়, তাই একটি অনলাইন টিউটোরিয়াল পড়ার পরে একটি সম্পূর্ণ অপারেটিং সিস্টেম লিখতে আশা করবেন না! হার্ভার্ডের ইন্ট্রো টু কম্পিউটার সায়েন্স কোর্স অনলাইনে ইডিএক্স এর মাধ্যমে বিনা খরচে পাওয়া যায়।

একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 2
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 2

ধাপ 2. পাইথনের মত একটি উচ্চ স্তরের প্রোগ্রামিং ভাষা শিখুন।

একবার আপনি কম্পিউটার বিজ্ঞানের একটি দৃ found় মৌলিক ধারণা পেয়ে গেলে, পরবর্তী ধাপ হল C এবং/অথবা C ++ আয়ত্ত করা। কম্পিউটার বিজ্ঞান সম্পর্কে শেখার মতো, একটি ভাষা আয়ত্ত করা alচ্ছিক নয়-যদি আপনি কঠিন অ্যাপ্লিকেশন লিখতে না পারেন তবে আপনি একটি অপারেটিং সিস্টেম কোড করতে পারবেন না।

আপনি যদি C তে একেবারে নতুন হন, তাহলে ডার্টমাউথের C প্রোগ্রামিং দেখুন: শুরু করা কোর্স, যা EDX এর মাধ্যমে বিনামূল্যে। একবার আপনি সেই কোর্সটি শেষ করলে, আপনি সিরিজের পরবর্তী কোর্সটি নিতে পারেন: সি প্রোগ্রামিং: ভাষা ভিত্তি। তারপরে, মডিউলার প্রোগ্রামিং এবং মেমরি ম্যানেজমেন্ট এবং পয়েন্টার এবং মেমরি ম্যানেজমেন্টের মতো পরবর্তী কোর্সে যান।

একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 4
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 4

পদক্ষেপ 3. একটি সমাবেশ ভাষা শিখুন।

অ্যাসেম্বলি ভাষাগুলি নিম্ন স্তরের ভাষা যা বিভিন্ন প্রসেসরের সাথে যোগাযোগের জন্য ডিজাইন করা হয়। যেহেতু বিভিন্ন প্রোসেসর প্রকারের জন্য সমাবেশ আলাদা (যেমন, ইন্টেল, এএমডি, ভিআইএ এবং অন্যান্য প্রসেসরের জন্য x86 অ্যাসেম্বলি ল্যাঙ্গুয়েজ), আপনি যে ধরনের প্রসেসর কোডিং করছেন তার সংস্করণ শিখতে হবে।

  • এই ওপেন-সোর্স বইটি যদি পুরোপুরি পড়া হয়, তাহলে আপনাকে একটি অপারেটিং সিস্টেম তৈরির জন্য যথেষ্ট শক্ত বোঝা দিতে পারে।
  • দ্য আর্ট অফ অ্যাসেম্বলি ল্যাঙ্গুয়েজ হল সমাবেশ সম্বন্ধে একটি উচ্চ-প্রস্তাবিত বই যা উভয় এবং অফলাইনে উপলব্ধ।
  • আপনার অপারেটিং সিস্টেম চালানো উচিত এমন প্রসেসর (গুলি) সম্পর্কে আপনার প্রচুর গবেষণা করা উচিত। প্রসেসর আর্কিটেকচারের জন্য ম্যানুয়ালগুলি সহজেই একটি গুগল সার্চ ("ইন্টেল ম্যানুয়াল," "এআরএম ম্যানুয়াল," ইত্যাদি) ব্যবহার করে পাওয়া যাবে।
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 5
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 5

ধাপ 4. একটি অপারেটিং সিস্টেম টিউটোরিয়াল সম্পূর্ণ করুন।

ওএস টিউটোরিয়ালগুলি আপনাকে একটি মৌলিক অপারেটিং সিস্টেম তৈরির প্রক্রিয়ার মাধ্যমে নিয়ে যাবে। এটি আপনাকে প্রক্রিয়ায় অভ্যস্ত করে তোলে এবং আপনাকে অনুপস্থিত কোন টুকরা আছে কিনা তা খুঁজে বের করতে সহায়তা করে। একবার আপনি একটি বা দুটি টিউটোরিয়াল সম্পন্ন করলে, আপনি আপনার নিজের অপারেটিং সিস্টেম তৈরির পথে ভালোভাবে এগিয়ে যাবেন।

  • বেয়ার হাড় একটি টিউটোরিয়াল যা আপনাকে আপনার প্রথম সহজ 32-বিট কার্নেল লিখতে সাহায্য করে। টিউটোরিয়ালটি শেষ করার পর, পরবর্তী ধাপ হল আপনার নিজের অপারেটিং সিস্টেমের গঠন করার জন্য মাংসের কঙ্কাল ব্যবহার করা।
  • স্ক্র্যাচ থেকে লিনাক্স একটি অনলাইন বই যা আপনাকে আপনার নিজস্ব লিনাক্স অপারেটিং সিস্টেম তৈরির মাধ্যমে নিয়ে যায়।
  • 0 থেকে 1 পর্যন্ত অপারেটিং সিস্টেমগুলি শুরু থেকে শেষ পর্যন্ত বিভিন্ন অপারেটিং সিস্টেম তৈরির একটি বিনামূল্যে বই।
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 3
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 3

ধাপ 5. আপনার অপারেটিং সিস্টেমের লক্ষ্য নির্ধারণ করুন।

আপনি আপনার অপারেটিং সিস্টেম কি করতে চান? এটি দেখতে কেমন হওয়া উচিত? আপনার কি সত্যিই একটি সম্পূর্ণ অপারেটিং সিস্টেম লিখতে হবে বা আপনি কি আপনার ডেস্কটপের জন্য একটি নির্দিষ্ট চেহারা তৈরি করতে চাইছেন? কোড শুরু করার আগে এই সমস্ত বিষয় বিবেচনা করা উচিত।

  • অন্যান্য প্রোগ্রামারদের একটি দলের সাথে বিকাশ বিবেচনা করুন। প্রকল্পে ডেভেলপারদের একটি দল কাজ করলে উন্নয়নের সময় উল্লেখযোগ্যভাবে হ্রাস পাবে।
  • আপনার প্রকল্পের লক্ষ্য, পরিকল্পনা এবং প্রশ্নগুলি আপনার সর্বজনীন সংগ্রহস্থলে যুক্ত করুন যাতে অন্যদের জন্য আপনাকে সাহায্য করা সহজ হয়।

2 এর অংশ 2: আপনার অপারেটিং সিস্টেম তৈরি করা

কম্পিউটার মজা আছে ধাপ 16
কম্পিউটার মজা আছে ধাপ 16

পদক্ষেপ 1. একটি উন্নয়ন পরিবেশ নির্বাচন করুন।

এই প্ল্যাটফর্মটি আপনি আপনার নতুন অপারেটিং সিস্টেম কোড করতে ব্যবহার করবেন। এটা ব্যক্তিগত পছন্দের বিষয়, কিন্তু বেশিরভাগ মানুষ হয় উইন্ডোজ ব্যবহার করে অথবা ইউনিক্সের স্বাদ ব্যবহার করে। আপনি যদি উইন্ডোজ ব্যবহার করেন, তাহলে সাইগউইন বা মিনজিডব্লিউ এর মতো একটি ইউনিক্স পরিবেশ ইনস্টল করা একটি ভাল ধারণা। আপনি সাধারণত নিশ্চিত করতে চান যে আপনি যে পরিবেশ ব্যবহার করছেন তা নিম্নলিখিতগুলি অন্তর্ভুক্ত করে:

  • GCC (Gnu কম্পাইলার)। আপনি যদি উইন্ডোজ ব্যবহার করেন, তাহলে আপনি এটি Cygwin বা MinGW এ ইনস্টল করতে পারেন।
  • বিনুটিলস হল অবজেক্ট ফাইল ম্যানিপুলেট করার জন্য ব্যবহৃত সরঞ্জামগুলির একটি সংগ্রহ। আবার, যদি আপনি উইন্ডোজ ব্যবহার করেন, আপনি এটি সাইগউইনে ইনস্টল করতে পারেন।
  • একজন ভালো টেক্সট এডিটর। Vim এবং emacs সাধারণত UNIX পরিবেশে ব্যবহৃত হয়। উইন্ডোজ ব্যবহারকারীরা নোটপ্যাড ব্যবহার করতে পারেন, অথবা মাল্টি-ট্যাব আপগ্রেডের জন্য নোটপ্যাড ++ চেক করতে পারেন।
  • পার্ল এবং/অথবা পাইথন। স্ট্রিং ম্যানিপুলেশনের জন্য এক বা উভয়ই সুপারিশ করা হয়।
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 13
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 13

পদক্ষেপ 2. আপনার সংস্করণ নিয়ন্ত্রণ ব্যবস্থা সেট আপ করুন।

একটি অপারেটিং সিস্টেম লেখার অর্থ আপনি সম্ভবত শত শত (বা হাজার হাজার!) কোড লাইন তৈরি করবেন। আপনি যখন রিভিশন নিয়ে কাজ করছেন, এটি বিভ্রান্তিকর হতে পারে। চেক আউট করার কিছু বিকল্প হল CVS, Mercurial এবং Subversion।

একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 6
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 6

ধাপ 3. একটি বুটলোডার সম্পর্কে সিদ্ধান্ত নিন।

আপনি যদি নিজের তৈরি করতে না চান তবে আপনি গ্র্যান্ড ইউনিফাইড বুটলোডার (GRUB) এর মতো একটি বিদ্যমান ব্যবহার করতে পারেন। যদি আপনি বুটলোডার কোড করার জন্য যথেষ্ট সাহসী বোধ করেন, তাহলে OSDev.org- এ আপনার নিজের বুটলোডার রোলিং দেখুন।

একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 9
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 9

ধাপ 4. একটি কার্নেল নকশা চয়ন করুন।

কার্নেল আপনার অপারেটিং সিস্টেমের মূল, ব্যবহারকারী এবং কম্পিউটার হার্ডওয়্যারের মধ্যে একটি ইন্টারফেস প্রদান করে। আছে একধরনের কার্নেল এবং মাইক্রো কার্নেল। মনোলিথিক কার্নেলগুলি কার্নেলের সমস্ত পরিষেবাগুলি বাস্তবায়ন করে, যখন মাইক্রোকার্নেলগুলিতে একটি ছোট কার্নেল থাকে যা ব্যবহারকারী ডেমনগুলি বাস্তবায়ন পরিষেবাগুলির সাথে সংযুক্ত থাকে। সাধারণভাবে, একচেটিয়া কার্নেলগুলি দ্রুততর হয়, তবে মাইক্রো কার্নেলের আরও ভাল ফল্ট বিচ্ছিন্নতা এবং নির্ভরযোগ্যতা থাকে।

একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 12
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 12

ধাপ 5. ছোট শুরু করুন।

মেমরি ম্যানেজমেন্ট এবং মাল্টিটাস্কিংয়ের মতো জিনিসগুলিতে যাওয়ার আগে পাঠ্য এবং বিঘ্ন প্রদর্শনের মতো ছোট জিনিস দিয়ে শুরু করুন। আপনি একটি বড় লাফ নেওয়ার পরিবর্তে একটি সাধারণ 16-বিট অপারেটিং সিস্টেম তৈরির চেষ্টা করতে পারেন।

দুই সপ্তাহের মধ্যে আপনার সম্পূর্ণ সিস্টেম থাকবে না। একটি ওএস দিয়ে শুরু করুন যা বুট করে, তারপর শীতল জিনিসগুলিতে যান।

একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 14
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 14

ধাপ 6. ভার্চুয়াল মেশিন দিয়ে আপনার নতুন অপারেটিং সিস্টেম পরীক্ষা করুন।

প্রতিবার আপনার কম্পিউটার রিবুট করার পরিবর্তে অথবা আপনার ডেভেলপমেন্ট কম্পিউটার থেকে আপনার পরীক্ষা মেশিনে ফাইল ট্রান্সফার করার পরিবর্তে, একটি ভার্চুয়াল মেশিন অ্যাপ্লিকেশন ব্যবহার করুন। ভিএমওয়্যার একটি সাধারণ বিকল্প যা উইন্ডোজ এবং লিনাক্স উভয়ের সাথে কাজ করে, এবং তাই বোচস। সম্ভাব্য ডেডলক এবং অন্যান্য বাগের জন্য পরীক্ষা করুন এবং প্রয়োজনে সেগুলি মেরামত করুন।

একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 15
একটি কম্পিউটার অপারেটিং সিস্টেম তৈরি করুন ধাপ 15

ধাপ 7. একটি "মুক্তি প্রার্থী মুক্তি।

আপনি আপনার পরীক্ষিত কোডটি আপনার পাবলিক রিপোজিটরিতে আপলোড করে এটি করতে পারেন। এর ফলে লোকেরা আপনার অপারেটিং সিস্টেম পরীক্ষা করতে পারবে এবং তাদের যে কোন সমস্যা নিয়ে রিপোর্ট করতে পারবে।

কম্পিউটার মজা ধাপ 28
কম্পিউটার মজা ধাপ 28

ধাপ 8. অন্যান্য অপারেটিং সিস্টেম ডেভেলপারদের সাথে নেটওয়ার্ক।

অপারেটিং সিস্টেম ডেভেলপারদের একটি সম্পূর্ণ সম্প্রদায় বিভিন্ন ফোরামে জমায়েত রয়েছে, রেডডিট /সফটওয়্যার ইঞ্জিনিয়ারিং স্ট্যাক এক্সচেঞ্জ সহ /r /osdev সহ। একটি আপনি একটি মৌলিক অপারেটিং সিস্টেম বিকাশের উপর উপলব্ধি পেয়েছেন, উন্নয়ন প্রক্রিয়ার সময় কি ধরনের জিনিস আসে তা দেখতে বিদ্যমান পোস্টগুলি পড়ুন।

ভিডিও - এই পরিষেবাটি ব্যবহার করে, কিছু তথ্য ইউটিউবের সাথে শেয়ার করা যেতে পারে।

পরামর্শ

  • আপনি যদি কখনও আপনার সিস্টেমকে টেকসই করতে চান তবে আপনার সর্বোচ্চ অগ্রাধিকার হিসাবে নিরাপত্তা বৈশিষ্ট্যগুলি বাস্তবায়ন করতে ভুলবেন না।
  • সমস্ত উন্নয়ন সম্পন্ন হওয়ার পরে, আপনি কোডটি ওপেন সোর্স বা মালিকানাধীন হিসাবে প্রকাশ করতে চান কিনা তা স্থির করুন।
  • একটি অপারেটিং সিস্টেমকে একাধিক প্রসেসর পরিচালনা করতে সক্ষম করার জন্য, আপনার মেমোরি ম্যানেজারকে অবশ্যই "লকিং" প্রক্রিয়া থাকতে হবে যাতে একাধিক প্রসেসর একই সময়ে একই সম্পদে প্রবেশ করতে না পারে। এর জন্য ব্যবহৃত "লক" এর জন্য নির্ধারিত সময়সূচীর উপস্থিতির প্রয়োজন হবে যাতে নিশ্চিত করা যায় যে শুধুমাত্র একটি প্রসেসর যে কোন সময়ে একটি গুরুত্বপূর্ণ রিসোর্স অ্যাক্সেস করে এবং অন্যরা অপেক্ষা করতে পারে। তবুও সময়সূচী একটি মেমরি ম্যানেজারের উপস্থিতির উপর নির্ভর করে। এটি একটি অচল নির্ভরতার ক্ষেত্রে। এই ধরনের সমস্যা সমাধানের কোন আদর্শ উপায় নেই; একজন প্রোগ্রামার হিসাবে, আপনি এটির সাথে মোকাবিলার নিজস্ব উপায় বের করার জন্য যথেষ্ট দক্ষ হবেন বলে আশা করা হচ্ছে।
  • একটি অপারেটিং সিস্টেমও ব্যবহারকারী বান্ধব হতে পারে। এইগুলিকে আপনার ডিজাইনের অবিচ্ছেদ্য অংশ বানিয়ে ব্যবহারকারী বান্ধব বৈশিষ্ট্য যোগ করতে ভুলবেন না।
  • যোগদান করবেন না OSDev.org ফোরাম এবং সুস্পষ্ট প্রশ্ন জিজ্ঞাসা শুরু করুন। এটি কেবল ফলাফল করবে "ম্যানুয়াল পড়ুন" উত্তর আপনি উইকিপিডিয়া পড়ার চেষ্টা করুন, এবং বিভিন্ন সরঞ্জামগুলির ম্যানুয়ালগুলি আপনি ব্যবহার করতে চান।
  • শুরু করো না প্রোগ্রামিং শেখার জন্য একটি অপারেটিং সিস্টেম প্রকল্প। যদি আপনি ইতিমধ্যেই C, C ++, Pascal, বা ভিতরে অন্য কোন উপযুক্ত ভাষা না জানেন, যার মধ্যে পয়েন্টার ম্যানিপুলেশন, লো-লেভেল বিট ম্যানিপুলেশন, বিট শিফটিং, ইনলাইন অ্যাসেম্বলি ল্যাঙ্গুয়েজ ইত্যাদি রয়েছে, তাহলে আপনি অপারেটিং-সিস্টেম ডেভেলপমেন্টের জন্য প্রস্তুত নন। ।
  • যদি আপনি কিছু খারাপ পরামর্শ দেন, যেমন এলোমেলো I/O পোর্টে এলোমেলো বাইট লিখুন, আপনি আপনার OS ক্র্যাশ করবেন এবং (তত্ত্বগতভাবে) আপনার হার্ডওয়্যার ভাজতে পারবেন।

প্রস্তাবিত: