İşletim sistemlerini yükleme aşamaları. İşletim sistemi önyükleme algoritması Bilgisayarı açın, POST, BootMonitor

Uzun zaman önce, ben küçükken, bir enstitü laboratuvarında büyük bir CM-3 bilgisayarında (ünlü PDP-11 gibi bir şey) çalışıyordum, önyükleme böyle görünüyordu. Üzerinde bir önyükleme programı bulunan kısa bir kağıt bant fotoğraf okuyucuya dolduruldu, okuma işlemi başlatıldı ve ardından ...

Gerçek şu ki, kağıt bant yavaş yavaş yıprandı, kötü okumaya başladı ve bilgisayar ilk kez başlatılamadı. Bu durumda, sürecin acı sona kadar, bazen birkaç kez tekrarlanması gerekiyordu. Şerit tamamen bozulduğunda ve makine hiçbir şekilde "canlanmak" istemediğinde, ön panelde bulunan anahtarları kullanarak geçici olarak önyükleme programına manuel olarak girmek gerekiyordu. Burada asıl mesele acele etmemek ve hata yapmamaktı.

İndirme işlemi modern bilgisayarlarda büyük ölçüde otomatikleştirilmiştir, ancak bu, onunla tanıtılmayı hak etmediği anlamına gelmez.

İşletim sistemini yüklemenin temel tanımları ve aşamaları

Bilgisayarı açma, POST, BootMonitor

Bilgisayarı açtıktan sonra işletim sistemini yüklemenin ilk aşaması BIOS'ta (Temel Giriş / Çıkış Sistemi) başlar. BIOS ayarlarında, önyükleme aygıtını veya bir dizi önyükleme aygıtını öncelik sırasına göre belirtiriz. Çeşitli önyükleme seçenekleri ve bunların kombinasyonları mümkündür: sabit disk, CD / DVD - disk, USB - flash ve diğerlerinden.

POST'u (Açılışta Kendi Kendine Sınama - açıldıktan sonra kendi kendine sınama) geçtikten hemen sonra, bilgisayar BIOS'u, bir tanesinde uygun bir özel giriş bulana kadar belirtilen önyükleme aygıtlarını teker teker yinelemeye başlayacaktır. diğer eylemler hakkında bilgi içerir.

1. seviye önyükleyici. Ana Önyükleme Kaydı

Ana Önyükleme Kaydı - Ana Önyükleme Kaydı, önyükleme depolama aygıtlarının ilk fiziksel sektörlerinde bulunur. Bir Bölüm Tablosu ve yürütülebilir kod içerir.

MBR'de depolanan programın ana görevi, diskin aktif sistem bölümünü bulmak ve kontrolü önyükleme sektörüne aktarmaktır. Bu nedenle, işletim sisteminin kendisinin henüz doğrudan yüklenmemiş olması nedeniyle bu aşama hazırlık olarak adlandırılabilir.

Bir sistem bölümünü, işletim sistemi dosyalarının bulunduğu ve işletim sistemi önyükleme işleminden sorumlu olan bir disk (depolama aygıtı) bölümü olarak adlandırmak gelenekseldir (işletim sisteminin kendisi başka bir bölümde bulunabilir). Prensip olarak, birkaç sistem bölümü olabilir, bu nedenle bunlardan biri etkin olarak işaretlenir. MBR'den yüklenen programın aradığı şey budur.

2. seviye önyükleyici. Bölme Önyükleme Sektörü

Bilgisayarı başlatmanın bir sonraki aşaması, kontrolü PBS'de (Bölüm Önyükleme Sektörü - aktif bölümün önyükleme sektörü) yazılmış yürütülebilir koda aktarmaktır. PBS, ilgili disk bölümünün ilk sektör(ler)inde bulunur. PBS kodu, bu aşamada kontrolün aktarıldığı işletim sistemi yükleyici dosyasının adını içerir.

İşletim sistemini yüklemenin ilk aşaması. İşletim Sistemi Önyükleme Yöneticisi

Orijinal Linux yükleyicisi LILO (Linux Loader) idi. Bunlardan en önemlisi Linux'ta kullanılan dosya sistemlerini anlayamamak olan eksiklikleri nedeniyle, daha sonra LILO'nun eksikliklerinin giderildiği GRUB (GRand Unified Bootloader) önyükleyici kullanılmaya başlandı.

Windows XP gibi Vista'dan önceki Windows sürümleri için Ntldr yüklenecektir. Buna karşılık, kurulu işletim sistemleri hakkında bilgi içeren Boot.ini metin dosyasındaki bilgileri okur.

İşletim sistemi çekirdeğini yükleme

İşletim sistemini yüklemenin son aşaması, işletim sistemi çekirdeğini yüklemek ve kontrolü ona aktarmaktır.

Birkaç yıl önce, uygulamamda çok komik bir olay oldu.

Bir adamın evi için bir bilgisayar satın almasına ve toplamasına yardım etmem istendi. O sırada bu yoldaş yeni emekli olmuştu ve ondan önce şef olarak çalıştı ve bilgisayarı çoğunlukla uzaktan sekreterinin masasında gördü. Emekli olduktan sonra, bilgisayarda ustalaşmak için zamanı ve arzusu vardı. Bana göre harika. Onun için ucuz ama sağlam ve o zamanlar için iyi bir monitör olan bir bilgisayar seçtik. Bazı programları kurdum ve yapılandırdım, nasıl kullanılacağını gösterdim. Beyefendi diziden bir kitap aldı” Aptallar için orada bir şey”Ve birbirimizden tamamen mutlu ayrıldık.

Yaklaşık bir hafta sonra koğuşum beni telefonla aradı ve neredeyse ağlayarak her şeyin gittiğini ve bilgisayarın artık çalışmadığını söyledi. Neyse ki, kendini kilitlemedi ve dürüstçe nasıl olduğunu söyledi. Ve bu böyleydi. Yoldaş, bilgisayarının içeriğini incelemek için tırmandı ve C: \ sürücüsünün kökünde birkaç şüpheli ve "gereksiz" dosya buldu. Yer açmaya karar verdi ve bu dosyaları sildi. Sanırım herkes bunların boot.ini, ntldr, ntdetect vb olduğunu tahmin etmiştir. Durumu düzeltmek zor olmadı, onun dışında tekrar ona gitmem gerekti.

Bu arada, Windows XP'yi önyükleme ile ilgili sorunlarla karşılaşmak için, hiçbir şeyi silemezsiniz, ancak örneğin boot.ini'yi hafifçe "düzeltebilirsiniz".

Görünüşe göre Microsoft bu durumu bir şekilde öğrendi ve işletim sisteminin bir sonraki sürümünde önyükleyici dosyalarını daha iyi gizlemeye karar verdi.

Windows Vista / 7/8 işletim sistemlerinin yüklenmesinin özellikleri

Windows Vista veya Windows 7/8'de önyükleme yöneticisine Bootmgr adı verilir. Yüklü işletim sistemlerinin listesini boot.ini olan basit bir metin dosyasından değil, özel bir yardımcı program olan bcdedit.exe aracılığıyla erişilen sistem depolama BCD'sinden (Önyükleme Yapılandırma Verileri) okur.

Ama hepsi bu kadar değil. "Bilgisayar Yönetimi" -> "Disk Yönetimi"ni açalım>

Windows Vista / 7/8'in standart kurulumu, diskin başında ek bir Sistem Ayrılmış bölümü oluşturur. Bir sürücü harfi atanmamıştır, bu nedenle ek adımlar atmazsanız bölümün kendisi ve içeriği kullanıcıdan gizlenecektir. Bu ana bölüm "Sistem" ve "Etkin" durumuna sahiptir ve bu nedenle silinemez.

Windows 7'de, böyle bir bölümün boyutu 100 MB'dir, bunun yaklaşık 30 MB'ı Windows 8'de - zaten 350 MB ve 105 MB'ı işgal edilmiştir. Bu fark, Windows 8'de "Kurtarma" klasörünün bu bölüme taşınmasıyla açıklanmaktadır.

Şimdi "Sistem tarafından rezerve edildi" bölümünün içeriğine bakalım. Bunu yapmak için, ona bir sürücü harfi atayın, örneğin "Disk Yönetimi"nde "W". Ayrıca, "Denetim Masası" -> "Klasör Seçenekleri"ni açın ve "Görünüm" sekmesinde "Korunan sistem dosyalarını gizle" onay kutusunun işaretini kaldırın ve "Gizli dosya, klasör ve sürücüleri göster" onay kutusunu işaretleyin.

FAR Manager dosya yöneticisi sistemde kuruluysa, gizli dosyaların görünürlüğünü yapılandırmadan onu görüntülemek için kullanabilirsiniz.

Windows 8'de "Sisteme Ayrılmış" bölümünün içeriği böyle görünür>

Beklendiği gibi, bölümün kökünde Bootmgr önyükleme yükleyicisini görüyoruz.

Ve "Önyükleme" klasörünün içeriğinin bir kısmı böyle görünüyor>

Klasörde, BCD önyükleme yapılandırma veri deposu veritabanını ve beraberindeki dil ve yazı tipi dosyalarını içeren klasörleri buluyoruz.

Tamlık için, hangi bölümün önyüklenebilir olarak adlandırıldığını söylemek kalır. Cevap, Windows 7'nin hacimleriyle birlikte resimde zaten gösterilmiştir. Açıkçası, bu, işletim sisteminin tüm ana dosyalarının bulunduğu bölümdür.

Eh, "her yönden" ilkesine göre disk bölümlerinin adlarını hatırlamak çok kolaydır - birinci sistemde sistem (çalışan) yoktur, ancak üçüncü seviye bir önyükleyici vardır, önyükleyici yok bir önyükleyiciniz var, ancak sistemin kendisi bulunuyor. Doğal olarak, bu "bellek" yalnızca birkaç bölüm olduğunda çalışır. Yalnızca bir bölüm varsa, hemen sistem, aktif ve önyüklenebilir olabilir.

İşletim sisteminin türüne bağlı olarak Bootmgr, Ntldr veya GRUB olan 3. seviye önyükleyicinin ana görevi, önyükleme diskinden okumak ve işletim sistemi çekirdeğini yüklemektir. Ayrıca, çoklu önyükleme durumunda, bilgisayarda birkaç işletim sistemi kurulu olduğunda, 3. seviyenin önyükleyicisi, bilgisayarı her başlattığınızda ihtiyacınız olanı seçmenize izin verir.

Microsoft'un yaptığı klasik hata, Windows XP'yi Windows Vista / 7/8'den sonra yüklemektir. Windows XP yükleyici, bölümünü etkin olarak işaretler, bundan sonra, önyükleme sırasında MBR, denetimi bu bölümün PBS'sine aktarır ve o da, denetimi Ntldr'ye aktarır. Windows XP önyükleyici, Windows işletim sistemlerinin sonraki sürümleri hakkında hiçbir şey bilmiyor ve bunları yüklemek imkansız hale geliyor. Tedavisi kolaydır ancak bu durum tecrübesiz bir kullanıcı için kafa karıştırıcı olabilir.

Buna eklenecek neredeyse hiçbir şey yok ve doğrudan önyükleme menüsünü düzenlemeye gidebilirsiniz. İle başlayalım.

10 yorum

    • Geri bildiriminiz için teşekkür ederiz. Yakın gelecekte, önyükleme hatalarını düzeltme yöntemlerinin açıklamasına belirli örneklerle devam etmeyi planlıyorum. Deneyimlerimden biliyorum ki, okurken her şey açık görünüyor, ancak pratikte iş ona geldiğinde zorluklar başlıyor.

  1. Lütfen bana tam olarak nasıl tedavi edileceğini söyle?:
    “Windows XP önyükleyici, Windows işletim sistemlerinin sonraki sürümleri hakkında hiçbir şey bilmiyor ve bunları yüklemek imkansız hale geliyor. Tedavisi oldukça kolaydır ancak böyle bir durum tecrübesiz bir kullanıcı için kafa karıştırıcı olabilir."

    XP'yi bir dizüstü bilgisayara Vista'dan sonra koydum - sonuç olarak, sistem XP yüklenmeye başlayana ve her şey yeniden başlatılana kadar başlar ve güç adaptörünün bağlantısını keserseniz (işletim sistemi yüklenirken), her şey normal şekilde açılır. Güvenli modda önyükleme yapıyorsanız, adaptörün bağlantısının kesilmesi gerekmez. Ne yenebilir ve onunla nasıl başa çıkılır?

    LÜTFEN KAYDOLUN. ŞİMDİDEN TEŞEKKÜRLER. LOMANNY RUSÇA İÇİN Üzgünüm.

    • Güç adaptörünün XP yüklemesi üzerindeki etkisi hakkında hiçbir şey söylemeyeceğim - belirli bir fikir yok. Vista önyükleme kurtarma ile ilgili olarak, bu konuyla ilgiliyse, gönderinin sonunda doğrudan bu konuya ayrılmış Microsoft destek makalesine (919529) bir bağlantı vardır. Kurtarma için bir Vista kurulum diskine ihtiyacınız olacak. Yönetici haklarına sahip komut satırında şunları çalıştırmanız gerekir:
      X: \ boot \ bootsect.exe / nt60 tümü
      burada X: optik sürücünün harfidir.
      Ancak XP yükünün bir düzenleyici kullanılarak manuel olarak eklenmesi gerekecektir. Komut seti şu şekilde olacaktır:
      Bcdedit / oluştur (ntldr) / d "Microsoft Windows XP"
      bu komut başarısız olursa, o zaman:
      Bcdedit / set (ntldr) açıklaması "Microsoft Windows XP"
      Daha öte:
      bcdedit / set (ntldr) aygıt bölümü = X:
      X: - XP önyükleyici dosyalarının bulunduğu bölümün sürücü harfi ve yolu:
      bcdedit / set (ntldr) yolu \ ntldr
      bcdedit / displayorder (ntldr) / addlast

    Dizüstü bilgisayarım vardı, yüklerken ve yeniden başlatırken Windows hemen açıldı, ancak şimdi sabit bir bilgisayar satın aldım ve indirme işlemi üç aşamada gerçekleşiyor. Bu aşamalardan nasıl kurtuluruz. Teknik terimlerin okuma yazma bilmeyen tanımı için özür dilerim.

    • Yuri! Korkarım verdiğiniz bilgiler herhangi bir tavsiye için açıkça yeterli değil. Hangi Windows ve hangi aşamalardan bahsediyoruz? Lütfen açıkla.

    Sağlık, İskender.
    Nasıl anlaşılır, önlenir ve tekrar olursa böyle bir durumdan nasıl doğru bir şekilde çıkılır.
    Not defteri. Windows-7'yi yükledim. Açtıktan ve şifreyi girdikten sonra "eksik işletim sistemi" - yani "işletim sistemi yok" çıktı. Kapatıp tekrar açmak aynı sonucu verdi. Sadece pili çıkararak ve bir süre sonra taktıktan sonra başlamak mümkün oldu.
    Ancak arifesinde yanlış bir kapatma oldu: flash sürücü ve modem daha önce ayrılmamıştı. Daha önce böyle bir unutkanlık da oluyordu ama böyle bir etki yoktu.
    Eski "çaydanlığa" verilen cevap için minnettar olurum (eğlenceli bir durumda beyefendiden on yaş büyüğüm, ama KOMP'yi yaklaşık aynı yaşta tanıdım).

    • Vladimir, merhaba. İyi tatiller ve her şey gönlünüzce olsun.
      Bu durumda, her şeyi doğru yaptınız - "sıkışmış" aksaklığı düşürdünüz.
      Şarkıda söylendiği gibi: “Bir parça yağmur henüz yağmur değil. Bir kar tanesi henüz kar değil ”. Bir daha böyle bir şeyin olmaması mümkündür. Şimdi, lansmanla birlikte düzenli sorunlar başlarsa, bunu çözmeniz gerekecek. Genel olarak, Windows 7 ve üstü, anormal kapanmalara karşı oldukça dirençlidir.
      Ne yapalım? Kendi sorunuzu kendiniz yanıtladınız - cihazları düzenli olarak kapatmaya çalışın. Ve eğer USB üzerinden harici bir sürücü bağlamak mümkünse, o zaman kesinlikle (aslında oldukça düzenli olarak yapıyorum) örneğin kullanarak sistemin bir yedeğini alırdım.

    Merhaba. Böyle bir sorunum var, sabit bir bilgisayar, iki sabit sürücü, Windows 10. BIOS açılış ekranından sonra bozuk bir pencere beliriyor, bilgisayar başlamıyor, zorla yeniden başlatmanın ardından her şey başlıyor ve her şey çalışıyor. Yani, BIOS ile disk seçimi arasında bir tür hata var.

İşletim sistemi, genellikle bir sabit diskte, daha az sıklıkla bir diskette olmak üzere harici bellekte depolanır. Bilgisayarın normal çalışması için işletim sisteminin ana modüllerinin RAM'de olması gerekir. Bu nedenle, bilgisayarı açtıktan sonra, işletim sisteminin diskten RAM'e otomatik olarak yeniden yazılması (yüklenmesi) düzenlenir. Bu indirmenin en önemli yönleri Şekil 1'deki akış şemasında gösterilmektedir. 9.13.

Pirinç. 9.13.İşletim sistemini diskten RAM'e yüklemek için algoritma

Bilgisayarı açtıktan sonra ekrandaki sayıların değişimini gözlemliyorsunuz. Bu sayılar, BIOS programında RAM'i test etme sürecini temsil eder. RAM hücrelerinde bir arıza tespit edilirse, bir mesaj görüntülenecektir.

Ekipmanın başarıyla test edilmesinin ardından, disket sürücüsü A'ya erişilir ve yanındaki gösterge lambası yanar. İşletim sistemini bir disketten başlatırsanız, test öncesinde veya sırasında sistem diskini A sürücüsüne yerleştirin. Aksi takdirde, A diskinde işletim sistemi yoksa, sonraki gösterge ışığıyla gösterildiği gibi sabit diske erişilir. ona.

Önyükleyicinin bulunduğu diskin 0. tarafının 0. sektörünün RAM'ine okuma (BOOT RECORD) başlar. Kontrol, sistem diskinde IO.SYS genişletme modülünün ve MSDOS.SYS temel modülünün varlığını kontrol eden yükleyiciye aktarılır. Belirlenen yerdeyseler (santimetre. pilav. 9.10), sonra onları RAM'e yükler, aksi takdirde yokluklarıyla ilgili bir mesaj görüntülenir. Bu durumda, yeniden başlatmanız önerilir. Yeniden başlatma sinyali, denetimi, önyükleme bloğunu diskten RAM'e vb. yeniden yazan kalıcı BIOS modülüne aktarır.

Unutma!İçin işletim sistemini yeniden başlatma hafızada, tuşlara aynı anda basın .

IO.SYS genişleticiyi ve MSDOS.SYS temel modülünü RAM'e başarıyla yükledikten sonra, COMMAND.COM komut işlemcisi yüklenir ve gerekli sürücüleri bağlamak için komutları içeren CONFIG.SYS yapılandırma dosyası işlenir. İşletim sisteminin temel sürümünden memnunsanız bu dosya mevcut olmayabilir.

Ardından toplu iş dosyası AUTOEXEC.BAT işlenir. Bu dosyanın yardımıyla işletim ortamının parametrelerini yapılandırabilirsiniz. Örneğin, bir sanal disk oluşturun, yazdırma modlarında değişiklik sağlayın, yardımcı programları yükleyin, vb.

Dikkat!.BAT uzantılı dosyalar, sistem ortamında çalışırken özel bir rol oynar. Bir işletim sistemi komutları koleksiyonu veya yürütülebilir dosya adları içerirler. .BAT uzantılı dosyayı başlattıktan sonra, içinde kayıtlı tüm komutlar birbiri ardına otomatik olarak yürütülür.

Standart adı AUTOEXEC.BAT olan dosya, içine yerleştirilen komutların yürütülmesinin işletim sistemi yüklendikten hemen sonra otomatik olarak başlaması bakımından .BAT türündeki diğer dosyalardan farklıdır.

AUTOEXEC.BAT dosyası eksikse, tarih ve saati girmeniz istenir:

enter tuşuna basarsanız, bilgisayar zamanlayıcısı tarafından belirlenen sistem parametreleri, geçerli tarih ve saat olarak alınır;

sistem tarihini ve saatini sıfırlamak istiyorsanız, komut istemine yanıt olarak, sağlanan formlardan birine değerleri girin, örneğin:

10-25-1997 (ay gün yıl)

7:30: 10,00 RUB (saat: dakika: saniye)

AUTOEXEC.BAT dosyası tamamlandıktan sonra ve bu dosya bulunamazsa, örneğin ekranda sistem diski istemi görünecektir. C: \>. Bu, önyükleme işleminin normal bir şekilde tamamlandığını ve uygulama programının adını veya işletim sistemi komutunu girerek işe başlayabileceğinizi gösterir.

Not. CONFIG.SYS ve AUTOEXEC.BAT dosyaları eksik olabilir. Bu durumda, işletim ortamı ayarları varsayılan olarak belirlenecektir.

Unutma!İşletim sistemi sabit diskte kalıcı olarak saklanmalıdır.

Bilgisayarı açtığınızda tüm disket sürücülerinin açık olması gerekir.

İndirme işlemi tamamlandıktan sonra uygulama programlarının bulunduğu disketi disket sürücüsüne yerleştirin.

Önyükleyici, önyükleme gerçekleştiren bir sistem programıdır. Birçok önyükleyici ayrıca taşıma ve bağlantı sağlar. Bazı sistemler bağlama işlevini taşıma ve yükleme işlevlerinden ayırır. Bağlantı, özel bir bağlantı programı (veya bağlantı düzenleyicisi) tarafından yapılır, taşıma ve yükleme bir yükleyici tarafından yapılır.

Bağlama, iki veya daha fazla ayrı çevrilmiş programın bağlanmasıdır.

Yer değiştirme, bir nesne programının farklı bir adresten yüklenebilmesi için değiştirilmesidir.

Önyükleyici işlevleri:

  1. OP dağılımı;
  2. programı hareket ettirmek;
  3. bağlantı modülleri;

EP dağıtımı

Bir programı taşıma

Modüllerin içinde, modülün başlangıcından itibaren hesaplanan adres sabitleri varsa, adresler Base'e göre düzeltilecektir.

Modülleri Bağlama

yükleyici türleri

Derleme-Çalıştıran Yükleyiciler

Yükleyici işlevini gerçekleştirmenin olası yollarından biri, birleştiricinin, belleğin bir bölümünde çalışan, makine talimatlarını ve verilerini doğrudan kendilerine tahsis edilen bellek hücrelerine monte edildiği gibi yerleştirdiği, montajcının çalışmasının böyle bir organizasyonu olabilir. Derleme tamamlandıktan sonra, montajcı, kontrolü ortaya çıkan programın giriş noktasına aktarır. Bu, herhangi bir ek prosedür ihtiyacını ortadan kaldıran çok basit bir çözümdür. Buna derleme-yürütme denir ve yükleyici, kontrolü birleştirilmiş programa aktaran tek bir komuttan oluşur.

Mutlak yükleyicilerin uygulanması kolaydır, ancak bir takım özelliklere sahiptir:

  • OP'yi dağıtma görevi programcı tarafından gerçekleştirilir (OP'nin başlangıç ​​değerini ayarlama yönergesini kullanarak);
  • programı taşıma görevi derleyici tarafından gerçekleştirilir;
  • modülleri bağlama - programcı tarafından karar verilir (600'ü arayın);
  • programları OP'ye yüklemek ve yürütmek için başlatmak.

Avantajlar:

  • daha küçük önyükleyici boyutu (bellek boyutu açısından);
  • modülleri işleme süresini azaltan derleme ve yükleme aşamalarının ayrılması;
  • birkaç programlama dili kullanma yeteneği, çünkü oluşturulan nesne modüllerinin yapıları aynıdır.

Dezavantajları:

Programcıya büyük miktarda iş düşüyor. Modülleri değiştirirken başlangıç ​​adreslerindeki değişiklikleri sürekli izlemek gerekir, çünkü uzunlukları değişir.

Mutlak Yükleyici Nesne Dosya Yapısı

Bilgi kaydı şunlardan oluşur:

  1. imza;
  2. bilgilerin aktarılabileceği OP'nin mutlak adresi;
  3. mesajdaki bilgi baytlarının sayısı;
  4. bayt bilgi;
  5. sağlama toplamları;
  6. numaralama.

Kontrol kaydı şunlardan oluşur:

  1. imza;
  2. giriş noktası adresi.

Basit bir mutlak yükleyici nasıl çalışır:

  1. Bu program için yeterli bellek olup olmadığını kontrol edin (ilk kaydı görüntüleme).
  2. Program gövdesinin sıralı okunması ve belirtilen adrese yerleştirilmesi.
  3. Programın yürütüleceği adrese kontrolün aktarılması.

Özel önyükleyici

Bunlardan birinde bir değişiklik yapıldığında tüm alt rutinleri yeniden birleştirme ihtiyacından kaçınmak ve ayrıca programcıyı bellek ayırma ve alt rutinlerin iletişimi görevlerinden kurtarmak için yükleyiciler geliştirilmiştir. Bu yükleyici, programda birden fazla program segmentinin ve bir veri segmentinin (ortak segment) bulunmasına izin verir. Birleştirici, her parçayı ayrı ayrı çevirir ve yükleyiciye bölümler arasındaki hareketler ve çapraz referanslarla ilgili metin ve bilgi sağlar.

Montajcının böyle bir şemaya sahip çıktısı, bir nesne programı ve bu programda çağrıların bulunduğu diğer tüm programlar hakkında bilgidir. Ayrıca yükleme sırasında değiştirilmesi gereken yerler hakkında bilgiler (hareketle ilgili bilgiler), yani. içeriği programın bellekteki konumuna bağlı olan hücreler hakkında.

Her kaynak program için, çevirici, kaynak programda erişilen alt rutinlerin adlarının adreslerini içeren bir dal vektörünün önünde çıktı bilgisi olarak metin (çeviri sonucu) üretir. Örneğin, SQRT rutini çağrılan ilk rutinse, dal vektöründeki ilk hücre SQRT sembolik adını içerecektir. SQRT alt yordamına bir çağrı içeren cümleler, SQRT ile ilişkili dal vektör öğesinin adresini belirten bir dal talimatına çevrilecektir. Montajcı, programın toplam uzunluğu ve dal vektörünün uzunluğu gibi ek bilgileri de iletecektir. Program metnini ve dal vektörünü belleğe yükledikten sonra, yükleyici vektörde belirtilen her bir alt programı yükleyecektir. Ardından, vektörün her bir öğesinde karşılık gelen alt programa gitmek için bir komut koyacaktır. Böylece, SQRT alt yordamına yapılan bir çağrı, atlama vektörünün ilk hücresine atlama komutunun yürütülmesiyle sonuçlanacaktır; bu, çağrılan alt yordama atlama komutunu içerecektir.

İki aşamalı kontrol aktarımına sahip böyle bir yükleme şeması, genellikle sabit komut formatı ve doğrudan adresleme olan bilgisayarlarda kullanılır.

Bu yükleyicinin birkaç dezavantajı vardır:

  • geçiş vektörü, harici verileri yüklemek ve kaydetmek için pek uygun değildir (başka bir program bölümünde bulunur);
  • dal vektörü, nesne programının uzunluğunu arttırır;
  • yükleyici program bölümleriyle çalışır, ancak birden çok rutin tarafından paylaşılabilen veri bölümlerine erişimi kolaylaştırmaz.

Önyükleyiciyi doğrudan bağlama

Doğrudan bağlantı yükleyici, programları ve verileri bellekte taşımak için en eksiksiz yeteneği sağlar ve şu anda en yaygın olanıdır. Böyle bir yükleyici, hem program bölümlerinin hem de veri bölümlerinin çok sayıda kullanımına izin verme avantajına sahiptir ve programcıya ayrı çeviriye izin verirken diğer bölümlerde bulunan verilere erişme konusunda tam bir özgürlük verir.

Montajcı (çevirmen), her program ve veri segmentiyle birlikte yükleyiciye aşağıdaki bilgileri iletmelidir:

  1. segment uzunluğu;
  2. diğer segmentlerden erişilebilen tüm segment sembollerinin listesi ve bunların ilgili adresleri;
  3. bu segmentte erişilen, bu segmentte tanımlanmayan tüm karakterlerin listesi;
  4. adres sabitlerinin segmentteki yeri hakkında bilgi ve değerlerinin nasıl değiştirilmesi gerektiğine dair bir açıklama;
  5. çeviri sonucunda elde edilen makine kodları ve atanan göreli adresler.

Doğrudan bağlantı yükleyicinin en basit biçimindeki dezavantajlarından biri, program her çalıştırıldığında gerekli tüm alt rutinlerin bellek tahsisi, hareket, bağlantı ve yükleme işlevlerini yeniden yürütme ihtiyacıdır. Bu sorunlar, birleştirici ve modül yükleyici olmak üzere iki ayrı programla yükleme yapılarak çözülebilir. Birleştiricinin çıktısı, programın belleğe yüklenmesine izin veren bir biçimdeki bir veri kümesidir ve bir yükleme modülü olarak adlandırılır. Birkaç çeşit birleştirici vardır. Biri, bir modülün bir bütün olarak daha sonra yapılandırılabilmesi ve bellekte rastgele bir konuma yüklenebilmesi için bir modülü bellekte taşımak için gereken bilgileri depolayan sözde bağlayıcıdır. Bu durumda, modül yükleyici, bellek ayırma ve hareket işlevlerini yerine getirmelidir, ancak nesne modüllerini ve alt rutinleri birbirine bağlama karmaşık problemini çözmekten muaf kalır.

Dinamik yükleyici

Ele alınan şemaların her birinde, gerekli tüm alt rutinlerin aynı anda belleğe yüklendiği varsayılmıştır. Rutinler için gereken toplam bellek miktarı, makinedeki kullanılabilir bellekten azsa, zorlaşır. Bu zorluklar, sıralı bir birleştirici ve yükleyici ile dinamik bir yükleme şeması uygulanarak aşılır. Bu şema, genellikle farklı zamanlarda farklı alt rutinlerin gerekli olduğu ve birbirini dışlayabildiği gerçeğine dayanmaktadır. Hangi alt yordamın diğer alt yordamlara yapılan çağrıları içerdiğini açıkça tanımlayarak, birbirini dışlayan alt yordamları belirten bir örtüşme yapısı (bindirme yapısı) tanımlayabilirsiniz.

Bir yükleme modülü oluşturuluyor. Yeniden yerleştirilebilir, bir yer değiştirme tablosu içermelidir. Ayrıca, yük modülünün yapısı, bağlantılar hakkında bilgi içermelidir. Yükleyici, bindirme yöneticisi gibi bir parça içermelidir, yük modüllerinden tam olarak başlangıç ​​olanları seçer, çalışma sürecinde gerekli modüllerin OP'ye yüklenmesini organize eder.

Dinamik bağlantı

Makinenin belleğini kullanma verimliliği için, programın yürütülmesi sırasında zaten alt rutinlerin dinamik olarak bağlanmasının gerçekleştirildiği durumlar vardır. Yani, altyordamlar yalnızca çağrıldıkları gibi belleğe yüklenir. Bu faydalı olabilir çünkü programdaki belirli koşullar altında, bazı alt programlara hiç ihtiyaç duyulmayabilir. Bir örnek düşünelim:

eğer (durum 1)
alt program çağrısı 1
eğer (durum 2)
alt program çağrısı 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
eğer (m koşulu)
alt program çağrısı m

Dalların çoğu atlanacak ve OP'ye, örneğin koşul 2 karşılanmazsa alt program 2'ye yükleme yapmanız gerekmeyecek.Bu durumda, yükleyici programla aynı anda çalışmalı ve bağlama ve bağlama işlevlerini yerine getirmelidir. yükleme alt programları

İyi çalışmalarınızı bilgi tabanına gönderin basittir. Aşağıdaki formu kullanın

Öğrenciler, yüksek lisans öğrencileri, bilgi tabanını çalışmalarında ve çalışmalarında kullanan genç bilim adamları size çok minnettar olacaktır.

V. N. Tatishchev'in adını taşıyan Volga Üniversitesi

Bilişim ve Telekomünikasyon Fakültesi

Bilişim ve Kontrol Sistemleri Bölümü

DERS ÇALIŞMASI

disipline göre: "Sistem yazılımı"

Tema: " yükleyici

Öğrenci tarafından yapılır. IS-303

Krasnoseltsev V. NS.

Öğretmen: Trubacheva S.I.

Tolyatti

Tanıtım

1. Teorik kısım

2. Tasarım bölümü

2.1 Sorunun ifadesi

2.2 Problemi çözmek için bir algoritmanın geliştirilmesi

2.3 Uygulama programını yüklemek için algoritmanın açıklaması

2.4 İşletim sistemi önyükleme algoritmasının açıklaması

2.5 LILO Önyükleme Yükleyicisini Kullanan Unix Önyükleme Algoritmasının Açıklaması

Çözüm

Referanslar

Tanıtım

Ders çalışmamın alaka düzeyi, bilgisayarların ve işletim sistemlerinin gelişiminin çeşitli önyükleyici programlarının geliştirilmesine paralel olması gerçeğinde yatmaktadır. Bazı işletim sistemleri, önyükleme yapmak için farklı önyükleyiciler gerektirir. Örneğin, çok kullanıcılı bir Unix işletim sistemi, bir LILO yükleyici ve çeşitli yardımcı programlar gerektirir. İşletim sisteminin herhangi bir şekilde yüklenmesi, hem birincil yükleyicinin hem de ikincil yükleyicinin çalıştığı RAM'i etkiler. Yükleme sırasında, yükleyicinin yükleme işlemini atladığı veya tamamladığı (bir bilgi mesajı görüntüler) çeşitli türlerde hatalar meydana gelir.

Önyükleyici, birden fazla bilgisayarın ve birden fazla işletim sisteminin onsuz yapamayacağı bir programdır.

1 . teorik kısım

Microsoft işletim sistemi önyükleme işlemi

Düşündüğümüz işletim sistemi ne olursa olsun, işletim sisteminin bilgisayarı kontrol etmeye başlaması için RAM'e yüklenmesi gerekir. Bu nedenle, farklı işletim sistemleri yükleme işleminin nasıl gerçekleştiğini ele alacağız. Yalnızca sabit sürücülerden önyükleme yapmakla ilgilendiğimiz için, disketten, CD-ROM'dan ve ağ üzerinden önyüklemenin özelliklerini dikkate almayacağız. MS-DOS ve MS Windows ile başlayalım.

Bildiğiniz gibi bilgisayarı açtığınızda ilk olarak POST (Power On Self Test) programı başlıyor. Kullanılabilir bellek miktarını belirler, test eder, diğer bileşenlerin (klavye, sabit sürücü vb.) varlığını belirler, adaptör kartlarını başlatır. Ekran genellikle bellek miktarı, testi, algılanan aygıtların listesi (disket ve sabit diskler, işlemci, COM bağlantı noktaları vb.) hakkında mesajlar görüntüler.

Test tamamlandıktan sonra POST, önyükleme aygıtını bulmaya çalışan Int 19h'yi çağırır. Arama, Kurulum BIOS'unda tanımlanan sırayla gerçekleştirilir ve ilgili aygıtların sıfır sektörlerinin yoklanmasıyla gerçekleştirilir. Disk önyüklenebilirse, sıfır sektörü Ana Önyükleme Kaydı'nı (MBR) içerir. MBR'nin son iki baytı, bu sektörün MBR olduğunu ve dolayısıyla diskin önyüklenebilir olduğunu gösteren bir "sihirli sayı"dır. "Sihirli sayıya" ek olarak, MBR, yukarıda daha önce bahsedilen disk bölüm tablosunu ve küçük bir programı - yalnızca 446 (0 * 1BE) baytlık bir hacme sahip birincil yükleyiciyi içerir.

Tablo 2.1, Windows yüklemesi sırasında oluşturulan ana önyükleme kesiminin yapısını gösterir.

Tablo 2.1 Ana Önyükleme Sektörünün Yapısı

19h Interrupt BIOS, birincil önyükleyiciyi bilgisayar belleğine yükler ve kontrolü bu programa aktarır. Ancak bu kadar küçük bir program işletim sistemini yükleyemez; tek yapabileceği, belleğe daha güçlü bir program yüklemek - ikincil yükleyici.

Bunu yapmak için, bölüm tablosunda etkin bölümü arar ve ikincil yükleyiciyi, etkin bölümün ilk mantıksal sektöründen başlayarak bulunan belleğe okur. "Başlangıç" kelimesine dikkat edin. Buradaki nokta, ikincil önyükleyicinin farklı sistemlerde farklı uzunluklara sahip olmasıdır.

İkincil yükleyici, işletim sistemini başlatmak için gereken ilk program katmanını yükler. MS - DOS durumunda, yükleyici program IO.SYS'yi 700h'de yükler, ardından MSDOS.SYS ve kontrolü IO.SYS modülünün SYSINIT bölümüne aktarır.

Herhangi bir nedenle diskte etkin bölüm bulunamazsa, önyükleme işlemi 18h kesintisi işlenerek devam eder. Bu dal bütünüyle nadiren kullanılır, ancak bazı durumlarda çok yararlı olabilir. Uzaktan önyüklemede, işletim sistemi sunucudan başlatıldığında, bu kesinti POST programı tarafından ağ kartının ROM'una yeniden yönlendirilir.

Büyük sürücülerle ilgili sorunlar

MS - DOS ve Windows'un ilk sürümlerinde disklere erişim, kesme 13 (Int 13h) BIOS üzerinden organize edildi. Bu durumda disk üzerindeki sektörlerin adreslenmesi, pist üzerindeki silindir, kafa ve sektör sayılarının (C/H/S) gösterimi esas alınarak kullanılmıştır. Daha kesin:

1) AH - operasyon seçimi;

2) СР - silindir numarasının 8 bitinin alt kısmı;

3) CL - 7-6 bitleri silindir numarasının en önemli bitlerine karşılık gelir, 5-0 bitleri sektör numarasına karşılık gelir;

4) DH - okuma kafasının numarası;

5) DL - disk numarası (80h veya 81h).

Yukarıdaki tüm kısıtlamaların yalnızca işletim sistemi önyüklemesi aşamasında önemli olduğuna dikkat edilmelidir, çünkü Linux'un kendisi ve Windows'un en son sürümleri artık disklerle çalışırken BIOS kesintisi 13'ü kullanmaz, ancak disklerle çalışmak için kendi sürücülerini kullanır. Ancak sistemin kendi sürücüsünü kullanabilmesi için en azından onu yüklemesi gerekir. Bu nedenle, önyükleme aşamasında herhangi bir sistem BIOS'u kullanmaya zorlanır. Bu, 8 GB'ın üzerindeki birçok sistemin yerleştirilmesinde kısıtlamalara neden olur, buradan önyükleme yapamazlar, ancak başarılı bir önyüklemeden sonra çok daha büyük disklerle çalışabilirler. Bu kısıtlamaları nasıl aşacağımızı anlamak için Linux'un nasıl önyüklendiği hakkında biraz bilgiye ihtiyacımız var.

Linux dağıtımından LILO önyükleyici

İkinci işletim sisteminin kurulumuna devam etmeden önce, bilgisayar önyükleme aşamasında işletim sistemi seçimini düzenlemek için bir yöntem seçmeniz gerekir. İndirici programlar bu sorunu çözer. Bu türden birkaç program var. Linux'tan bahsettiğimiz için ilk olarak her Linux dağıtımında bulunan LILO programından bahsetmek gerekir.

LILO birkaç programdan oluşur: önyükleyicinin kendisi, önyükleyiciyi kurmak ve yapılandırmak için kullanılan programlar ve hizmet dosyaları:

Linux altında çalışan / sbin / lilo programı, açılış sırasında ihtiyaç duyulan tüm bilgileri uygun yerlere yazmak için kullanılır. Çekirdekte veya LILO yapılandırma dosyasında her değişiklik yapıldığında yeniden başlatılması gerekir;

LILO'nun önyükleme sırasında ihtiyaç duyduğu çeşitli hizmet dosyaları. Bu dosyalar genellikle / boot dizininde bulunur. Bunlardan en önemlileri, önyükleyicinin kendisi ve çekirdeğin konumunu belirten harita dosyasıdır (/ boot / map). Diğer bir önemli dosya, genellikle /etc/lilo.conf olan LILO yapılandırma dosyasıdır;

Önyükleyicinin kendisi, LILO'nun bir BIOS kesintisi aracılığıyla belleğe ilk yüklenen ve Linux çekirdeğini veya başka bir işletim sisteminin önyükleme sektörünü yükleyen parçasıdır. Yükleyici ayrıca iki parçaya sahiptir. İlk kısım önyükleme sektörüne yazar ve boyut olarak çok daha büyük olan ikinci kısmın yüklenmesine hizmet eder. Her iki parça da genellikle diskte /boot/boot.b dosyasında saklanır.

LILO önyükleme sektörü, sistem kurulumu sırasında aşağıdaki konumlara yerleştirilebilir:

Linux formatında bir disketin önyükleme sektörü (/ dev / fd0, ...);

İlk sabit diskin MBR'si (/ dev / had, / dev / sda, ...);

İlk sabit diskteki Linux dosya sisteminin birincil bölümünün önyükleme sektörü (/ dev / hda1, / dev / hda2, ...);

İlk sabit diskin genişletilmiş bölümündeki mantıksal bölümün önyükleme sektörü (/ dev / hda5, ...). Doğru, fdisk gibi çoğu program, genişletilmiş bir bölümden önyüklemenin mümkün olduğunu varsaymaz ve onu aktif olarak ilan etmeyi reddeder. Bu nedenle, LILO, bu sınırlamayı atlamak için özel bir program (etkinleştirme) içerir. Ancak Linux dağıtımındaki fdisk programı, genişletilmiş bir bölümü etkinleştirme özelliğini destekler. Bunu yapmak için -b seçeneği veya BOOT değişkeni kullanılmalıdır.

LILO önyükleme sektörü aşağıdaki konumlara yerleştirilemez:

Diğer dosya sistemlerinde biçimlendirilmiş bir disketin veya birincil bölümün önyükleme sektörü;

Bir Linux takas bölümünde;

LILO'nun önyükleme sırasında aşağıdaki dosyalara da ihtiyacı olduğu gerçeğine ek olarak:

- / boot / map ( / sbin / lilo başladığında oluşturulur);

Tüm önyüklenebilir çekirdek sürümleri (önyükleme sırasında bir çekirdek sürümü seçerseniz);

LILO üzerinden yüklenecek diğer işletim sistemlerinin önyükleme sektörleri;

Yükte yayılan mesajlar (varsa)

LILO açıldığında, ekranda "LILO" kelimesini görüntüler. Bu durumda, her harfin çıktısı, LILO önyüklemesinin belirli bir eyleminin veya aşamasının tamamlandığını gösterir. İndirme başarısız olursa, görüntülenen harf sayısına göre sorunun nedenini değerlendirebilirsiniz.

Hiçbir şey çıkmıyor - LILO'nun hiçbir parçası yüklenmedi. Ya LILO kurulu değil ya da bulunduğu bölüm aktif değil

L [hata kodu] - birincil yükleyici yüklendi ve başladı (kontrol ona aktarıldı), ancak ikincil yükleyiciyi yükleyemedi. İki basamaklı hata kodu, sorunun özel nedenini gösterir. Bu genellikle ortam kusurlarından veya yanlış ayarlanmış disk geometrisinden kaynaklanır. LILO bu noktada sonsuz sayıda hata koduyla durmadıkça, sorunu çözmek genellikle kolaydır.

LI - birincil yükleyici, ikincil yükleyiciyi yükleyebildi, ancak yürütme için başlatamadı. Bu, disk geometrisinin ayarlanmasındaki bir hatadan veya /boot/boot.b dosyasının / sbin / lilo yeniden başlatılmadan taşınmasından kaynaklanabilir.

LIL - İkincil yükleyici başladı, ancak harita dosyasından tanımlayıcı tablosunu başlatamadı. Bu genellikle diskteki bir kusurdan veya diskin yanlış geometrisinden kaynaklanır.

KÜÇÜK? - ikincil önyükleyici yanlış adrese yüklendi. Genellikle disk geometrisinin ayarlanmasındaki bir hatadan veya /boot/boot.b dosyasının / sbin / lilo'yu yeniden başlatmadan taşınmasından kaynaklanır.

LIL- - tanımlayıcı tablo yok edildi. Genellikle disk geometrisinin ayarlanmasındaki bir hatadan veya /boot/boot.b dosyasının / sbin / lilo'yu yeniden başlatmadan taşınmasından kaynaklanır.

LILO - Tüm LILO parçaları başarıyla yüklendi.

Başlatma işlemi ve / etc / inittab dosyası

Bildiğiniz gibi, bilgisayarı açtıktan ve donanımın testini tamamladıktan sonra, BIOS, programın bootloader olduğu önyükleme diskinin ilk sektöründen okunur. Bu program, sistem çekirdeğini genellikle / boot dizinindeki vmlinuz-x.y.z-a dosyasında depolanan belleğe yükleyen ana önyükleyiciyi (LILO gibi) başlatır.

Önyüklenir açılmaz, çekirdek kök dosya sistemini bağlar ve başlatma işlemini başlatır. Başlatma işlemi, önyükleme işleminin devam etmesinden ve çekirdek önyüklendikten sonra sistemi birçok kullanıcıdan gelen istekleri işlemek için standart bir duruma getirmekten sorumlu programdır.

Bu işlemlerin tam listesi, çalıştırma düzeyi olarak adlandırılan şeye bağlıdır. Çalışma düzeyi, başlatma işlemi tarafından gerçekleştirilen eylemlerin listesini ve önyüklemeden sonra sistemin durumunu tanımlar, yani. çalışan süreçlerin yapılandırılması. Çalışma seviyesi tek bir karakterle tanımlanır. Linux işletim sisteminde 8 ana çalışma seviyesi vardır:

1) Sistemi durdurun;

2) Tek kullanıcı modu (özel yönetim durumları için);

3) NFS'siz çok kullanıcılı mod (bilgisayar ağ ile çalışmıyorsa 3 ile aynı);

4) Tam çok oyunculu mod;

5) Kullanım düzenlemeye tabi değildir;

6) Genellikle sistemi grafik modunda başlatmak için kullanılır;

S) (veya s) - kabaca tek kullanıcı moduyla aynıdır, ancak S ve s öncelikle komut dosyalarında kullanılır.

Her şeyden önce, başladıktan sonra, init işlemi / etc / inittab yapılandırma dosyasını okur. Bu dosya ayrı satırlardan oluşmaktadır. Satır # işaretiyle başlıyorsa veya boşsa, yok sayılır. Diğer tüm satırlar, iki nokta üst üste ile ayrılmış 4 alandan oluşur:

İD : çalışma seviyeleri : eylem : işlem

id - satır tanımlayıcısı;

çalışma seviyeleri - çalışma seviyeleri;

süreç - süreç;

eylem - eylem;

Eylem alanı, süreç alanı tarafından belirtilen komut için ek koşulları tanımlayan bir anahtar sözcük içerir. Eylem alanı için geçerli değerler:

yeniden doğma - sona ererse işlemi yeniden başlatın;

bir kez - belirtilen seviyeye geçerken işlemi yalnızca bir kez yürütün;

bekle - belirtilen seviyeye gelindiğinde süreç bir kez başlatılacaktır;

sysinit - Bu anahtar sözcük, çalışma seviyesinden bağımsız olarak sistem önyüklemesi sırasında gerçekleştirilecek eylemleri belirtir (id alanı yoksayılır).

önyükleme - süreç, çalışma seviyesinden sistem yükleme aşamasında başlatılacaktır;

bootwait - süreç, çalışma seviyesinden sistem önyüklemesi aşamasında başlatılacak ve init tamamlanmasını bekleyecek;

initdefault - eylem alanında bu kelimenin göründüğü satır, sistemin varsayılan olarak gittiği çalışma seviyesini tanımlar.

kapalı - bu öğeyi yoksay;

powerwait - Güç kesildiğinde başlatma işleminin sistemi durdurmasına izin verir.

Ctrlaltdel - Kullanıcı bir tuş kombinasyonuna bastığında init'in sistemi yeniden başlatmasına izin verir klavyede.

Bu liste ayrıntılı değil. inittab dosyası hakkında daha fazla bilgi için init (8), inittab (5) ve getty (8) kılavuz sayfalarına bakın.

2 . proje bölümü

2.1 Sorunun ifadesi

Seçilen konuyla ilgili teorik materyali incelemek, yöntemi uygularken (blok diyagramı şeklinde sunulur) önyükleyici için bir algoritma geliştirmek ve algoritmayı açıklamak gerekir.

2.2 Problemi çözmek için bir algoritmanın geliştirilmesi

Girdi: Tek İşlemcili Sistem, Uygulama Programı, LILO Yükleyici, POST Programı, Karşılıklı Dışlama.

Şekil 1, “bir uygulama programı yükleme” algoritmasını göstermektedir.

Şekil 2, "İşletim Sistemini yükleme" algoritmasını göstermektedir.

2.3 Uygulama programını yüklemek için algoritmanın açıklaması

1) Uygulama programı yürütülmek üzere başlatılır. Bundan sonra, "Loader" sistem programı etkinleştirilir.

2) Aktivasyondan sonra boş alanları bulmak için RAM'i taramaya başlar.

3) Bu tür alanlar bulunursa, serbest alan tahsisinin başlangıç ​​adresinin belirlenmesine başlanır. Daha sonra bu adrese gidip boş alanın boyutunu belirliyoruz.

4) Daha sonra çalıştırılmak üzere başlatılan uygulama programının kodunun boyutu belirlenir.

5) Kodun boyutunu ve RAM'deki boş alanın boyutunu karşılaştırın.

6) RAM'de uygulama program kodunu kopyalamak için yeterli alan varsa, sayfa tablosuna fiziksel sayfaların sanal sayfa sayısı yüklenir. Ardından uygulama kodu RAM'e kopyalanır. Ve sürecin sonu.

7) Aksi takdirde, uygulama program kodunun bir kısmı için RAM'de yeterli alan olup olmadığını öğreneceğiz. Eğer öyleyse, uygulama programının tam kodu için yeterli alan olduğunda adımları tekrarlıyoruz. Ancak kodu RAM'e kopyaladıktan sonra kodun bir kısmı takas alanına kopyalanır.

8) Kodun bir kısmı için yeterli alan yoksa, boş alanları bulmak için RAM'i tarama aşamasına geçiş vardır.

2.4 İşletim sistemi önyükleme algoritmasının açıklaması (İşletim Sistemi)

1) POST programı başlar. Bu program yardımıyla, kullanılabilir bellek test edilir, diğer bileşenlerin varlığı belirlenir (çeşitli PC cihazları, örneğin: klavye, sabit sürücü vb.) ve adaptör kartları başlatılır.

2) POST programı çalıştıktan sonra çalışmasının sonuçlarını görüntüler.

3) Önyükleme aygıtını bulmaya çalışan programa 19H diyoruz.

4) Kesinti 19H BIOS, birincil önyükleyiciyi bilgisayar belleğine yükler ve kontrolü bu programa aktarır

5) Bu programın gücünün olmaması nedeniyle, işletim sistemini yükleyin. Bu nedenle, bunu yapabilen daha güçlü bir program arıyor - ikincil bir yükleyici. Bunu yapmak için bölüm tablosunda etkin bölümü arar ve ikincil yükleyiciyi belleğe okur.

6) İkincil yükleyici, işletim sistemini başlatmak için gereken ilk program katmanını yükler. Yükleyici program, IO.SYS modülünü 700h'de yükler, ardından MSDOS.SYS, kontrolü IO.SYS modülünün SYSINIT bölümüne aktarır.

7) Herhangi bir nedenle, bölüm tablosunda diskte etkin bir bölüm bulunamadıysa, önyükleme işlemi 18h kesme işlemiyle devam eder.

2.5 İndirme algoritmasının açıklamasıUnixönyükleyiciyi kullanmaLİLO

1) Önyükleme aşamasında gereken tüm bilgileri uygun yerlere yazmak için /sbin/lilo programını çalıştırın. Önyükleme sırasında LILO'nun gerektirdiği hizmet dosyalarını arayın.

2) Dosyalar bulunamazsa, indirmenin sonuyla ilgili bir mesaj görüntülenir.

4) Birincil yükleyici ikincil olanı yükleyemezse, ekranda yükleme sırasında bir hata hakkında bilgi mesajı görüntülenir.

6) Birincil yükleyici, ikincil yükleyiciyi başarıyla yüklediyse, ancak başlatamazsa, yükleme sırasında bir hatayla ilgili bilgi mesajı görüntülenir.

7) Aksi takdirde, ikincil önyükleyici başlar.

8) İkincil önyükleyicinin doğru adreste yüklenip yüklenmediğini kontrol edin.

9) Değilse, yükleme sırasında bir hata hakkında bilgi mesajı verilir.

10) Tanımlayıcı tablonun bozuk olup olmadığının kontrol edilmesi. Evet ise, yükleme sırasındaki bir hata hakkında bilgi mesajı görüntülenir. Değilse, tanımlayıcı tablo harita dosyasından yüklenir.

11) Tanımlayıcı tablosunun başlatılmasının başarılı olup olmadığının kontrol edilmesi. Değilse, başlangıçta bilgi amaçlı bir hata mesajı verin.

12) Aksi takdirde, LILO'nun başarılı bir şekilde yüklenmesi hakkında bir bilgi mesajı çıktısı alın.

Çözüm

Bu ders çalışmasında, program yüklemenin bazı yönleri ele alınmaktadır. Yükleyici türleri: hareketli, birincil, ikincil vb. Bootloader'ın çeşitli işletim ortamlarında kullanılmasının gerekliliği kanıtlanmıştır. Bir uygulama yükleme, LILO yükleyici ile önyükleme ve işletim sistemini başlatma gibi çeşitli önyükleme yöntemleri tartışılmıştır. Konuyla ilgili teorik materyal incelenmiştir, yöntem uygulanırken önyükleyici işlemi için algoritmalar geliştirilmiştir (blok diyagramı şeklinde sunulmuştur).

Referanslar

1. Tanenbaum Andrew. Modern işletim sistemleri / Tanenbaum Andrew. - 2. baskı. - SPB.: Peter, 2002 .-- 1037s.: Hasta. - (Klasik Bilgisayar Bilimi). - ISBN 5-318-00299-4

2. Partyka, T.L. İşletim Sistemleri, Ortamlar ve Kabuklar: Ortamlar İçin Bir Eğitim Prof. Varış nehirler. MO / Partyka, T.L, Popov, I.I. - M .: FORUM: INFRA - M, 2006. - 399s .: hasta. - (Profesyonel eğitim). - ISBN 5-8199-0072-5-16-001355-5

3. Olifer, V.G. Ağ işletim sistemleri: Ders kitabı. nehir üniversiteleri için el kitabı. MO / Olifer, V.G., Olifer, N.A. - SPb.: Peter, 2003 .-- 538s.: Ill. - ISBN 5-272-00120-6

4. Trubacheva, S.I. İşletim sistemlerinde programlama: Metodolojik rehber / Trubacheva, S.I. - Togliatti: VUiT, 2006 .-- 44p.

5. Terence Chan. Unix / Ed için C++ ile sistem programlama. Kolomytsev. -Kiev, 2004.

6. Tucket D., Barnett S. Özel baskı. LINUX / Per. İngilizceden - 4. baskı. SPb.: Williams, 2003.

7. İvanova G.S. C++ programlama / Ders kitabı. Ed. M.: MGTU, 2002.

benzer belgeler

    Android sisteminin genel özellikleri, analoglarına genel bakış. Android'i kullanmaya başlamak için ön koşullar. Ubuntu yapılandırmalarını ayarlama. Linux neslini basitleştirmek için komut dosyaları yazmak. Freescale i.MX53 kartında programda hata ayıklama ve test etme.

    dönem ödevi, eklendi 10/12/2012

    İndirme yöneticilerinin özelliklerinin dikkate alınması. Download Accelerator Plus, Download Master, FlashGet, GetRight, ReGet, Go! açıklaması Windows önyükleme yöneticilerinin karşılaştırmalı özellikleri. Unix, Linux ve Mac işletim sistemleri için programlar.

    özet eklendi 09/06/2014

    Linux dağıtımlarının kavramı ve yapısı, kökenlerinin tarihi ve ana geliştiriciler. Montaj ve kurulumun doğasına göre dağıtımların sınıflandırılması, bitmiş versiyonlarının revizyonu. Kendi dağıtımınızı yaratmanın yollarının açıklaması.

    dönem ödevi, eklendi 04/02/2014

    Yükleme işleminin genel şeması, ana aşamaları ve ayırt edici özellikleri. Birincil ve ikincil yükleyiciler, işlevleri ve hareket yönleri. Önyükleme sektörü için olası konumlar. Disk alanı gereksinimleri.

    sunum eklendi 20/12/2013

    İşletim sisteminin teknik yeteneklerinin analizi Mandriva Linux - Fransız Mandriva şirketi tarafından geliştirilen ve dağıtım kitinin ücretsiz, ticari ve kurumsal sürümlerini yayınlayan bir GNU / Linux dağıtım kiti. Linux kabuk kurulum adımları.

    sunum 23/05/2010 eklendi

    Donanım ve uygulama programlarını birbirine bağlayan işletim sistemlerinin tarihinin önemli noktaları. Microsoft Windows Seven işletim sisteminin özellikleri, Linux işletim sisteminin analizi. Her işletim sisteminin avantajları ve dezavantajları.

    dönem ödevi 05/07/2011 tarihinde eklendi

    Dağıtım için kurulum programını geliştirmek için araç seçimi. Bir Gentoo dağıtımı için bir modülün uygulanması, o sistem için kullanıcı kılavuzuna göre çalışır. Yükleyiciyi çeşitli mimarilerde test etme.

    tez, eklendi 07/18/2013

    Linux sistemi yükleme aşamaları, kayıt. Kullanıcı hesabı yönetimi. Cihazları adlandırma ilkesi, özel dosyaların amacı ve kullanımı. Dosya yönetimi, dosya sistemine erişim, işler. Temel Linux dosya yapısı.

    kılavuz, 15.11.2014 eklendi

    İşletim sisteminin çeşitli dağıtımlarının dikkate alınması. Veri alışverişi protokolleri ve fiziksel veri depolama biçimlerinin incelenmesi. StarNAS ağ depolamasının bir parçası olarak işlev gören Linux tabanlı bir dağıtım kitinin geliştirilmesi.

    11/05/2015 tarihinde eklenen dönem ödevi

    Linux işletim sistemini terminal modunda yükleme, oturum açma ve kullanıcıları kaydetme özellikleri. Dosya yeniden atamasını yürütme, işletim sistemi komutlarıyla çalışmak için kullanma. Program kanallarının uygulanması (boru hatları).

İşletim sistemi önyükleme algoritması

İşletim sistemi, genellikle bir sabit diskte, daha az sıklıkla bir diskette olmak üzere harici bellekte depolanır.

Bir bilgisayarın normal çalışması için işletim sisteminin ana modüllerinin RAM'de olması son derece önemlidir. Bu nedenle bilgisayar açıldıktan sonra işletim sistemi otomatik olarak diskten RAM'e yazılır (yüklenir).

- işletim sisteminin diskten (sabit veya disket) RAM'e üzerine yazılması.

Bilgisayarı açtıktan sonra ekranda sayı değişikliği gözlemleniyor. Bu rakamlar, BIOS programı tarafından RAM'in test edilmesi sürecini yansıtmaktadır. RAM hücrelerinde bir arıza tespit edilirse, bir mesaj görüntülenecektir.

Ekipmanın başarıyla test edilmesinin ardından, disket sürücüsü A'ya erişilir ve yanındaki gösterge lambası yanar. İşletim sistemi bir disketten önyükleniyorsa, testten önce veya sırasında sistem diskini A sürücüsüne yerleştirin. Aksi takdirde, A diskinde işletim sistemi yoksa, sonraki gösterge ışığıyla gösterildiği gibi sabit diske erişilir. ona.

Yükleyicinin bulunduğu diskin 0. tarafının 0. sektörünün RAM'ine okuma (BOOT RECORD) başlar. Kontrol, sistem diskinde IO.SYS genişletme modülünün ve MSDOS.SYS temel modülünün varlığını kontrol eden yükleyiciye aktarılır. Onlar için ayrılmış yerdeyseler, onları RAM'e yükler, aksi takdirde yokluklarıyla ilgili bir mesaj görüntülenir. Bu durumda, yeniden başlatmanız önerilir. Yeniden başlatma sinyali, denetimi, önyükleme bloğunu diskten RAM'e vb. yeniden yazan kalıcı BIOS modülüne aktarır.

NOT!İçin işletim sistemini yeniden başlatma hafızada, tuşlara aynı anda basın<Сtгl> <АLT> .

IO.SYS genişleticiyi ve MSDOS.SYS temel modülünü RAM'e başarıyla yükledikten sonra, COMMAND.COM komut işlemcisi yüklenir ve gerekli sürücüleri bağlamak için komutları içeren CONFIG.SYS yapılandırma dosyası işlenir. Kullanıcı işletim sisteminin temel sürümünden memnunsa bu dosya mevcut olmayabilir.

Ardından toplu iş dosyası AUTOEXEC.BAT işlenir. Bu dosya, işletim ortamının parametrelerini yapılandırmak için kullanılır. Örneğin, bir sanal disk oluşturun, yazdırma modlarını değiştirin, yardımcı programları yükleyin, vb.

Not!.BAT uzantılı dosyalar, sistem ortamında çalışırken özel bir rol oynar. Οʜᴎ işletim sistemi komutlarının bir koleksiyonunu veya yürütülebilir dosyaların adlarını içerir. .BAT uzantılı dosyayı başlattıktan sonra, içinde yazılan tüm komutlar birbiri ardına otomatik olarak yürütülür.

Standart adı AUTOEXEC.BAT olan dosya, içine yerleştirilen komutların yürütülmesinin işletim sistemi yüklendikten hemen sonra otomatik olarak başlaması bakımından .BAT türündeki diğer dosyalardan farklıdır.

AUTOEXEC.BAT dosyası yoksa, tarih ve saati girmeniz istenecektir:

enter tuşuna basarsanız, bilgisayar zamanlayıcısı tarafından belirlenen sistem parametreleri, geçerli tarih ve saat olarak alınır;

sistem tarihini ve saatini sıfırlamak istiyorsanız, komut istemine yanıt olarak değerleri sağlanan formlardan birine girin, örneğin:

10-25-1997 (ay gün yıl)

7:30: 10,00 RUB (saat: dakika: saniye)

AUTOEXEC.BAT dosyası tamamlandıktan sonra ve bu dosya bulunamazsa, örneğin sistem diski istemi ekranda görüntülenecektir. C: \>. Bu, önyükleme işleminin normal şekilde tamamlandığını ve uygulama adını veya işletim sistemi komutunu girerek başlayabileceğinizi gösterir.

Not. CONFIG.SYS ve AUTOEXEC.BAT dosyaları eksik olabilir. Bu durumda, işletim ortamı ayarları varsayılan olarak belirlenecektir.

Unutma!İşletim sistemini kalıcı olarak sabit sürücüde tutmak son derece önemlidir. Bilgisayarı açtığınızda tüm disket sürücülerinin açık olması gerekir.

Önyükleme tamamlandıktan sonra uygulama programlarının bulunduğu disketi disket sürücüsüne takmanız gerekir.

Program tarafından test edildi

İndirmek Yüksüz

esnek sert hayır

disk sürücüsü

Okuma disketten bir jest ile. disk

Önyükleme sektöründe IO.SYS, MSDOS.SYS "

İndirmek Mesaj yok

doğru? "Sistem dosyası yok"

Emretmek. Com "Sistem dosyası yok"

ve CONFIG.SYS dosyası

Fok
Konunun devamı:
Yönlendiriciler

Masaüstüne Gigabit Ethernet gibi modern veri ve ses uygulamaları Kategori 5e için derecelendirilmiştir. Bu çözüm gerekli özelliklere sahiptir ...