როგორ შევქმნათ კომპიუტერის ოპერაციული სისტემა (სურათებით)

Სარჩევი:

როგორ შევქმნათ კომპიუტერის ოპერაციული სისტემა (სურათებით)
როგორ შევქმნათ კომპიუტერის ოპერაციული სისტემა (სურათებით)

ვიდეო: როგორ შევქმნათ კომპიუტერის ოპერაციული სისტემა (სურათებით)

ვიდეო: როგორ შევქმნათ კომპიუტერის ოპერაციული სისტემა (სურათებით)
ვიდეო: როგორ გადმოვიწეროთ ორიგინალი - WINDOWS - 7,8 1,10 Microsoft დან 2024, მაისი
Anonim

ოპერაციული სისტემა მომხმარებელს საშუალებას აძლევს დაუკავშირდეს კომპიუტერულ ტექნიკას. სისტემა შედგება ასობით ათასი კოდის ხაზისგან. ჩვეულებრივ, ოპერაციული სისტემა მზადდება C#, C, C ++ და ასამბლეის პროგრამირების ენების გამოყენებით. ოპერაციული სისტემა საშუალებას გაძლევთ დაათვალიეროთ თქვენი კომპიუტერი ბრძანებების შენახვისა და შესრულების დროს. არ იფიქროთ, რომ ოპერაციული სისტემის შექმნა ადვილია. მის მომზადებას დიდი ცოდნა სჭირდება.

ნაბიჯი

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 1
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 1

ნაბიჯი 1. უპირველეს ყოვლისა, ისწავლეთ პროგრამირება

ასამბლეის ენა ძალიან მნიშვნელოვანია; მიზანშეწონილია ისწავლოთ სხვა დამატებითი მაღალი დონის ენა, როგორიცაა C ენა.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 2
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 2

ნაბიჯი 2. გადაწყვიტეთ რა მედიის გამოყენება გსურთ OS- ის ჩატვირთვაზე

ეს მედია შეიძლება იყოს CD დისკი, DVD დრაივი, ფლეშ დრაივი, მყარი დისკი, ფლოპი დისკი ან სხვა კომპიუტერი.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 3
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 3

ნაბიჯი 3. განსაზღვრეთ SO– ს ძირითადი იდეა

მაგალითად, Windows– ზე, ძირითადი იდეა არის ადვილად გამოსაყენებელი GUI და უამრავი უსაფრთხოება.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 4
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 4

ნაბიჯი 4. განსაზღვრეთ რა პროცესორის პლატფორმას დაუჭერს მხარს თქვენი ოპერაციული სისტემა

IA-32, ARM და x86_64 პერსონალური კომპიუტერებისთვის ყველაზე გავრცელებული პლატფორმებია. ასე რომ, ყველა მათგანი თქვენი საუკეთესო არჩევანია.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 5
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 5

ნაბიჯი 5. გადაწყვიტეთ, გირჩევნიათ ყველაფერი ნულიდან გააკეთოთ, თუ არის უკვე ბირთვი, რომელზეც გსურთ შექმნათ

მაგალითად, Linux ნულიდან არის პროექტი იმ ადამიანებისთვის, რომელთაც სურთ საკუთარი Linux დისტროს შექმნა.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 6
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 6

ნაბიჯი 6. გადაწყვიტეთ, გამოიყენებთ თუ არა საკუთარ ჩატვირთვის ჩამტვირთველს, თუ წინასწარ აშენებულს, როგორიცაა Grand Unified Bootloader (GRUB)

ჩამტვირთველის დაშიფვრა თავად მოითხოვს ტექნიკისა და BIOS– ის ფართო ცოდნას. შედეგად, ამ ნაბიჯმა შეიძლება შეაფერხოს ბირთვის პროგრამირების რეალური გრაფიკი.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 7
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 7

ნაბიჯი 7. გადაწყვიტეთ რომელი პროგრამირების ენა გამოიყენოთ

კარგია, რომ გქონდეს ოპერაციული სისტემა ისეთ ენაზე, როგორიცაა პასკალი ან ბასიკი, მაგრამ უნდა გამოიყენოთ C ან ასამბლეა. შეკრება ძალიან აუცილებელია, რადგან ოპერაციული სისტემის ზოგიერთი მნიშვნელოვანი ნაწილი ამას მოითხოვს. მეორეს მხრივ, C ++ ენა შეიცავს საკვანძო სიტყვებს, რომლებიც საჭიროებს სხვა სრულ SO– ს გაშვებას.

C ან C ++ კოდიდან ოპერაციული სისტემის შესადგენად, რა თქმა უნდა, თქვენ გამოიყენებთ ამა თუ იმ შემდგენელს. აქედან გამომდინარე, კარგი იდეაა გაეცნოთ C/C ++ - ის შემდგენლის მომხმარებლის სახელმძღვანელოს/სახელმძღვანელოს/დოკუმენტაციას თქვენი არჩევანის მიხედვით, იქნება ეს პროგრამული უზრუნველყოფაში ჩართული თუ დისტრიბუტორის ვებგვერდზე. თქვენ უნდა იცოდეთ ბევრი რთული რამ შემდგენლის შესახებ და, C ++ განვითარებისათვის, თქვენ უნდა იცოდეთ შემდგენლის მანიპულირების სქემისა და მისი ABI. თქვენ გესმით სხვადასხვა შესრულებადი ფორმატის (ELF, PE, COFF, ძირითადი ორობითი და ა.შ.) და გესმით, რომ ექსკლუზიური Windows ფორმატი, PE (.exe), დაცულია საავტორო უფლებებით

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 8
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 8

ნაბიჯი 8. განსაზღვრეთ თქვენი პროგრამის პროგრამირების ინტერფეისი (API)

ერთი კარგი API ასარჩევად არის POSIX, რადგან ის კარგად არის დოკუმენტირებული. ყველა Unix სისტემას აქვს ნაწილობრივი მხარდაჭერა POSIX– ისთვის. ასე რომ Unix პროგრამების თქვენს OS- თან დაკავშირება ადვილი უნდა იყოს.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 9
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 9

ნაბიჯი 9. გადაწყვიტეთ თქვენი დიზაინი

არსებობს ისეთი რამ, როგორიცაა მონოლითური ბირთვი და მიკრო ბირთვი. მონოლითური ბირთვი ახორციელებს ყველა მომსახურებას ბირთვში, ხოლო მიკრო ბირთვს აქვს მცირე ზომის ბირთვები, რომლებიც შეფუთულია მომხმარებლის დემონის განლაგების სერვისებით. ზოგადად, მონოლითური ბირთვი უფრო სწრაფია, მაგრამ მიკრო ბირთვებს აქვთ უკეთესი დეფექტის იზოლაცია და საიმედოობა.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 10
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 10

ნაბიჯი 10. განიხილეთ გუნდში განვითარება და მუშაობა

ამ გზით, ნაკლები დრო სჭირდება მეტი პრობლემის გადასაჭრელად, რაც, ალბათ, დააჩქარებს უკეთესი ოპერაციული სისტემის შექმნას.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 11
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 11

ნაბიჯი 11. არ წაშალოთ მყარი დისკი მთლიანად

გახსოვდეთ, დისკის წაშლა შეუქცევადად წაშლის მასზე არსებულ ყველა მონაცემს! გამოიყენეთ GRUB ან სხვა ჩატვირთვის მენეჯერი, რომ გააორმაგოთ თქვენი სისტემა სხვა ოპერაციული სისტემით, სანამ თქვენი OS სრულად არ ფუნქციონირებს.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 12
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 12

ნაბიჯი 12. დაიწყეთ მცირედით

დაიწყეთ წვრილმანებით, როგორიცაა ტექსტის ჩვენება და პაუზა, სანამ გადახვალთ ისეთ საკითხებზე, როგორიცაა მეხსიერების მართვა და რთული სამუშაოები. ასევე დარწმუნდით, რომ თქვენ გააკეთებთ 32 ბიტიან და 64 ბიტიან ვერსიებს.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 13
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 13

ნაბიჯი 13. შეინახეთ ბოლო სამუშაო კოდის სარეზერვო ასლი

ეს ნაბიჯი სასარგებლოა, როგორც გარანტი იმ შემთხვევაში, თუ რამე არასწორედ წავა SO– ის ამჟამინდელ ვერსიაში ან განვითარებაში. თუ თქვენი კომპიუტერი გატეხილია და არ ჩატვირთავს, კარგი იდეაა გქონდეთ მეორე ასლი სამუშაოდ, ასე რომ თქვენ შეძლებთ პრობლემის მოგვარებას.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 14
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 14

ნაბიჯი 14. განიხილეთ თქვენი ახალი ოპერაციული სისტემის ტესტირება ვირტუალური მანქანით

იმის ნაცვლად, რომ გადატვირთოთ თქვენი კომპიუტერი ყოველ ჯერზე ცვლილებების შეტანისას ან თქვენი განვითარების კომპიუტერიდან ტესტის აპარატში ფაილების გაგზავნის შემდეგ, შეგიძლიათ გამოიყენოთ ვირტუალური აპარატის პროგრამა თქვენი OS- ს გასაშვებად, სანამ თქვენი მიმდინარე OS მუშაობს. VM– ს ამჟამინდელი პროგრამები მოიცავს: VMWare (რომელსაც ასევე აქვს სერვერის პროდუქტი უფასოდ), ღია კოდის ალტერნატივები, Bochs, Microsoft Virtual PC (არ არის თავსებადი Linux– თან) და Oracle VirtualBox.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 15
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 15

ნაბიჯი 15. გაუშვით "გათავისუფლების კანდიდატი" ან ბეტა ვერსია

ეს ნაბიჯი საშუალებას მისცემს მომხმარებელს გაცნობოთ თქვენი ოპერაციული სისტემის პოტენციური პრობლემების შესახებ.

გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 16
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 16

ნაბიჯი 16. ოპერაციული სისტემა ასევე უნდა იყოს მეგობრული

დარწმუნდით, რომ დაამატებთ მოსახერხებელ ფუნქციებს, გახადეთ ეს თქვენი დიზაინის განუყოფელი ნაწილი.

Რჩევები

  • შეამოწმეთ პოტენციური ჩიხი და სხვა შეცდომები. შეცდომები, ჩიხი და სხვა საკითხები გავლენას მოახდენს თქვენი ოპერაციული სისტემის შექმნის პროექტზე.
  • დარწმუნდით, რომ განახორციელებთ უსაფრთხოების მახასიათებლებს, როგორც უმთავრეს პრიორიტეტს, თუ გსურთ სისტემა სწორად იმუშაოს.
  • გამოიყენეთ ვებსაიტები, როგორიცაა OSDev და OSDever, რათა დაგეხმაროთ საკუთარი ოპერაციული სისტემის შემუშავებაში. გთხოვთ გაითვალისწინოთ, რომ უმეტესწილად, OSDev.org საზოგადოება იქნება მეტად ბედნიერი, თუ თქვენ იყენებთ მათ ვიკი და არ შეუერთდებით ფორუმს. თუ გადაწყვეტთ შეუერთდეთ ფორუმს, არის წინაპირობა: თქვენ ნამდვილად უნდა იცოდეთ C ან C ++ და x86 ასამბლეის ენა. თქვენ ასევე უნდა გესმოდეთ პროგრამირების ზოგადი და რთული ცნებები, როგორიცაა დაკავშირებული სია, რიგები და ა. OSDev საზოგადოება, თავის რეგულაციებში, პირდაპირ აცხადებს, რომ მისი საზოგადოება არ არის შექმნილი ახალი პროგრამისტების აღსაზრდელად.
  • არ შეუერთდე OSDev.org ფორუმთან და შემდეგ დასვით აშკარა კითხვა. თქვენ მოგეთხოვებათ მხოლოდ სახელმძღვანელოს წაკითხვა. წაიკითხეთ ვიკიპედია და ინსტრუქციები, რა აღჭურვილობის გამოყენება გსურთ.
  • თუ თქვენ ცდილობთ განავითაროთ ოპერაციული სისტემა, თქვენ ნამდვილად განიხილავთ პროგრამირების "ღმერთს".
  • თქვენ ასევე უნდა წაიკითხოთ პროცესორის სახელმძღვანელო თქვენს მიერ არჩეული პროცესორის არქიტექტურისთვის; თუ არა x86 (Intel), ARM, MIPS, PPC და ა. პროცესორული არქიტექტურის სახელმძღვანელოები ადვილად მოიძებნება Google ძიების გამოყენებით ("ინტელის სახელმძღვანელო", "ARM სახელმძღვანელო" და ა.შ.).
  • მას შემდეგ, რაც ყველა სამუშაო დასრულდება, გადაწყვიტეთ, გსურთ გამოუშვათ კოდი ღია კოდის სახით, თუ საავტორო უფლებებით.
  • არ დაიწყო ოპერაციული სისტემის პროექტი პროგრამირების სწავლის დასაწყებად. თუ შიგნით და გარეთ არ იცით C, C ++, Pascal ან სხვა შესაფერისი ენების შესახებ, მათ შორის მაჩვენებლით მანიპულირება, დაბალი დონის ბიპულაცია, ცოტათი გადაადგილება, შეკრების ენები და ა.შ., თქვენ არ ხართ მზად ოპერაციული სისტემისთვის განვითარება.
  • სრულიად ახალი დანაყოფის შექმნა SO- ის „გაფართოებისათვის“შეიძლება იყოს კარგი ვარიანტი.
  • თუ გსურთ მარტივი გზა, განიხილეთ Linux დისტრიბუციები, როგორიცაა Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD, ან SUSE Studio და SUSE KIWI. ამასთან, თქვენ მიერ შექმნილი ოპერაციული სისტემა ეკუთვნის იმ კომპანიას, რომელმაც პირველად დაიწყო მომსახურება (თუმცა თქვენ გაქვთ უფლება თავისუფლად გაავრცელოთ იგი, შეცვალოთ იგი და გაუშვათ როგორც გსურთ GPL– ის შესაბამისად).

გაფრთხილება

  • თქვენ არ მიიღებთ სრულ ოპერაციულ სისტემას ორი კვირის განმავლობაში. დაიწყეთ ჩამტვირთავი SO– ით, შემდეგ გადადით უფრო მაგარ ნივთებზე.
  • მყარ დისკზე თქვენი ოპერაციული სისტემის უყურადღებოდ ჩაწერამ შეიძლება მთლიანად დააზიანოს იგი. Ფრთხილად იყავი.
  • თუ თქვენ აკეთებთ იმას, რაც არ არის რეკომენდებული, როგორიცაა შემთხვევითი I/O პორტებზე შემთხვევითი ბაიტების ჩაწერა, თქვენ გატეხავთ თქვენს ოპერაციულ სისტემას და (თეორიულად) შეიძლება დაიწვას თქვენი ტექნიკა.
  • ნუ ელოდებით, რომ ოპერაციული სისტემა ადვილი ასაშენებელია. ბევრი რთული ურთიერთდამოკიდებულებაა. მაგალითად, ოპერაციული სისტემის შესაქმნელად, რომელსაც შეუძლია მრავალი პროცესორის დამუშავება, თქვენს მეხსიერების მენეჯერს უნდა ჰქონდეს "ჩაკეტვის" მექანიზმი, რომელიც ხელს შეუშლის მრავალ პროცესორს ერთსა და იმავე რესურსზე წვდომას. ამისათვის გამოყენებული "ჩაკეტვა" დაგჭირდებათ გრაფიკმა, რათა უზრუნველყოს, რომ მხოლოდ ერთი პროცესორი წვდეს კრიტიკულ რესურსებს ნებისმიერ დროს და ყველა დანარჩენს უნდა დაელოდოს. სინამდვილეში, გრაფიკი დამოკიდებულია მეხსიერების მენეჯერის ყოფნაზე. ეს არის ჩიხზე დამოკიდებულების მაგალითი. არ არსებობს ამგვარი პრობლემის გადაჭრის სტანდარტული გზა; ყველა ოპერაციული სისტემის პროგრამისტი უნდა იყოს საკმარისად გამოცდილი, რომ იცოდეს მასთან გამკლავების საკუთარი გზა.

Დამატებითი რესურსები

  • მითითებები: Linux საწყისი Scratch
  • ჩამტვირთავი: GRUB
  • ვირტუალური აპარატის პროგრამები: Bochs, VM Ware, XM Virtual Box.
  • პროცესორის სახელმძღვანელო: Intel სახელმძღვანელო
  • SO განვითარების საიტები: OSDev, OSDever

გირჩევთ: