İlk işletim sistemi nasıl yazıldı?

Tam ismini öğrenebilirmiyim?

Orada da anlatılan şey genellikle yukarıda söylediğim şeylerin hemen hemen aynısı, Assembly mantığı üzerinden anlatımlar yapılıyor diye biliyorum.

Yani iki satır yukarıda söylediklerimden fazlasını alamayacaksındır muhtemelen belgeselden.

Bills brain
 
İlk öncelikle yanlış olabilir.

İnsanlar program dillerine mantığı öğretti. Yani program dillerine biz öğrettik. Biz öğrettiğimizi kullanıyoruz.

Mantık demişken 0 ve 1 sayılarından bahsediyorum.

Makinelerin ne yapmasını biz söyledik ve onlar yaptılar. Onların yapmasını sağlayan parçalar var.
O parçaları da biz yaptık.

Yani sonuç olarak onların ne yapacaklarını biz öğrettik ve elektronik devre parçaları yaptı.

Siz makinelerin yapımı veya işletim sistemlerini merak ediyorsanız. İnternette bolca kaynak var.

Biraz elektriğin, bilgisayarların, programlama dillerin tarihçelerini araştırın. Gerçekten bunlar güzel şeyler.

Ben bildiğimi söyledim. Yanlış biliyor olabilirim. Eğer yanlış biliyorsam söyleyin. Lütfen ben de öğreneyim.


Ben o belgeseli seyretmedim.
 
Başta bilgisayarlar oda büyüklüğündeydi. Bunun sebebi kodların sadece 0 ve 1lerden oluşması. İlk kodlar fiziksel ortamda yazılıyorlardı. Yani bir program yoktu. Ben araştırmalarımın sonucunda bunları gördüm.
 
Şu anda günümüzde bir işletim sistemi yazmak ya da en basit programı oluşturmak için bile daha önce yazılmış programları kullanıyoruz.

C# Kullanmak için Visual Studio'ya;
Visual Studio kullanmak için Windows vb. bir işletim sistemine;
Windows işletim sistemini yapmak için C++'a
C++'ı yapabilmek için Assembly'e ihtiyaç var gibi gibi.

Peki ortada hiçbir yazılım yok iken, ortaya ilk görsel arabirim nasıl çıktı?

Bakın devrelerden bahsetmiyorum, "İf" ya da "Else" mantığından da bahsetmiyorum.

Ben o ampülün nasıl yandığından, "İf" durumunda hangi renk ya da "Else" durumunda hangi renk yanacağından da bahsetmiyorum.

O ampulün yandığını ekrana "Ampul YandıI" şeklinde nasıl yazdırdıklarından bahsediyorum.

Ortada hiçbir yazılım yok iken görsel bir arabirim oluşturarak ekrandaki pikselleri ve bilgisayarın diğer donanımlarını doğru ve sistematik bir şekilde haberleştirerek, ekrandaki pikselleri doğru bir biçimde yönetip ekrana nasıl bir şeyler yazdırabildiler?

"Merhaba Dünya..."

Sorunun cevabı, senin bahsetmek istemediğin şeyler bizzat.
Klişe olarak bilgisayar dilinin 1-0 olduğunu biliyoruz. Bu 1 ve 0 var ve yok demektir. Bütün algoritmalar bu basit prensibe dayanarak çalışırlar. Çünkü pratik evrende olasılık yoktur yani 1 ve 0 arasında olan hiçbirşey yoktur ( Kuantum hariç ). O yüzden ilk bilgisayarlar ampüllerdi ve 1-0 komutlarını veren ise bildiği elektrik anahtarı. Açık=0, Kapalı=1 10x10 kare şeklinde 100 adet klasik sarı ampülü duvara dizersen ve her bir ampüle bir anahtar bağlarsan, bu anahtarlardan istediğini açıp kapayarak duvara dizili olan ampüllerden istediğin harfi yazabilirsin. Yani hangi anahtar 1 durumunda ve hangi anahtar 0 durumunda ise duvarda ona göre bir görüntü oluşacaktır. İşte ilk bilgisayarını yaptın.

Peki şimdi bu işi biraz daha otomatik yapmak istiyorsun diyelim. A-Z arası tüm harfleri tek bir tuş ile yazabileceğin bir sistem yaratmak istedin tıpkı klavye gibi. Z harfinin oluşması için gereken anahtar pozisyonlarını bir anahtara bağlarsan ve o anahtara Z anahtarı dersen, Z anahtarına bastığında duvarda Z görüntüsü oluşur. Şimdi bir klavye ve ekranın oldu ve tıpkı klavyede yazı yazmak gibi duvardaki ekrana yazı yazabiliyorsun. Sence bu bir bilgisayara benziyor mu ?

Peki günümüz bilgisayarları bu kadar karmaşık işlemleri nasıl yapabiliyorlar? Yukarıdaki örneğin bizzat kendisiyle. Tek fark, anahtarlar yani transistörler küçültülebildi. Bunları birbirine iletken tel ile lehim yaparak bağlamak zorunda değilsin. Slikon teknolojisiyle, bir kaç santimetre karelik alana milyonlarca transistör yani anahtar yerleştirilebiliyor. İlkel örneğimizde 100 adet anahtar ve 100 adet ampül ile 1 odayı doldurabilecek bir devre tasarımı yapmıştık ve sadece 1 harflik veriyi buraya sığdırabiliyorduk. Şimdi ise bu ilkel tasarımın milyonlarca daha büyük modern varyantını bir işlemciye sığdırabiliyoruz. Tabi ekranlar içinde 100x100 piksel ekran için 1 duvar kullanıyorken şimdi milyonlarca pikseli 15 inç ekrana sığdırabiliyoruz.

Kısacası bilgisayar programlamak demek, anahtarları kodlamak demektir. Yani transistörlerin nasıl çalışması gerektiklerini programlamak. Hangi transistöre ne zaman 1 durumunda ne zaman 0 durumunda olacak bunu ayarlamak. Z harfi yazmak için 100 anahtarı tek tek açık ve kapalı olarak ayarlamak yerine 100 anahtarın durumunu da 1 anahtara bağlayabilmiştik. yani 1 anahtar ile diğer 100 anahtarı programladık. şimdi ise bu fraktal sistem milyonlarca anahtarın saliseler içerisinde yeniden programlanabilmesi şeklinde çalışıyor.
 
Sorunun cevabı, senin bahsetmek istemediğin şeyler bizzat.
Klişe olarak bilgisayar dilinin 1-0 olduğunu biliyoruz. Bu 1 ve 0 var ve yok demektir. Bütün algoritmalar bu basit prensibe dayanarak çalışırlar. Çünkü pratik evrende olasılık yoktur yani 1 ve 0 arasında olan hiçbirşey yoktur ( Kuantum hariç ). O yüzden ilk bilgisayarlar ampüllerdi ve 1-0 komutlarını veren ise bildiği elektrik anahtarı. Açık=0, Kapalı=1 10x10 kare şeklinde 100 adet klasik sarı ampülü duvara dizersen ve her bir ampüle bir anahtar bağlarsan, bu anahtarlardan istediğini açıp kapayarak duvara dizili olan ampüllerden istediğin harfi yazabilirsin. Yani hangi anahtar 1 durumunda ve hangi anahtar 0 durumunda ise duvarda ona göre bir görüntü oluşacaktır. İşte ilk bilgisayarını yaptın.

Peki şimdi bu işi biraz daha otomatik yapmak istiyorsun diyelim. A-Z arası tüm harfleri tek bir tuş ile yazabileceğin bir sistem yaratmak istedin tıpkı klavye gibi. Z harfinin oluşması için gereken anahtar pozisyonlarını bir anahtara bağlarsan ve o anahtara Z anahtarı dersen, Z anahtarına bastığında duvarda Z görüntüsü oluşur. Şimdi bir klavye ve ekranın oldu ve tıpkı klavyede yazı yazmak gibi duvardaki ekrana yazı yazabiliyorsun. Sence bu bir bilgisayara benziyor mu ?

Peki günümüz bilgisayarları bu kadar karmaşık işlemleri nasıl yapabiliyorlar? Yukarıdaki örneğin bizzat kendisiyle. Tek fark, anahtarlar yani transistörler küçültülebildi. Bunları birbirine iletken tel ile lehim yaparak bağlamak zorunda değilsin. Slikon teknolojisiyle, bir kaç santimetre karelik alana milyonlarca transistör yani anahtar yerleştirilebiliyor. İlkel örneğimizde 100 adet anahtar ve 100 adet ampül ile 1 odayı doldurabilecek bir devre tasarımı yapmıştık ve sadece 1 harflik veriyi buraya sığdırabiliyorduk. Şimdi ise bu ilkel tasarımın milyonlarca daha büyük modern varyantını bir işlemciye sığdırabiliyoruz. Tabi ekranlar içinde 100x100 piksel ekran için 1 duvar kullanıyorken şimdi milyonlarca pikseli 15 inç ekrana sığdırabiliyoruz.

Kısacası bilgisayar programlamak demek, anahtarları kodlamak demektir. Yani transistörlerin nasıl çalışması gerektiklerini programlamak. Hangi transistöre ne zaman 1 durumunda ne zaman 0 durumunda olacak bunu ayarlamak. Z harfi yazmak için 100 anahtarı tek tek açık ve kapalı olarak ayarlamak yerine 100 anahtarın durumunu da 1 anahtara bağlayabilmiştik. yani 1 anahtar ile diğer 100 anahtarı programladık. şimdi ise bu fraktal sistem milyonlarca anahtarın saliseler içerisinde yeniden programlanabilmesi şeklinde çalışıyor.

Dostum harikasın, öncelikle çok teşekkür ediyorum.

Yani diyorsun ki bir ekranda milyonlarca piksel var, ve ben klavyemden bir tuşa bastığımda ekranın ortasında, o tuşun şeklini oluşturan piksellerin yanması için, işlemci ekranın hangi X ve Y eksenindeki piksellerin hangi sırayla yanması gerektiğini monitörüme iletiyor ve ekranda klavyemden bastığım tuş beliriveriyor.

İşin özünde ihtiyacımız olan tek şey çok çok daha küçük anahtar ve çok çok daha küçük ampüllerdi.

İşin temeli bununla başlıyor. Ekranıma bir duvar kağıdı koyduğumda, o duvar kağıdında benim görsel olarak gördüğüm bir şey var, örneğin bir araba resmi.

Fakat bilgisayara göre o resim sadece 1 ve 0' ların bir kombinasyonu. O fotoğrafı bana göstermek için ekranım gerekli pikselleri doğru sıra ve renk kombinasyonuyla yakarak bana o resmi gösteriyor, ama işin özünde gördüğüm tek şey 1 ve 0

Bu durumda aslında yazılım diye bir şey yoktur, sadece donanımları istediğimiz şekilde çalıştırmanın bir yolu diyebilir miyiz? Yani aslında donanım bütün işi kendi başına yapabiliyor işin özünde, sadece bizim o işleri görmek için uydurduğumuz hayali bir alfabe gibi yazılım?
 
Son düzenleme:
Dostum harikasın, öncelikle çok teşekkür ediyorum.

Yani diyorsun ki bir ekranda milyonlarca piksel var, ve ben klavyemden bir tuşa bastığımda ekranın ortasında, o tuşun şeklini oluşturan piksellerin yanması için, işlemci ekranın hangi X ve Y eksenindeki piksellerin hangi sırayla yanması gerektiğini monitörüme iletiyor ve ekranda klavyemden bastığım tuş beliriveriyor.

İşin özünde ihtiyacımız olan tek şey çok çok daha küçük anahtar ve çok çok daha küçük ampüllerdi.

İşin temeli bununla başlıyor. Ekranıma bir duvar kağıdı koyduğumda, o duvar kağıdında benim görsel olarak gördüğüm bir şey var, örneğin bir araba resmi.

Fakat bilgisayara göre o resim sadece 1 ve 0' ların bir kombinasyonu. O fotoğrafı bana göstermek için ekranım gerekli pikselleri doğru sıra ve renk kombinasyonuyla yakarak bana o resmi gösteriyor, ama işin özünde gördüğüm tek şey 1 ve 0
Bu durumda aslında yazılım diye bir şey yoktur, sadece donanımları istediğimiz şekilde çalıştırmanın bir yolu diyebilir miyiz?

Kesinlikle. Biliyoruz ki bilgisayardaki işlemlerin büyük bölümü işlemci tarafından yapılıyor. Peki ne var bu işlemcinin içerisinde? Sihirli ya da bilinç ve zeka sahibi bir şey mi var ki bu kadar karmaşık işlemleri bu kadar kısa sürede yapabiliyor?

İşlemcilerin içindeki sihirli malzeme bildiğiniz transistörlerdir. Yani anahtar görevi gören, elektiriği açan ve kapayan yaani 1 ya da 0 diyen minik parçalar. Günümüz işlemcilerinin içerisinde milyonlarca transistör var hatta bazılarında milyarlarca. Üretim teknolojilerinde duyduğunuz 14 nanometre gibi ifadeler bu yüzden önemli. Transistörleri ne kadar küçültebiliyorsanız ve bu mikroskobik parçaları birbirine lehimler gibi düzgün pozisyonda birbirine bağlayabiliyorsanız o kadar güçlü işlemci yapabiliyorsunuzdur. Elektronik devrelerde transistörleri ya da diğer komponentleri birbirlerine bağlamak için lehim ve teller kullanırız. Bakır tel ile kalay/kurşun alaşımı metali eritir ve birbirine kaynaştırırız. Ancak bu yöntem ile mikroskobik komponentler üzerinde çalışmak mümkün değil. İşte slikon devrimi bu yüzden önemli. Bakır tel ya da kalay/kurşun alaşımları kullanmadan mikroskobik transistörleri birbirlerine bağlayabiliyoruz.

Ve çok karmaşık işlemler yapan cihazlarımızın temelde bildikleri tek şey 1 ve 0. Elektrik geçiyor mu? yoksa geçmiyor mu? Anahtar açık mı kapalı mı?

Şimdi bir işletim sistemi üzerinden bir program yazarken, işte bu transistörleri programlıyoruz. Bu işimizi kolaylaştırıyor ancak transistörleri kodlamanın tek yolu bir işletim sisteminin varlığı değil. İşimizi kolaylaştırdığı için bu şekilde yapıyoruz. Yani biz işi kolaylaştırmak için, program yazabileceğimiz bir program yazdık. Adına windows deniyor muadilleri de var.
 



Bilgi içeriyor.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı