İŞLETİM SİSTEMİ YAPMAK


(Akın Özkan) #1

Merhaba. 7. Sınıf öğrencisiyim. Biraz (çok az) yazılım biliyorum. Kendi işletim sistemimi yapmak istiyorum. Nasıl yapabilirim?


(Ebubekir Bastama) #2

Yapamassın birincisi asm,asmbly dillerine sahip olmanız gerek


(Mesut ALF) #3

İyi günler;

Yapamazsın biraz ağır biryaklaşım olmuş, yapamazsın demeyelim de çok mantıklı olmaz diyelim. İşletim sistemleri gerçekten çoook uzun uğraş ve derinlemesine bilgi gerektirir.

Gerçekten ilginiz varsa size bir yol çizelim:

  • Öncelikle kendi ana diliniz ve yabancı dilinizi çok çok iyi seviyelere getirmeniz gerek. İstediğiniz alanda kaynaklarınız maalesef yabancı olacaktır.

  • Mühendislik temeli olan dersleriniz (Matematik özellikle) çok çok iyi olmalı. Çünkü matematiğiniz iyi olmadan çok fazla bir şey beklemek doğru olmaz. (Oynadığımız oyunların temelinde ağır matematik ve fizik vardır bu arada.)

  • Güncel bir programlama dili ile basitten başlayarak karmaşığa doğru kodlar, basit problemler çözmeniz gerekmekte.

Kabaca bu, ama dikkatinizi çekerim kodlama en sonda. Kodlamaya elbette çalışın ama temel olan derslerinizi çok başarılı bir şekilde anlamanız şu an için daha önemli.

Şahsi görüşümdür. Katılan olabilir ya da herkes böyle düşünmeyebilir.


(Ebubekir Bastama) #4

Bence ağır olmadı çok az yazılım bilgim var diyor. Sorusunun cevabı yapamazsın fakat sorusu şu da olabilir pardus gibi debian giydirme yapabilirmiyiz ise yapabilirsin biraz araştırma yapman gerek cevabını verebilirim.


(Yusuf) #5

Bence işletim sistemi kodlaması kadar ileri düzeyde bir işe soyunmak yerine ufak çaplı kodlamalar yapmaya başlayabilir, en azından denemesi lazım, ben bu işi yapabilirim demesi lazım, tabiki işletim sistemi mevzusu kolay bir mevzu değil


(Akın Özkan) #6

Ben öğreneceğim ve sonra kodlayabie-leceğime inanıyorum. Ama yinede cevap için teşekkürler.


(Akın Özkan) #7

Cevap için teşekkürler. Yapabileceğime inanıyorum ve ben cmd mantığını biraz biliyorum. Cmd ile biraz biraz kodlama yapabiliyorum


(Akın Özkan) #8

İkinize de teşekkürler!

Biliyorum. Benim matematiğim çok iyidir ve yazılım mantığının araştırdığım kısmını kısa bir zamanda çözdüm. Teşekkürler.


(Emin Fedar) #10

Bu azmini ve ruhunu kaybetmemen yeter bence.

Şimdi olmasa bile bu amaca koşan birisi elbet sonuca ulaşır. “Yapamam” diyip yolda yürümeyi bırakmakta ise hiç ihtimal yok.

Bu arada sana sevindirici bir haber, Bilgisayar Mühendisliği bölümünün öğretim programı çerçevesinde üniversitelerde (çoğunda) “Operating Systems” yani “İşletim Sistemleri” dersi mevcut.

Üniversiteye kadar bekleyemem diyorsan MIT veya benzeri üniversitelerin internette yayınladığı ders videoları var. Üniye gitmeden de oradan izleyebilirsin

O da zor gelir ise harika bir anlatıma sahip olduğunu düşündüğüm “Crash Course” YouTube kanalının “Computer Science” serisini izleyebilirsin. (Tabi bunlar hep İngilizce ama olsun, bunları izlemek için ingilizceyi de öğrenmiş olursun hem :))

Bu seri sana elle tutulur bir işletim sistemi yapmayı sıfırdan öğretmese de işin temelini öğreteceği için, ileride gerekli araçları elde ettiğinde kendin kolaylıkla yapabilirsin. İş mantığını kavramak ve sisteme dökmekte, kod yazmak kolay :wink:


(Emin Fedar) #11

Mümkünse beni githubdan ekle. Sana zevkle destek olmaya çalışırım.

Kullanıcı adım: eminfedar
Mail adresim: eminfedar@gmail.com

Her zaman her sorunu yazabilirsin :slight_smile: sevgiler ve başarılar dilerim.


(Enis Mikdat ÖZKAYA) #12

Aslında bu yaşında başlaman çok güzel çünkü bende 8.Sınıf öğrencisiyim ve bir sürü program yazdım. Bu olay biraz diğerlerine göre havalı oluyor eğer fazla egolu olursan yolunu kaybedersin. Ben 7 yaşımda vb.net i sonra pythonu ardındanda C# öğrendim şuanda da assembly üzerinde çalışıyorum sanal işletim sistemi yaptım fakat normal bir işletim sistemide yapmak istedim ve çok uğraşıyorum. Eğer böyle bir hayalin varsa CMD yi bence unut, bilmektede fayda var ama bu işler cmd den çok daha fazlasını gerktiri. BAŞARILAR


(Akın Özkan) #13

Bunları söylediğin için çok teşekkür ederim.


(Akın Özkan) #14

Teşekkürler.
benim github- adresim: afacan_ben11@hotmail.com


(Serkan Gündoğdu) #15

Yapabileceğine inan inandığın yolda durmadan ilerlemeye çalış sıfırdan yapamazsan bile pardus gibi yerli ve milli sitemlere destek verebilirsin. Tebrik ederim hayal etmek yolun yarısı


(özgün) #16

Merhaba @AKIN1,

bir iki not da ben düşmek istedim.

Altın Kural: Pes etmek yok! Işletim sistemi yapmasan bile, çok şey öğrenmiş olursun. Vaktin bol o yaşlarda nede olsa :wink:

Not: Benim iyi bildiğim bir alan değil! Başlangıç için bir kaç ipucu ve başlangıç noktası olur dedim. Eklemeler yapabilirim. Umarım işine yarar.


Işletim Sistemi (IS): Genel Bakış:

  • IS’lerin ana dili “makinece” dir. 0 ve 1 (binary).
  • IS’ler yazılım ve donanımı idare/kontrol eder ve aralarında “köprü” kurar. Yani, donanım/yazılım konularını iyi bilmek gerek.

Ne lazım (başlangıçta):

  • Analitik düşünce (gerekli)
    Makineler düşünemez (~şu an). Çözüm olacak, makinenin çalıştırabileceği bir Yazılımı/Konsepti sen oluşturmalısın. Yani, mantıklı düşünmek, sebep/sonuç ilişkilerini “görmek”, uygun çözümleri geliştirmek ve benzeri bazı yetenekleri geliştirmen gerek; Antrenman ile oluyor ama uzun sürebilir.

  • Matematik (Şart, üst seviye):
    Bilgisayar salt veri görür (sinyal == 0|1). Mesela, bir resim bilgisayar için milyonlarca sayıdan oluşan bir “salata” dır. Sen bilgisayara resim deki cismin bir köpek veya bir vazo olduğunu nasıl “söyleyeceksin”? Matematiksiz olmaz. Matematiğin ne kadar iyi ise, iyi bir “programlayıcı” olma şansın da o kadar iyileşir diyebilirim.

  • Ingilizce (Şart, üst seviye):
    “Teknik dünya” da hemen hemen tek geçerli dil diyebiliriz herhalde. Beyen beyenme ne yazıkki böyle. Iyi ingilizce bilmiyorsan, (yakın) bir yerden ileri gidemezsin.

  • Computer Science/Engineering (Bilgisayar Bilimi/Mühendisliği) (Şart, üst seviye):
    Yazılım dilleri nin kurallarını bilmek kesinlikle yetmez. Bir programı tasarlamak için gerekli birçok bilgi edinmen gerek. Temel olarak bu bilgiler Computer Science (Bilgisayar Bilimi) veya Computer Engineering (Bilgisayar Mühendisliği) başlığı altında toplanmıştır.
    Not: Bilgisayar Bilimi/Mühendisliği nin dallarına göre, ağırlık verdiği konular farklı olabilir.


Anahtar kelimeler:

Computer Science/Engineering (Bilgisayar Bilimi/Mühendisliği)

  • Computer Engineering Disciplines
  • Computer Architecture
  • Software Engineering
  • Computer System Design

Bilgisayar Bilimi (BiBi :slight_smile: )

  • I/O-Management
  • Memory-Management
  • Process-Management: Threads, Concurrency, Sheduling

Matematik

  • Algorithms and data structures
  • Computational mathematics
  • Computer arithmetic/algebra
  • Mathematical logic
  • Boolean algebra
  • Binary arithmetic

Yazılım:

  • Programming Concepts/paradigms
  • Assembly, C/C++
  • Parallel Programming

Donanım:

  • CPU (Central Processing Unit) (Merkezi işlem birimi)
  • Computer Hardware (Bilgisayar Donanımı)
  • Motherboard (Anakart) ve Memory-/Graphic-/Sound-/Network-Card (Bellek-/Grafik-/Ses-/Ağ-Kartı)
  • Keyboard, Mouse, Microphone, Webcam, Scanner, … (Klavye, Fare, Mikrofon, Kamera, Tarayıcı)
  • Monitor, Printer, Speaker, … (Monitör, Yazıcı, Hoparlör)

Arama motoru kombinasyonları:

  • “computer science” “os design”
  • “operating system concepts” -silberschatz
  • “operating system engineering”
  • “operating system definition”
  • “computer engineering disciplines”

Bağlantılar:

Forum konuları:

Makaleler:

App’lar:

  • Tübitak Bilimgenç App
    İlginç ve güncel konuların ele alındığı popüler bilim yazıları, bilim dünyasından son gelişmeler, merak edilen ilginç soruların cevapları, uluslararası alanda bilime katkı sağlayan başarılı bilim insanlarımızın yaşam öykülerinin ve araştırma konularının yer aldığı söyleşiler ve daha fazlası…

Vidyolar:

Kitaplar:

Projeler:

  • LFS (Linux From Scratch)
    Kendi Linux Sistemini sıfırdan yap.
    LFS is a project that provides you with step-by-step instructions for building your own custom Linux

  • How to Make a Computer Operating System in C++
    C++ kullanarak kendi IS’ni sıfır dan yapmak. Kaynak-Kod dahil!

  • CSD (İşletim Sistemi Projesi) (Türkçe)
    CSD, C ve Sistem Programcıları Derneği (CSD) tarafından geliştirilmekte olan 32 bit, çokişlemli … bir işletim sistemi geliştirme projesidir.
    CSD, GNU lisansı (GPL) altında geliştirilmekte olan açık bir sistemdir.
    CSD’nin çekirdeği bir Linux türevi değildir. Ancak Linux sistemlerini büyük oranda destekleyecek biçimde geliştirilmektedir…


(Emin Fedar) #17

@ozgun Harika, elinize sağlık.


(Bülent Ergün) #18

Vazgeç bu sevdadan kardeş. Hazır olan işletim sisteminin tadını çıkar. :slight_smile:


(system) kapatıldı #19

Bu konu son cevaptan 30 gün sonra otomatik olarak kapatıldı. Yeni cevap girilmesine izin verilmiyor.