Kompüter Əməliyyat Sistemi Necə Hazırlanır: 13 Adım (Şəkillərlə birlikdə)

Mündəricat:

Kompüter Əməliyyat Sistemi Necə Hazırlanır: 13 Adım (Şəkillərlə birlikdə)
Kompüter Əməliyyat Sistemi Necə Hazırlanır: 13 Adım (Şəkillərlə birlikdə)

Video: Kompüter Əməliyyat Sistemi Necə Hazırlanır: 13 Adım (Şəkillərlə birlikdə)

Video: Kompüter Əməliyyat Sistemi Necə Hazırlanır: 13 Adım (Şəkillərlə birlikdə)
Video: Oracle VM VirtualBox quraşdırma və istifadə qaydası 2024, Aprel
Anonim

Bu wikiHow, C və ya C ++ da kod yazmağı bilmirsinizsə, bir əməliyyat sistemini necə planlaşdırmağı və inkişaf etdirməyi öyrədir. Əməliyyat sistemləri kompüter avadanlığını idarə edir və tətbiqlərin işləməsi üçün lazım olan qaynaqları təmin edir. Əməliyyat sistemini sıfırdan yazmaq üçün güclü kompüter bilikləri, C və ya C ++ kimi bir proqramlaşdırma dili, montaj və kod idarəetmə praktikası lazımdır.

Addımlar

2 -dən 1 -ci hissə: Əsasları öyrənmək

Kompüter Əməliyyat Sistemi Yaradın 1
Kompüter Əməliyyat Sistemi Yaradın 1

Addım 1. Bir neçə Kompüter Elmləri kursu keçin

Veb üçün inkişaf etdirməkdən fərqli olaraq, bir əməliyyat sistemi yaratmaq üçün alqoritmlər, məlumat strukturları, kompüter avadanlığı və resurs idarəçiliyinin yaxşı anlaşılması tələb olunur. İnsanlar bu mövzuda dərəcələr alırlar, buna görə onlayn bir təlimatı oxuduqdan sonra bütün bir əməliyyat sistemi yazacağını gözləməyin! Harvardın Kompüter Elminə Giriş kursu EDX vasitəsilə heç bir ödəniş olmadan onlayn olaraq mövcuddur.

Kompüter Əməliyyat Sistemi Edin 2 -ci addım
Kompüter Əməliyyat Sistemi Edin 2 -ci addım

Addım 2. Python kimi yüksək səviyyəli proqramlaşdırma dili öyrənin

Kompüter elmləri haqqında möhkəm bir anlayış əldə etdikdən sonra, növbəti addım C və/və ya C ++ proqramlarını mənimsəməkdir. Kompüter elmləri haqqında öyrənmək kimi, bir dili də öyrənmək isteğe bağlı deyil-möhkəm tətbiqlər yaza bilmirsinizsə, əməliyyat sistemini kodlaşdıra bilməyəcəksiniz.

C -də yenisinizsə, EDX vasitəsilə pulsuz olan Dartmouthun C Proqramlaşdırması: Başlarken kursuna baxın. Bu kursu bitirdikdən sonra seriyadakı növbəti kursu keçə bilərsiniz: C Proqramlaşdırma: Dil Vəqfləri. Daha sonra Modul Proqramlaşdırma və Yaddaş İdarəçiliyi və Göstəricilər və Yaddaş İdarəçiliyi kimi sonrakı kurslara keçin

Kompüter Əməliyyat Sistemi Edin 4
Kompüter Əməliyyat Sistemi Edin 4

Addım 3. Bir montaj dili öyrənin

Montaj dilləri fərqli prosessorlarla ünsiyyət qurmaq üçün hazırlanmış aşağı səviyyəli dillərdir. Fərqli prosessor növləri üçün montaj fərqli olduğundan (məsələn, Intel, AMD, VIA və digər prosessorlar üçün x86 montaj dili), kodlaşdırdığınız prosessorun növünü öyrənməlisiniz.

  • Bu açıq mənbə kitab, bütünlüklə oxunduqda, bir əməliyyat sistemi qurmaq üçün kifayət qədər möhkəm bir anlayış verə bilər.
  • Assambleyanın Sənəti, həm onlayn, həm də oflayn olaraq mövcud olan montaj haqqında çox tövsiyə olunan bir kitabdır.
  • Əməliyyat sisteminizin işləməli olduğu prosessor (lar) ın növü haqqında da çoxlu araşdırma aparmalısınız. Prosessor arxitekturasına dair təlimatları Google axtarışından istifadə etməklə asanlıqla tapmaq olar ("Intel Manuals", "ARM manuals" və s.).
Kompüter Əməliyyat Sistemi Edin 5 -ci addım
Kompüter Əməliyyat Sistemi Edin 5 -ci addım

Addım 4. Əməliyyat sistemi dərsini tamamlayın

OS dərslikləri, əsas bir əməliyyat sistemi yaratmaq prosesini sizə izah edəcək. Bu, sizi prosesə alışdırır və itirdiyiniz parçaların olub olmadığını anlamağa kömək edir. Bir və ya iki dərsliyi tamamladıqdan sonra öz əməliyyat sisteminizi yaratmaq yolunda yaxşı olacaqsınız.

  • Çılpaq Sümüklər, ilk 32 bitlik kernelinizi yazmağınıza kömək edən bir dərslikdir. Dərsliyi tamamladıqdan sonra, növbəti addım öz əməliyyat sisteminizi qurmaq üçün Meaty Skeleton istifadə etməkdir.
  • Linux -dan Scratch, öz Linux əməliyyat sisteminizi yaratmağın yollarını göstərən bir onlayn kitabdır.
  • 0 -dan 1 -ə qədər olan əməliyyat sistemləri, əvvəldən sona qədər müxtəlif əməliyyat sistemlərinin yaradılması haqqında pulsuz bir kitabdır.
Kompüter Əməliyyat Sistemi Edin Adım 3
Kompüter Əməliyyat Sistemi Edin Adım 3

Addım 5. Əməliyyat sistemi məqsədlərinizi müəyyənləşdirin

Əməliyyat sisteminizin nə etməsini istəyirsiniz? Necə görünməlidir? Həqiqətən bütün bir əməliyyat sistemini yazmalısınız və ya yalnız masaüstünüz üçün müəyyən bir görünüş yaratmaq istəyirsiniz? Kodlamağa başlamazdan əvvəl bunların hamısı nəzərə alınmalıdır.

  • Digər proqramçılar qrupu ilə inkişaf etməyi düşünün. Layihə üzərində işləyən inkişaf etdiricilər qrupunun olması, inkişaf müddətini əhəmiyyətli dərəcədə azaldacaq.
  • Layihə məqsədlərinizi, planlarınızı və suallarınızı ictimai anbarınıza əlavə edin ki, başqaları sizə kömək etsin.

2 -ci hissə 2: Əməliyyat Sisteminizi Yaratmaq

Kompüterlə əylənin Adım 16
Kompüterlə əylənin Adım 16

Addım 1. İnkişaf mühiti seçin

Bu, yeni əməliyyat sisteminizi kodlaşdırmaq üçün istifadə edəcəyiniz platformadır. Bu şəxsi üstünlük məsələsidir, lakin insanların çoxu ya Windows, ya da UNIX ləzzətindən istifadə edir. Windows istifadə edirsinizsə, Cygwin və ya MinGW kimi bir UNIX mühiti qurmaq yaxşı bir fikirdir. Ümumiyyətlə istifadə etdiyiniz mühitin aşağıdakıları ehtiva etdiyinə əmin olmaq istəyəcəksiniz:

  • GCC (Gnu tərtibçisi). Windows istifadə edirsinizsə, Cygwin və ya MinGW -də quraşdıra bilərsiniz.
  • Binutils, obyekt fayllarını idarə etmək üçün istifadə olunan vasitələr toplusudur. Yenə də Windows istifadə edirsinizsə, Cygwin -də quraşdıra bilərsiniz.
  • Yaxşı bir mətn redaktoru. Vim və emaclar ümumiyyətlə UNIX mühitlərində istifadə olunur. Windows istifadəçiləri Notepad-dan istifadə edə və ya Notepad ++ proqramına baxa bilərlər.
  • Perl və/və ya Python. Bir və ya hər ikisi simli manipulyasiya üçün tövsiyə olunur.
Kompüter Əməliyyat Sistemi Edin Adım 13
Kompüter Əməliyyat Sistemi Edin Adım 13

Addım 2. Versiya idarəetmə sisteminizi qurun

Əməliyyat sistemi yazmaq, ehtimal ki, yüzlərlə (və ya minlərlə!) Kod xətləri yaradacağınız deməkdir. Düzəlişlər üzərində işləyərkən bu qarışıqlıq yarada bilər. Yoxlamaq üçün bəzi variantlar CVS, Mercurial və Subversiondur.

Kompüter Əməliyyat Sistemi Edin Adım 6
Kompüter Əməliyyat Sistemi Edin Adım 6

Addım 3. Bir yükləyiciyə qərar verin

Özünüzü yaratmaq istəmirsinizsə, Grand Unified Bootloader (GRUB) kimi mövcud birindən istifadə edə bilərsiniz. Bir yükləyicini kodlaşdırmaq üçün kifayət qədər cəsarətli hiss edirsinizsə, OSDev.org saytında Öz Yükləyicinizi yuvarlamağa baxın.

Kompüter Əməliyyat Sistemi Edin Adım 9
Kompüter Əməliyyat Sistemi Edin Adım 9

Addım 4. Bir nüvə dizaynını seçin

Kernel, istifadəçi ilə kompüter avadanlığı arasında bir interfeys təmin edən əməliyyat sisteminizin əsasını təşkil edir. Monolitik ləpələr və mikro ləpələr var. Monolitik ləpələr nüvədəki bütün xidmətləri həyata keçirir, mikrokərpiclərdə isə xidmət tətbiq edən istifadəçi daemonları ilə birlikdə kiçik bir nüvə var. Ümumiyyətlə, monolitik nüvələr daha sürətlidir, lakin mikro çekirdeklərdə daha yaxşı qüsur izolyasiyası və etibarlılığı var.

Kompüter Əməliyyat Sistemi Edin 12
Kompüter Əməliyyat Sistemi Edin 12

Addım 5. Kiçikdən başlayın

Yaddaş idarəçiliyi və çoxlu tapşırıqlar kimi işlərə keçməzdən əvvəl mətn və kəsilmələri göstərmək kimi kiçik işlərdən başlayın. Böyük bir sıçrayış yerinə, sadə 16 bitlik bir Əməliyyat Sistemi yaratmağa cəhd edə bilərsiniz.

İki həftə ərzində tam bir sistemə sahib olmayacaqsınız. Çəkən bir OS ilə başlayın, sonra sərin şeylərə keçin

Kompüter Əməliyyat Sistemi Edin Adım 14
Kompüter Əməliyyat Sistemi Edin Adım 14

Addım 6. Yeni əməliyyat sisteminizi virtual maşınla sınayın

Hər dəfə dəyişiklik etdikdə və ya inkişaf etdirmə kompüterinizdəki sənədləri test maşınınıza köçürmək məcburiyyətində qaldığınız zaman kompüterinizi yenidən başlatmaq əvəzinə, virtual maşın tətbiqindən istifadə edin. VMWare, həm Windows, həm də Linux ilə işləyən ümumi bir seçimdir və Bochs da. Potensial kilidləri və digər səhvləri yoxlayın və lazım olduqda onları düzəldin.

Kompüter Əməliyyat Sistemi Edin 15
Kompüter Əməliyyat Sistemi Edin 15

Addım 7. "Azadlığa buraxılan bir namizədi buraxın

Bunu sınanmış kodunuzu ictimai anbarınıza yükləyərək edə bilərsiniz. Bu, insanlara əməliyyat sisteminizi sınamağa və qarşılaşdıqları hər hansı bir problem haqqında hesabat verməyə imkan verəcək.

Kompüter Əylən Adım 28
Kompüter Əylən Adım 28

Addım 8. Digər əməliyyat sistemi inkişaf etdiriciləri ilə şəbəkə qurun

Reddit və Software Engineering Stack Exchange -də /r /osdev daxil olmaqla müxtəlif forumlarda bir araya gələn bütün əməliyyat sistemi inkişaf etdiriciləri birliyi var. Əsas əməliyyat sistemini inkişaf etdirməyi başa düşdüyünüz biri, inkişaf prosesində hansı şeylərin ortaya çıxdığını görmək üçün mövcud yazıları oxuyun.

Video - Bu xidmətdən istifadə edərək bəzi məlumatlar YouTube ilə paylaşıla bilər

İpuçları

  • Sisteminizin davamlı olmasını istəyirsinizsə, təhlükəsizlik xüsusiyyətlərini birinci prioritet olaraq tətbiq etdiyinizə əmin olun.
  • Bütün inkişaflar bitdikdən sonra kodu açıq mənbə və ya mülkiyyət olaraq buraxmaq istədiyinizə qərar verin.
  • Əməliyyat sisteminin birdən çox prosessoru idarə edə bilməsi üçün Yaddaş Menecerinizin eyni anda birdən çox prosessorun daxil olmasını maneə törətmək üçün "kilidləmə" mexanizmləri olmalıdır. Bunun üçün istifadə olunan "kilidlər", yalnız bir prosessorun istənilən vaxt kritik bir mənbəyə daxil olmasını və digərlərinin gözləməsini təmin etmək üçün bir planlayıcının olmasını tələb edəcək. Yenə də planlaşdırıcı bir Yaddaş Menecerinin varlığından asılıdır. Bu, çıxılmaz bir asılılıq vəziyyətidir. Bu kimi problemləri həll etməyin standart bir yolu yoxdur; bir proqramçı olaraq, onunla necə məşğul olacağınızı anlamaq üçün kifayət qədər bacarıqlı olmanız gözlənilir.
  • Əməliyyat sistemi də istifadəçi dostu ola bilər. Dizaynınızın ayrılmaz bir hissəsi halına gətirən istifadəçi dostu xüsusiyyətlər əlavə etdiyinizə əmin olun.
  • Qoşulmayın OSDev.org forumlarını açın və açıq suallar verməyə başlayın. Sadəcə nəticə verəcək "Təlimatı oxuyun" cavablar. Vikipediyanı və istifadə etmək istədiyiniz müxtəlif vasitələr üçün təlimatları oxumağa çalışmalısınız.
  • Başlamayın proqramlaşdırma öyrənməyə başlamaq üçün bir əməliyyat sistemi layihəsi. İşaretçi manipulyasiyası, aşağı səviyyəli bit manipulyasiyası, bit dəyişmə, sətir içi montaj dili və s..
  • Təsadüfi G/Ç portlarına təsadüfi bayt yazmaq kimi, pis məsləhət görsəniz, OS-ni çökdürəcək və (nəzəri olaraq) aparatınızı qovura bilərsiniz.

Tövsiyə: