İşletim sistemlerinden önce, çalışmalarını sağlamak için hangi konsept kullanılmıştır? [kapalı]


50

İşletim sistemleri bilgisayar mimarisiyle sıkı sıkıya ilişkilidir. İşletim sistemi bir bilgisayar sistemindeki tüm giriş ve çıkışlara özen gösterir. Kullanıcıları, işlemleri, hafıza yönetimi, baskı, telekomünikasyon, ağ vb. İşlemleri yönetir. Bir diske, yazıcıya, ekrana ve bilgisayara bağlı diğer çevre birimlerine veri gönderir.

İşletim Sisteminin tanıtılmasından önce,

Bilgisayar sistemlerinde çalışması için ne kullanıldı?

Bilgisayarın evriminde işletim sistemi için hangi kavram kullanılmıştır?


5
"Bundan önce, bilgisayar sistemlerinde kullanılanlar ..." - Bugün bir işletim sistemi çalıştırmamış olmanızla aynıydı. Toplu işleri, tüm bilgisayar sistemini birer birer birer birer bir kullanıcıya teslim ederek çalıştırın .
talaş


4
Bir mikroişlemci üzerinde çalışan kodu düşünün. Bir işletim sisteminde çalışmaz, ancak makine kodunu derleyen ve gerçek, fiziksel bir cihazda çalışan C kodudur (bu makine kodu "bellenime" yazıldıktan sonra). İşletim sistemleri , kaynak paylaşımı ve işlem planlaması kavramlarını kullanarak, birden fazla programın bilgisayarın tüm parçalarıyla aynı anda etkileşimde bulunmasını kolaylaştırır . Aynı şekilde, o küçük mikrodenetleyicide bir işletim sistemi de kullanabilirsiniz - ihtiyacınız olursa.
Atılım

Yanıtların çoğu I / O, programların nasıl yüklendiğini ve çevresel aygıtları ele alıyor. Ancak bu sadece işletim sisteminin amacını gizlemektedir: kaynak yönetimi ve paylaşımı ve muhtemelen çok kullanıcılı yetenek. Kabloyu tahtadan veya delikli bant veya tamburdan kod yüklediğinizde veya modern bir SD kart kullanıyorsanız, işletim sisteminin amacı değişmez.
talaş

Kağıt destesi. Delikli kağıt bant. Operatör aynı bilgisayardan beslemek için.
Daniel R Hicks

Yanıtlar:


42

Erken bilgisayarlarda bir seferde bir program koştu.

Programlar doğrudan (örneğin) içinde delikler açılmış kağıt bantlardan yüklenmiştir.

En eski bilgisayarları büyük bir açma-kapama düğmesi ayarlayarak programlayabilirsiniz.

dev:

Atlas:

Manchester:


Bugünlerde milyarlarca var olan aygıt türünü ifade etmek için "Bilgisayar" kelimesini kullanıyorum. Bu çok sayıdaki bilgisayar arasında, önemsiz derecede küçük bir sayı hariç tümü, depolanan programlara sahip dijital elektronik programlanabilir bilgisayarlardır. Asıl soru, "Bilgisayar" iş unvanına sahip kişilerin çalışma günlerini nasıl geçirdikleriyle ilgili olmadığından eminim. Bu iki bilgisayar arasında, bu cevapta ele alınmayan ilginç cihazların bir ilerlemesi var.


1
Çalıştığım donanımda ikinci anahtardaki anahtarları kullanıyorum. Aynı zamanda programları tam olarak aynı şekilde çalıştırır. Böyle harika bir resim kullandığınız için oy verin
Ramhound

en eskileri, ENIAC, kablolu değil mi? Anahtarlanmamış veya kayıtlı programlara sahip değil misiniz? Yoksa bu artık bilgisayar yüzünden değil mi ... meraklı
Rich Homolka

1
@RichHomolka: Sizin de ima ettiğiniz gibi, bir bilgisayar olarak neye önem verdiğinize bağlı. Günümüzde çoğu insan muhtemelen dijital bir elektronik programlanabilir bilgisayar anlamına geliyor. Tabii ki, örneğin, mekanik analog bilgisayarlar vardı ve en eski bilgisayarlar insanlardı (bir iş ünvanıydı). Zamanım olursa, buna cevap verecek cevabı genişletebilirim. ENIAC'ın anahtarlar ve kablolar kullanılarak programlandığına inanıyorum.
RedGrittyBrick 10:14

İşletim sistemleri oldukça erken geldi (1956 - bakınız en.wikipedia.org/wiki/GM-NAA_I/O ). Üretilen ilk seri bilgisayar yaklaşık 1954 idi
Bruce Martin

“Asıl soru,“ Bilgisayar ”iş başlığına sahip kişilerin çalışma günlerini nasıl geçirdikleriyle ilgili olmadığından eminim” - büyükannem bir bilgisayardı.
Paul D. Waite

13

Kaynak: İşletim Sistemlerinin Tarihçesi

İşletim sistemleri, kabaca on yıllara karşılık gelen birkaç farklı aşama veya nesil boyunca gelişti.

1940'lar - İlk Kuşak

En eski elektronik dijital bilgisayarlarda işletim sistemi yoktu. Zaman makineleri o kadar ilkeldi ki, programlar genellikle mekanik anahtarların sıralarına (fiş panoları) bir kerede bir bit girdi . Programlama dilleri bilinmiyordu (montaj dilleri bile değil). İşletim sistemleri duyulmamış.

1950'lerde - İkinci Nesil

1950'lerin başlarında, rutin delikli kartların girişiyle bir miktar iyileşmişti. General Motors Araştırma Laboratuvarları onların IBM 701 için 1950'lerin başında ilk işletim sistemlerini hayata . 50'lerin sistemi genellikle bir seferde bir iş yürütüyordu. Bunlara tek akışlı toplu işlem sistemleri adı verildi çünkü programlar ve veriler gruplar halinde ya da gruplar halinde gönderildi.

Kaynak: http://en.wikipedia.org/wiki/History_of_operating_systems

En eski bilgisayarlar, herhangi bir işletim sistemi olmayan ana bilgisayarlardı.

Her kullanıcı, makineyi belirli bir süre boyunca tek başına kullanıyordu ve bilgisayara, genellikle delikli kağıt kartlarında ve manyetik veya kağıt kasetlerinde program ve verilerle ulaşacaktı. Program makineye yüklenir ve program tamamlanana veya kilitlenene kadar makine çalışmaya başlar.

Programlar genellikle açma / kapatma düğmelerini ve panel ışıklarını kullanarak bir kontrol paneli üzerinden hata ayıklanabilir. Alan Turing'in Manchester Mark 1'in ilk makinelerinde bunun ustası olduğu söyleniyor ve zaten bir işletim sisteminin ilkel anlayışını Universal Turing makinesinin ilkelerinden alıyordu.


10

Bilgisayar sistemlerinin başlangıcına dönersek, tek bir bilgisayar sisteminiz yoktu, bunun yerine ana bilgisayarlarınız vardı.

görüntü tanımını buraya girin

Bu ana bilgisayarlar, programınızı (ve genellikle verilerinizi) içerecek delikli kartlarda çalışır. İnsanlar bu sistemlere zaman ayırır, kartlarını getirir ve işlemesi için makinelere takarlar. Makine programı bitinceye kadar çalıştırır ve bir sonraki kullanıcı kaseti ve kartlarıyla birlikte gelirdi.

Temelde bu şekilde çalıştı.


4
Yani burada "işletim sistemi" ... kullanıcılar için zamanlamayı kim yapıyor?
Kyle Strand

2
Demek istediğim, cevabınız aslında "Ne Kadar Açıkça Konuşan İşletim Sistemleri çok uzun zamandır bir biçimde veya başka bir süredir var" derken ne demek istediğinizi açıklamıyor. Ana karelerin temel bir tanımını sağlarsınız, ancak bu ana karelerin "işletim sistemleri" dediğimiz şeye uzaktan benzer bir şeyleri olduğu açık değildir.
Kyle Strand

3
Ne söylemeye çalıştığınızı biliyorum, ancak bu açıklamada çok rahat değilim, yukarıdaki ana makinenin tam tanımını karşılayan, ancak gerçekten de bir işletim sistemi içeren ana bilgisayarlarda çalışacak kadar yaşlıyım. Resminizdeki ana bilgisayar muhtemelen OS / 360 veya MVS'nin eski bir sürümünü çalıştıran 1970'lerin IBM ana bilgisayar (/ / 360 veya s / 370?) Olacaktır.
Rob Moir

2
"Delikli manyetik kartlar" diye bir şey yoktur . Bir "ana bilgisayar" fotoğrafınız, Hollywood'un ve meslekten olmayanların bilgisayar hakkındaki vizyonunu elinde bulunduruyor: mag bant taşıyor.
Talaş

1
Burada bir kaç yanlış ifade var. @ Sawdust'ın dediği gibi, delikli kartlar manyetik değildi. Ayrıca, delikli kartlar genellikle programınızı ve verilerinizi içerir; veya programınız kağıt üzerinde (delikli) bir bant üzerinde olabilir. Mag kaset makaraları çok sonraydı. Bundan önce, programlar RedGrittyBrick'in cevabında gösterildiği gibi panel anahtarları aracılığıyla ya da bilgisayarı bir panel üzerinden yeniden bağlayarak yüklenmiştir. Peder, Oğul ve Co'nun ilginç ve bilgilendirici tarihini buldum .
Stephen P

6

1890-1950 - Sisteme özgü çalışma En eski bilgisayarlarda, bir işletim sisteminin şimdi içine yerleştirilenlerle aynı olduğu görülmüştür. Siz (operatör) aynı zamanda işletim sisteminin de bir parçasıydınız. Kayıt anahtarlarını (veya bir delikli kart kullandı) ve fiziksel olarak değiştirilmiş veri yolu kablolarını (eski moda telefon operatörü istasyonunu düşünün) çevirdiniz ve bellek doğrudan (ampulün (günün monitörü)) ve yazıcılarla (fiziksel kablolar aracılığıyla) bağlandı uzun süreli saklama) program çıktısının aydınlanıp doğrudan aygıta, çıktı bellek arabelleğine yerleştirildiği şekilde yazdırılacağı şekilde. Bunlar için gerekli bir şoför yoktu, çünkü (bu fiziksel tellerin çalıştırılmasından dolayı) 'sadece işe yarıyorlardı' (bugünlerde bir monitör olarak böyle bir şey de yoktu). Aslında, dijital çağda bir dijital ekran icat edilinceye kadar bu çağda hala birkaç on yıl olacaktı, böylece kayıt defterine daha önce girdiğiniz sayıları ve çıktıyı ondalık sayılar olarak görebiliyordunuz; matbaacılar izleyene kadar bu dönemi yönetti. Doğru çalışması için tam olarak ihtiyaç duydukları şekilde kablolandılar. Bu bölümün hiçbiri mekanikten (1890'lardan) elektrik analoguna (1910'lardan) dijitale (1930'lardan) geçişle pek değişmedi. Bu 'Tak N oyun' mimarisi bu süre zarfında kesme sistemiyle değiştirildi ve doksanlı yılların sonlarına kadar tekrar yüzeye çıkmazdı; Tabii ki o zaman çok daha az takma olurdu. Kesintilerle cihazların CPU zamanı almasına izin verildi ve bu da kullanılmayan mimarilere izin verdi. t donanıma doğrudan bağlı, ancak bunun x86 kemerinde (ve daha yenisinde) gördüğümüz düzenli süreç olması için birkaç nesil sürdü; ilk sistemler genellikle korkunç yarış koşulları, donanım uyumluluğu \ gecikme problemleri ve kesintilerin söz konusu olduğu diğer garip davranışlarla karşılaştı. Çünkü her makine bu dönemde radikal olarak farklı (deneysel) mimariler kullandı; neredeyse tüm aygıtlar üzerinde çalıştıkları makine için özel olarak üretildi.

1950-1973 - Bir sistem içinde çalışma Bu çağ, gerçek bir işletim sistemi hakkında konuştuğumuzda düşündüğümüz özelliklerin çoğunun ortaya çıktığını gördü. Hata ayıklama, programlama dilleri, çoklu kullanıcılar, çoklu görevler, terminaller, disk tipi sürücüler, ağ iletişimi, bileşenlerin standardizasyonu vb. Hepsi bu dönemde tanıtıldı. Bu sefer, bunun çoğunun standardizasyonuna doğru büyük bir sıçrama gördü, bu da daha fazla standartlaştırılmış cihazlara sahip olduğumuz anlamına geliyordu; ancak her bir işletim sistemi için her bir işletim sistemi el yapımıydı; . Bu süre zarfında, bir işletim sisteminin ne olduğu konusunda önemli bir gri alan vardı, çünkü farklı mimariler bir şeyi farklı şekilde ele alıyordu ve daha genel amaçlı bir makine aynı işleri yürütmek için donanım içeren bir makineden çok daha fazla işletim sistemine ihtiyaç duyuyordu. Gerçek şu ki, donanım her zaman yazılımdan daha hızlı olacak ve pratik olarak yazılımda yapılan her şey teorik olarak donanımda yapılabilir (bu, neredeyse her şeyden neredeyse saf donanım sürümleri yapmamızı kısıtlayan, maliyet \ esneklik \ boyut \ zaman \ zamandır vb. gün). Belirli bir bilgisayar veya bilgisayar türü için bir işletim sistemi yapıldı; başka bir yerde çalışmayacaktı. Her yeni bilgisayar tasarımında, tüm düşük seviyeli işletim sistemi yazılımlarının sıfırdan belirli bir makine modeliyle çalışmak üzere yeniden yazılması gerekiyordu. Bu sürenin sonuna yaklaşırken, kısa süre sonra bu paradigmayı değiştirecek yeni bir işletim sistemi ortaya çıktı, UNIX, Bell Thompson’da Ken Thompson ve Dennis Ritchie tarafından yazılmıştı.

1973 - Sistemler arası işletim Tek bir program bunların hepsini değiştirdi, ancak UNIX değildi. C derleyicisiydi (Bell Labs tarafından kesildikten sonra Ken Thompson ve Dennis Ritchie tarafından ünlü bir garajda yapıldı). Bu noktaya kadar, kod yazdığınız her zaman ya makine koduydu (makinenin doğrudan anladığı ama taşınabilir olmadığı kod) ya da kodunuzu bayt koduna derleyen bir dilde yazılmıştır (kod, başka bir program tarafından olduğu gibi yorumlanmıştır). koşar). C'nin beraberinde getirdiği işletim sistemleri için en büyük fark, makine koduna çapraz derleme olarak bilinen şeyi yapma yeteneği idi. Bu, kodun bir kez yazılabileceği ve derleyiciye o makine için yazılmış olduğu sürece birçok farklı makine tipinde çalıştırılmak üzere derlenebileceği anlamına geliyordu. İşletim sistemleri makine kodunda yazılmalıdır, çünkü makine kodu tam anlamıyla makinenin bildiği tek koddur.

Ken ve Dennis'in UNIX çekirdeğini ilk kez modern anlamda gerçek bir işletim sistemi doğmuş olan bir C derleyicisi kullanarak derleyene kadar olmadığını söyleyebilirim. Bundan önce, bir işletim sistemi ya fiziksel bir nesne ya da belirli bir makine için özel olarak tasarlanmış önceden başlatılmış bir bellek alanı parçasıydı. Sisteme yeni cihazlar eklemek, kelimenin tam anlamıyla 'çekirdek' kodunun yeniden yazılmasını gerektiriyordu. Şimdi, belirli bir makine için tasarladıkları UNIX OS, HER ŞEYİ yeniden yazmadan yeniden derlenebilir ve diğer makinelerde çalıştırılabilir (bu makine, önyükleme ortamından bir C derleyicisini derleyebildiği sürece, işletim sisteminin geri kalanı, nispeten yüksek seviye C kodu).


1
Birisi OS \ 360 un UNIX’ten önce geldiğini söyledi. Bu aynı zamanda doğrudur, ancak o günün diğer işletim sistemlerinde olduğu gibi, çalıştırdığı her bir makine modeli için elle kodlanmıştır.
krowe

1
Birisi FORTRAN'ın da derlemeyi geçebileceğinden bahsetti. bu doğru, ALGOL de (C'nin öncülü), ama C, bağımsız bir işletim sistemi kurmak için ilk açılışta C oldu.
krowe

1
Ken ve Dennis, UNIX çekirdeğini ilk derleyene kadar ... modern anlamda gerçek bir işletim sistemi doğdu ..” OMG. Bu sitede daha az doğru kelimeler nadiren yazılmıştır. Bu açıklamanın uzaktan doğru olduğu bir anlam yoktur.
RBarryYoung

1
ayrıca MULTICS'i (ve BCPL'yi) görmezden geliyor
Francis Davey

Yukarıda UNIX ve C'nin önceliği hakkında listelenenlerin çoğu, özellikle de UNIX ve C'nin OS'lerin tarihinde neden bu kadar önemli olduğu konusunda yanlıştır . Bu (ve diğer AT & T, teknoloji çok) olduğu anlamına AT & T karşı gerçekleşen 1974 Rıza Kararı için, hemen hemen tamamen, nedeniyle serbest , kaynak kodu da dahil olmak üzere . Bu nedenle, gerçek olan "ilk" ler , tüm kaynak kodları da dahil olmak üzere tamamen ücretsiz çalışan ilk işletim sistemi ve düşük seviye derleyicidir. Rakipleri dürüst bir şekilde vermiş olduğu avantajı kabul etmeden önce, 10-20 yıl boyunca işgal edeceği yalnız bir pozisyon.
RBarryYoung 12:14

3

Başlangıçta, programlar bilgisayara bağlandı, bu da programı açılışta hemen belirli bir konumdan çalıştırmaya başlayacaktı.

Sonra çeşitli çevrimdışı depolama biçimleri icat edildi: delikli kartlar, teyp, davullar, hatta diskler. Çok daha esnek. Ancak doğrudan CPU'dan erişilemiyor. Programın çalıştırılabilmesi için önce belleğe yüklenmesi gerekiyor. Yani programınızı yüklemek için bir program yazıyorsunuz. Bu, bir yükleyici veya önyükleme ("önyükleme kayışlarınızla kendinizi yukarı çekmek için" ifadesinden) olarak bilinir .

Sistem daha karmaşık hale geldikçe, daha basit bir yükleyici yükü, daha karmaşık bir yükleyici olabilir. Bu mikrobilgisayarlarla başladı: normal bant yükleyici yavaştı, bu nedenle bir dekompresör yükleyin ve bantın geri kalanını hızlı bir şekilde yükleyin. Veya diskte standart olmayan şeyler yaparak kopya koruma sistemleri olarak ikiye katlanan disk hız yükleyicileri.

Veya UEFI öncesi PC önyükleme işlemi: işlemci BIOS'ta çalışmaya başlar. Bu, ilk kesimi diskten yükler ve atlar. Bu, aktif bir bölüm arar ve oradan işletim sistemini yükleyen bir önyükleyici yükler. Başlangıçta bu MSDOS için COMMAND.COM olurdu; Şimdi genellikle Windows için NTLDR.EXE var.


3

Erken donanımda (1960'tan önce) G / Ç'nin daha basit olduğu belirtilmelidir. Her biri tek bir komutla bir kart okuyabilir, bir kartın üstüne atabilir veya yazıcıya bir satır yazdırabilirsiniz: arabellek boyutu sabitlendi ve genellikle arabellek adresi de düzeltildi.

60'ların başında bile, daha karmaşık işlemcilerle (örneğin 7090), her programa kolayca kopyalanan küçük bir rutinde (yaklaşık 20 talimat) kartları okuyabilir veya delebilirsiniz.

Bilgisayar tamamen tek bir işe tahsis edildiğinden, kart okuyucunun bir sonraki kartı okumaya hazır olmasını beklerken işlemcinin boşta olması ya da satır yazıcısının bir sonraki satırı beslemesi önemli değildi.

Sorun değil, çünkü hesaplama zamanı aslında pahalıydı. Bu yüzden insanlar çoklu işlem, zaman paylaşımı, zaman uyumsuz G / Ç eklenmiş ve aygıt sürücüleri ile işletim sistemlerini kesmiş ve icat etmişlerdir. Donanım aygıtı arayüzleri, programcı için, aygıt sürücülerinden daha fazla karmaşıklık gerektiren daha düşük seviyeli I / O kayıtlarına erişim sağlayan daha karmaşık hale geldi. Bu karmaşıklık maliyeti (bellek, programlama süresi), işletim sistemi tarafından çoğullanan "aynı anda" aygıtlarını kullanarak birkaç program üzerinden itfa edildi.

Yine 80'lerde, bu eski sistemlerden birini taklit eden mikro işlemci tabanlı bir bilgisayar kullanıyordum. Makine talimatları 80 bitin (10 oktet) üzerinde tek biçimli bir biçime sahipti ve ilk sabit diskin birinci bölümünü okuma ve onu 0 adresindeki belleğe saklama talimatı çok uygun bir şekilde: 0000000000 idi. bu talimatı, 0 adresinde saklayan ve uygulayan terminale yazmak ve ardından önyükleme kesimini yükleyip bir sonraki komutta (adres 10'da) yürütmeye devam etmek. Dosya sistemi, el ile tahsis edilen sektör aralıklarına "isimleri" gösteren statik bir tablo eşleme dosyasından oluşuyordu! G / Ç, bu dosyalara, sektörleri doğrudan okuyarak veya yazarak, dosyanın kurtardığı sabit diskteki dosyanın konumu ile dengelenerek yapıldı.


2

Daha geniş kişisel kullanım için tasarlanmış ilk nesil bilgisayarlar ROM'da “Monitör” olarak adlandırılmıştı (salt okunur bellek).

Başlatmadan hemen sonra, monitör, teyp gibi veri deposundan program yüklemek ve yürütmeyi başlatmak için çoğunlukla sınırlı bir komut satırı arayüzü sağladı (nadiren ihtiyaç duyulurken manuel kod girişi için birkaç komut daha mevcuttu). Aynı anda yalnızca bir program çalıştırabilirdi.

İşletim sisteminden farklı olarak, Monitor herhangi bir dosya sistemi desteğine sahip değildi. İnsan operatörü, doğru bandı bulmak, kayıt cihazına koymak ve yüklemek için gereken programın başlangıcında konumlandırmaktan sorumluydu.

Hem BIOS hem de işletim sisteminin birleşik işlevlerini izleyin ve zaten çok net bir yazılımdı.

Açtıktan sonra, kısa "sıfırlama" sinyali, program sayacını diğer herhangi bir sayaçla aynı şekilde sıfırlıyordu, aynı zamanda bellek eşleyicisini (varsa), 0000 adresini Monitör ROM'uyla eşlemek için değiştiriyordu. Daha sonra Monitor'ün yüksek adres alanına yeniden takılması için bazı donanım devrelerinin bulunması yaygındı. Kod başlatmanın dışında, "Reset" (Sıfırla) düğmesi de çalışan programı sonlandırmak için kullanıldı, böylece başka biri yüklenebildi.

İlkel "reset" butonu bazı masaüstü bilgisayarlarda bu günlerde bile bulunabilir.


Bu, ev kullanımı için ilk (veya ikinci) nesil "kişisel bilgisayar" için geçerlidir. Onlar var olmadan önce, ortaokullardaki öğrenciler, farklı çalışan ancak yine de "daha geniş kullanım için tasarlanmış" olacak olan zaman paylaşım bilgisayarlarına uzaktan erişebiliyorlardı. İlk nesil ev bilgisayarı, Altairs ve Heathkitlerin hepsinin komut satırı monitörleri olduğundan emin değilim.
RedGrittyBrick

0

İşletim sistemine en doğrudan öncül olan, aygıtlarla arabirim oluşturmak için standart kitaplıkların bir araya gelmesi ve belleğe getirilen ve çalışmaya başlayan bir programın başlatılması için önyükleyici yükleyici sisteminin birleşmesiydi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.