İŞLETİM SİSTEMLERİ — SÜREÇ API’Sİ VE CPU MEKANİZMALARI Anlatım kaynakları: - Önceki ders: kullanıcının sağladığı Isletim_Sistemleri_04_Process_Sunu.pptx (The Abstraction: The Process). - Remzi H. Arpaci-Dusseau ve Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces. - Kullanıcının sağladığı cpu-api.pdf, bölüm 5, sürüm 1.10 (© 2008–25). - Kullanıcının sağladığı cpu-mechanisms.pdf, bölüm 6, sürüm 1.10 (© 2008–23). - Resmî kaynak: https://pages.cs.wisc.edu/~remzi/OSTEP/ Kod kaynakları: - p1.c, p2.c, p3.c, p4.c: sağlanan cpu-api.pdf'nin Şekil 5.1–5.4 kodları. - swtch.S: sağlanan cpu-mechanisms.pdf'nin Şekil 6.4 kodu, tarihsel xv6 x86 sürümü. - Kodlardaki basılı satır numaraları kaldırıldı; boşluk düzeni PDF metin katmanından alınmıştır. - cpu.c, common.h: https://github.com/remzi-arpacidusseau/ostep-code/tree/master/intro - Türkçe yorumlu ders kodları kaynaklar/ klasöründedir. Güncel ve özgün dosya kimlikleri provenans.json içindedir. - Açıklama yorumları Türkçeye çevrilmiştir; teknik terimler İngilizce kullanılır. Program komutları ve çıktı dizgileri korunmuştur. - Güncel bölüm PDF’leri yeniden barındırılmamış, yazarların resmî sayfalarına bağlanılmıştır. Laboratuvar: - vm/libv86.js ve vm/vm-data.js, kullanıcının referans verdiği mevcut demo sunudan alınmıştır: https://arkheips.com/surec-api-hostinger/ - v86: https://github.com/copy/v86 — BSD-2-Clause; bildirim vm/V86-LICENSE. - Paket: v86 WASM, SeaBIOS/VGA BIOS, Buildroot Linux CD imajı, TCC + musl. - Linux: https://www.kernel.org/ — GPL-2.0. - SeaBIOS: https://www.seabios.org/ — LGPL-3.0; bazı dosyalar farklı lisanslıdır. - TCC: https://repo.or.cz/tinycc.git — LGPL-2.1. - musl: https://musl.libc.org/ — MIT. - Buildroot imajı ve derleyici demo paketi aynen korunmuştur. - ready-state.bin: bu paketten türetilen, 32 MB konuk bellekli ve derleyicisi kurulmuş Linux anlık görüntüsü. Durum yüklenemezse normal açılış denenir. Arayüz: - Monaco Editor 0.52.2: https://github.com/microsoft/monaco-editor — MIT; vendor/MONACO-LICENSE. - xterm.js 6.0.0: https://github.com/xtermjs/xterm.js — MIT; vendor/XTERM-LICENSE. - Tüm gerekli çalışma dosyaları yereldir; sunu CDN veya çevrimiçi derleme API’si kullanmaz. Ders yapısı: - 47 kavram slaytı, konuların arasında 10 kod/komut ve okuma desteği slaytı, 3 ek çalışma ve 1 kaynak slaytı; toplam 61 slayt. - Kodlar ilgili kavramlardan sonra araya yerleştirilir. C okuma desteği ilk örnekten önce verilir. Bütün slaytlarda sade ders notları bulunur. Davranış: - C örnekleri emülatör içindeki gerçek Linux/TCC ile derlenip yürütülür. - Mod, kesme ve zaman paylaşımı animasyonları öğretim modelleridir; gerçek çekirdek izleri değildir. - swtch.S düzenlenebilir kaynak incelemesidir; kullanıcı modunda bağımsız çalıştırılamaz. - CPU deneyi aynı cpu.c programını A/B argümanlarıyla 3 saniye çalıştıran bir deney sarmalayıcısı kullanır. - Ölçülen süreler emülatör/tarayıcı giderlerini içerir; fiziksel CPU benchmark’ı değildir. - Editörler tarayıcı yerel depolamasını kullanır; VM süreçleri ve dosyaları yeniden başlatmada temizlenir.