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

Სარჩევი:

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

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

ვიდეო: როგორ გავაკეთოთ კომპიუტერის ოპერაციული სისტემა: 13 ნაბიჯი (სურათებით)
ვიდეო: How to Install Ubuntu - Step by Step Tutorial 2024, აპრილი
Anonim

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

ნაბიჯები

მე -2 ნაწილი 1: საფუძვლების სწავლა

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

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

ინტერნეტის განვითარებისგან განსხვავებით, ოპერაციული სისტემის შექმნა მოითხოვს ალგორითმების, მონაცემთა სტრუქტურების, კომპიუტერული ტექნიკის და რესურსების მართვის ძლიერ გაგებას. ადამიანები იღებენ ხარისხს ამ საკითხებში, ასე რომ არ ელოდოთ რომ დაწეროთ მთელი ოპერაციული სისტემა ონლაინ გაკვეთილის წაკითხვის შემდეგ! ჰარვარდის კომპიუტერული მეცნიერების შესავალი კურსი ხელმისაწვდომია ონლაინ რეჟიმში EDX– ის საშუალებით, ყოველგვარი საფასურის გარეშე.

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

ნაბიჯი 2. ისწავლეთ მაღალი დონის პროგრამირების ენა, როგორიცაა პითონი

მას შემდეგ რაც კომპიუტერულ მეცნიერებას საფუძვლიანი გაგება ექნება, შემდეგი ნაბიჯი არის C და/ან C ++ დაეუფლო. კომპიუტერული მეცნიერების სწავლის მსგავსად, ენის დაუფლება არ არის სურვილისამებრ-თქვენ ვერ შეძლებთ ოპერაციული სისტემის კოდირებას, თუ არ შეგიძლიათ დაწეროთ მყარი პროგრამები.

თუ თქვენ ახალი ხართ C– ში, გადახედეთ Dartmouth– ის C პროგრამირებას: დაწყების კურსი, რომელიც უფასოა EDX– ის საშუალებით. ამ კურსის დასრულების შემდეგ შეგიძლიათ გაიაროთ შემდეგი კურსი სერიიდან: C პროგრამირება: ენის საფუძვლები. შემდეგ გადადით შემდგომ კურსებზე, როგორიცაა მოდულური პროგრამირება და მეხსიერების მენეჯმენტი და პოინტერები და მეხსიერების მენეჯმენტი

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

ნაბიჯი 3. ისწავლეთ ასამბლეის ენა

ასამბლეის ენები დაბალი დონის ენებია, რომლებიც შექმნილია სხვადასხვა პროცესორებთან ურთიერთობისათვის. ვინაიდან ასამბლეა განსხვავებულია სხვადასხვა ტიპის პროცესორებისთვის (მაგალითად, x86 ასამბლეის ენა Intel, AMD, VIA და სხვა პროცესორებისთვის), თქვენ უნდა გაეცნოთ ვერსიას იმ ტიპის პროცესორისთვის, რომლისთვისაც თქვენ კოდირებთ.

  • ამ ღია კოდის წიგნს, თუ სრულად წაიკითხავთ, შეუძლია მოგცეთ საკმაოდ მყარი გაგება ოპერაციული სისტემის შესაქმნელად.
  • შეკრების ენის ხელოვნება არის უაღრესად რეკომენდებული წიგნი ასამბლეის შესახებ, რომელიც ხელმისაწვდომია როგორც ხაზგარეშე, ასევე ხაზგარეშე.
  • თქვენ ასევე უნდა ჩაატაროთ ბევრი კვლევა იმ ტიპის პროცესორების შესახებ, რომლებზეც უნდა მუშაობდეს თქვენი ოპერაციული სისტემა. პროცესორის არქიტექტურის სახელმძღვანელოები ადვილად მოიძებნება Google ძიების გამოყენებით ("Intel Manuals", "ARM manuals" და ა.შ.).
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 5
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 5

ნაბიჯი 4. დაასრულეთ ოპერაციული სისტემის სახელმძღვანელო

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

  • შიშველი ძვლები არის სახელმძღვანელო, რომელიც დაგეხმარებათ დაწეროთ თქვენი პირველი მარტივი 32-ბიტიანი ბირთვი. გაკვეთილის დასრულების შემდეგ, შემდეგი ნაბიჯი არის გამოიყენოთ Meaty Skeleton თქვენი საკუთარი ოპერაციული სისტემის სტრუქტურის შესაქმნელად.
  • Linux საწყისი Scratch არის ონლაინ წიგნი, რომელიც დაგეხმარებათ შექმნათ თქვენი საკუთარი Linux ოპერაციული სისტემა.
  • ოპერაციული სისტემები 0 -დან 1 -მდე არის უფასო წიგნი სხვადასხვა ოპერაციული სისტემის შექმნის შესახებ თავიდან ბოლომდე.
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 3
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 3

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

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

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

2 ნაწილი 2: თქვენი ოპერაციული სისტემის შექმნა

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

ნაბიჯი 1. შეარჩიეთ განვითარების გარემო

ეს არის პლატფორმა, რომელსაც თქვენ გამოიყენებთ თქვენი ახალი ოპერაციული სისტემის კოდირებისთვის. ეს პირადი უპირატესობის საკითხია, მაგრამ ადამიანების უმეტესობა ან იყენებს Windows- ს ან UNIX- ის არომატს. თუ თქვენ იყენებთ Windows- ს, კარგი იდეაა დააინსტალიროთ UNIX გარემო, როგორიცაა Cygwin ან MinGW. თქვენ ზოგადად გინდათ დარწმუნდეთ, რა გარემოსაც იყენებთ, მოიცავს შემდეგს:

  • GCC (Gnu შემდგენელი). თუ თქვენ იყენებთ Windows- ს, შეგიძლიათ დააინსტალიროთ Cygwin ან MinGW.
  • Binutils არის ინსტრუმენტების კოლექცია, რომელიც გამოიყენება ობიექტის ფაილების მანიპულირებისთვის. კიდევ ერთხელ, თუ თქვენ იყენებთ Windows- ს, შეგიძლიათ დააინსტალიროთ Cygwin– ში.
  • კარგი ტექსტური რედაქტორი. Vim და emacs ჩვეულებრივ გამოიყენება UNIX გარემოში. Windows– ის მომხმარებლებს შეუძლიათ გამოიყენონ Notepad, ან შეამოწმონ Notepad ++ მრავალი ჩანართის განახლებისთვის.
  • პერლი და/ან პითონი. ერთი ან ორივე რეკომენდირებულია სიმებით მანიპულირებისთვის.
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 13
გააკეთეთ კომპიუტერული ოპერაციული სისტემა ნაბიჯი 13

ნაბიჯი 2. შექმენით თქვენი ვერსიის კონტროლის სისტემა

ოპერაციული სისტემის დაწერა ნიშნავს, რომ თქვენ სავარაუდოდ შექმნით ასობით (ან ათასობით!) კოდის ხაზს. როდესაც მუშაობთ შესწორებებზე, ეს შეიძლება დამაბნეველი გახდეს. შემოწმების ზოგიერთი ვარიანტი არის CVS, Mercurial და Subversion.

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

ნაბიჯი 3. გადაწყვიტეთ ჩამტვირთავი

თუ არ გსურთ შექმნათ თქვენი საკუთარი, შეგიძლიათ გამოიყენოთ არსებული, როგორიცაა Grand Unified Bootloader (GRUB). თუ თქვენ საკმარისად თამამად გრძნობთ ჩატვირთვის ჩანაწერის კოდირებას, გადახედეთ Rolling Your Own Bootloader– ს OSDev.org– ზე.

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

ნაბიჯი 4. აირჩიეთ ბირთვის დიზაინი

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

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

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

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

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

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

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

იმის ნაცვლად, რომ გადატვირთოთ თქვენი კომპიუტერი ყოველ ჯერზე ცვლილებების შეტანისას ან გადაიტანოთ ფაილები თქვენი განვითარების კომპიუტერიდან თქვენს საცდელ მანქანაში, გამოიყენეთ ვირტუალური აპარატის პროგრამა. VMWare არის ჩვეულებრივი ვარიანტი, რომელიც მუშაობს როგორც Windows- თან, ასევე Linux- თან და ასევე ბოხსიც. შეამოწმეთ პოტენციური ჩიხები და სხვა შეცდომები და შეასწორეთ ისინი საჭიროებისამებრ.

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

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

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

გაერთეთ კომპიუტერთან ერთად ნაბიჯი 28
გაერთეთ კომპიუტერთან ერთად ნაბიჯი 28

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

არსებობს ოპერაციული სისტემის შემქმნელთა მთელი საზოგადოება, რომლებიც იკრიბებიან სხვადასხვა ფორუმზე, მათ შორის /r /osdev Reddit– ზე და პროგრამული უზრუნველყოფის საინჟინრო დასტის გაცვლა. თქვენ უკვე გაითავისეთ ძირითადი ოპერაციული სისტემის შემუშავება, წაიკითხეთ არსებული პოსტები, რომ ნახოთ რა მოვლენები წარმოიქმნება განვითარების პროცესში.

ვიდეო - ამ სერვისის გამოყენებით, ზოგიერთი ინფორმაცია შეიძლება გაზიარდეს YouTube- თან

Რჩევები

  • დარწმუნდით, რომ განახორციელეთ უსაფრთხოების მახასიათებლები, როგორც თქვენი მთავარი პრიორიტეტი, თუ გინდათ რომ თქვენი სისტემა იყოს სიცოცხლისუნარიანი.
  • ყოველივე ამის შემდგომ, გადაწყვიტეთ, გსურთ გამოუშვათ კოდი ღია წყაროდ, თუ საკუთრებაში.
  • იმისათვის, რომ ოპერაციულმა სისტემამ შეძლოს მრავალი პროცესორის მართვა, თქვენს მეხსიერების მენეჯერს უნდა ჰქონდეს „ჩაკეტვის“მექანიზმები, რათა თავიდან აიცილოს მრავალმა პროცესორმა ერთსა და იმავე რესურსზე წვდომა. ამისათვის გამოყენებული "ჩამკეტები" საჭიროებს გრაფიკის არსებობას იმის უზრუნველსაყოფად, რომ მხოლოდ ერთი პროცესორი წვდება კრიტიკულ რესურსს ნებისმიერ დროს და ყველა დანარჩენს ლოდინი მოაქვს. თუმცა გრაფიკი დამოკიდებულია მეხსიერების მენეჯერის არსებობაზე. ეს არის ჩიხიანი დამოკიდებულების შემთხვევა. არ არსებობს ასეთი პრობლემების გადაჭრის სტანდარტული გზა; როგორც პროგრამისტი, თქვენ უნდა იყოთ საკმარისად გამოცდილი იმისათვის, რომ გაარკვიოთ როგორ გაუმკლავდეს მას.
  • ოპერაციული სისტემა ასევე შეიძლება იყოს მეგობრული. დარწმუნდით, რომ დაამატეთ მოსახერხებელი თვისებები, რაც გახდება თქვენი დიზაინის განუყოფელი ნაწილი.
  • არ შეუერთდე OSDev.org ფორუმზე და დაიწყეთ აშკარა კითხვების დასმა. ეს უბრალოდ გამოიწვევს "წაიკითხეთ სახელმძღვანელო" პასუხები. თქვენ უნდა სცადოთ ვიკიპედიის წაკითხვა და სახელმძღვანელოები სხვადასხვა ინსტრუმენტებისთვის, რომელთა გამოყენება გსურთ.
  • Არ დაიწყო ოპერაციული სისტემის პროექტი პროგრამირების სწავლის დასაწყებად. თუ თქვენ ჯერ არ იცით C, C ++, Pascal, ან სხვა შესაფერისი ენა შიგნიდან, მათ შორის მაჩვენებლით მანიპულირება, დაბალი დონის ბიპულაცია, ბიტის გადატანა, შეკრების ენა და ა.შ., თქვენ არ ხართ მზად ოპერაციული სისტემის განვითარებისათვის რა
  • თუ თქვენ აკეთებთ რაიმე არაჯანსაღს, როგორიცაა შემთხვევითი I/O პორტებზე შემთხვევითი ბაიტების ჩაწერა, თქვენ გატეხავთ თქვენს ოპერაციულ სისტემას და შეძლებთ (თეორიულად) გაწუროთ თქვენი აპარატურა.

გირჩევთ: