Bilgisayar Mühendisliğine Giriş

Slides:



Advertisements
Benzer bir sunumlar
İşletim Sistemleri.
Advertisements

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar)
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
BLG 201 ŞAHİN AKDAĞ.
İşletim Sistemlerine Genel Bakış
İşletim Sistemlerine Giriş
Windows işletim sistemi ve sürümlerinin incelenmesi
Bilgisayar Ağlarına Giriş
Ders Adı: Bilgisayar Donanımına Giriş
İşletim Sistemlerine Giriş – 2 Kaynakların Paylaşımı
Öğr.Gör. Dr. Şirin KARADENİZ
Bölüm 1: Introductions (Tanıtım,Tanım)
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
Bilgisayara giris ders Notlari
İŞLETİM SİSTEMLERİ KONTROL: PROF.DR.ASAF VAROL DÖNE KARAOĞLAN BİLGİSAYAR SİSTEMLERİ Bilgisayar Öğretmenliği (Gece) - 4.
İŞLETİM SİSTEMLERİ EYLÜL 2012.
BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI
İŞLETİM SİSTEMLERİ Ders İçeriği
AÇIK KAYNAK KOD Ayhan KOÇ 2009.
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
MART 2013 İŞLETİM SİSTEMLERİ.
Ankara T.C. MİLLÎ EĞİTİM BAKANLIĞI EĞİTİM TEKNOLOJİLERİ GENEL MÜDÜRLÜĞÜ Bilişim Teknolojileri Formatör Öğretmen Eğitimi Programı Bilişim Teknolojileri.
İşletim Sistemleri Tanım: Kullanıcı ile bilgisayar donanımı arasında bağlantıyı sağlayan özel bir yazılımdır.
Yazılım Gelişimi. Donanım gelişimine paralel olarak süren yazılım gelişimi, son on yılda kayda değer bir ivmelenme ile bilgisayarları, herhangi bir uzmanlık.
İŞLETİM SİSTEMLERİ.
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
AĞ İŞLETİM SİSTEMLERİ Öğr. Gör. Mustafa SARIÖZ
Abdulkadir KARADENİZ Avantaj ve Dezavantajları Girdi-İşlem-Çıktı Prensibi Donanım – Yazılım Kavramları Abdulkadir KARADENİZ.
Bilgisayar nedir? Bilgisayar; Zor ve karışık hesaplar yapabilen büyük miktarlardaki bilgileri depolama kapasitesine sahip otomatik bir cihazdır.
İŞLETİM SİSTEMLERİ İşletim sisteminin, kolay ve hızlı kullanım, kaynak verimliliği gibi kıstasların dışında, ortamında saklanan bilgilerin, gerekse izinsiz.
İŞLETİM SİSTEMİ.
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
Bilgisayar Ağlarına Giriş. Tarihsel Gelişim Main- frame OS yoktu Batch Systems (Toplu İşlem) Birden fazla işin arka arkaya çalıştırılması.
Aşağıdakilerden hangisi işletim sistemi değildir?
YAZILIM.
BTÖ 306 Bilgisayar Ağlarına Giriş Dr. Şirin Karadeniz Çelebi Uluyol.
YAZILIM.
İŞLETİM SİSTEMLERİ Derya Işık
İşletim Sistemleri Operation Systems Fon müziği.
KABUK İŞLEMLERİ.
Ağlar ve Veri İletişimi
Mobil Uygulama Geliştirme
Bölüm 3: İşletim Sistemi Yapıları
Bilgisayar (Computer) Bilgisayar, uzun ve çok karmaşık hesapları bile büyük bir hızla yapabilen, mantıksal (lojik) bağlantılara dayalı karar verip işlem.
Bilgisayar Sistemlerine Giriş
Veritabanı Yönetim Sistemleri - I
BTÖ 306 Bilgisayar Ağlarına Giriş. BTÖ 306 Tarihsel Gelişim Main- frame OS yoktu Batch Systems (Toplu İşlem) Birden fazla işin arka.
İnsan Kaynakları Bilgi Sistemleri
Temel Bilgi Teknolojilerinin Kullanımı Öğr.Gör. Abdullah ŞENER.
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
1. HAFTA Giriş, Tarihçe ve Kavramlar
SUNUCU İŞLETİM SİSTEMLERİ
SANALLAŞTIRMA ÇEŞİTLERİ VE YAZILIMLARI
İşletim Sistemlerine Giriş
BİLGİSAYAR NEDİR?.
Bilgisayar Ağlarına Giriş
Neden Linux? Nerelerde Kullanılır?
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
PROGRAMLAMA TEMELLERİ
Bilgisayar Ağlarına Giriş
Kaynakların Paylaşımı
Bir bilgisayar sisteminin 4 bileşeni vardır;
Bir İşletim Sisteminin Mantıksal Yapısı
İşletim Sistemleri (Operating Systems)
Windows işletim sistemi ve sürümlerinin incelenmesi
İşletim Sistemleri (Operating Systems)
BİLİŞİM TEKNOLOJİLERİ
Öğr.Gör. Dr. Şirin KARADENİZ
BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Sunum transkripti:

Bilgisayar Mühendisliğine Giriş Yrd. Doç. Dr. Hüseyin POLAT

Bilgisayar Mühendisliğine Giriş Konular İşletim Sistemleri (Operating Systems)

Bilgisayar Mühendisliğine Giriş İşletim Sistemleri (Operating Systems)

İşletim Sistemi (Operating System) Bilgisayarlarda işletim sistemi; donanımın doğrudan denetimi ve yönetiminden, temel sistem işlemlerinden, bilgisayar kaynaklarının paylaşımından ve uygulama programlarını çalıştırmaktan sorumlu olan sistem yazılımıdır. İşletim sistemi, bütün diğer yazılımların belleğe, girdi/çıktı aygıtlarına ve dosya sistemine erişimini sağlar. Birden çok yazılım aynı anda çalışıyorsa, her yazılıma yeterli sistem kaynağını ayırmaktan ve birbirleri ile çakışmamalarını sağlamaktan da sorumludur.

İşletim Sistemlerinin Sınıflandırılması 1. Tek Kullanıcı Tek Görev (Single User Single Task) 2. Tek Kullanıcı Çok Görev (Single User Multi Task) 3. Çok Kullanıcı Tek Görev (Multi-User Single Task) 4. Çok Kullanıcı Çok Görev (Multi-User Multi Task) 5. Çok işlemcili Çalışma (Multi core) 6. Ağ İşletim Sistemleri (Network Operating Systems) 7. Gerçek zamanlı İşletim Sistemleri (Real Time Operating Systems)

İşletim Sistemlerinin Sınıflandırılması 1. Tek Kullanıcı Tek Görev (Single User Single Task) : Bu sınıftaki işletim sistemleri aynı anda tek kullanıcıya hizmet verebilir ve tek program çalıştırabilir. MS-DOS bu işletim sistemlerine örnektir. 2. Tek Kullanıcı Çok Görev (Single User Multi Task) : Tek kullanıcı birden fazla programı paylaşımlı şekilde çalıştırabilir. Bu tür işletim sistemlerine örnekler IBMOS/2 ve Microsoft Windows’tur. 3. Çok Kullanıcı Tek Görev (Multi-User Single Task) : Bu sistemde her kullanıcı merkezi bilgisayara bir terminal yoluyla bağlanır ve bilgisayar sistemindeki kaynaklara diğer kullanıcılarla zaman paylaşımlı olarak erişir. Bu işletim sistemleri özel uygulamalarda kullanılmaktadır. 4. Çok Kullanıcı Çok Görev (Multi-User Multi Task) : Bu işletim sistemleri zaman paylaşımı ve çok görevli çalışma kavramlarını birleştirir. Birçok kullanıcı aynı anda birden fazla programı çalıştırabilir. Genellikle daha güçlü bilgisayarlarda çalışan bu tür işletim sistemlerine UNIX iyi bir örnektir.

İşletim Sistemlerinin Sınıflandırılması 5. Çok işlemcili Çalışma (Multi core) : Çok işlemcili bilgisayarlarda birden fazla merkezi işlemci bulunur ve bunları denetleyen işletim sistemleri programlardaki komutları bu işlemciler üzerinde paralel olarak çalıştırır. Çok işlemcili sistemlerde programlar tam anlamıyla paralel olarak, aynı anda çalışırlar. 6. Ağ İşletim Sistemleri (Network Operating Systems) : Bilgisayar ağları, kullanıcılara programları çalıştırmak için oldukça güçlü bilgisayarlar sağlamanın yanında disk, yazıcı, yazılım ve verileri paylaşma olanağı vermektedir. Bu işlemler yapılırken genellikle Ağ İşletim Sistemleri (Network Operating Systems) istemci/sunucu (client/server) arasındaki ilişkiyi düzenlemekle yükümlüdür. 7. Gerçek zamanlı İşletim Sistemleri (Real Time Operating Systems) : Bu işletim sistemleri genellikle endüstriyel kontrol uygulamalarında çalışan bilgisayarlar için yararlıdır. Kontrol ettikleri sistemler ya da işlemler ile ilgili verileri alarak gerçek zamanda yapılması gerekeni yaparlar.

Bilgisayar Sistemi Bir bilgisayar sitemi dört kısımdan oluşur: Donanım(Hardware): Bilgisayarı oluşturan fiziksel parçalar. İşlemci, anakart, hdd, ram vb. İşletim Sistemi(OperatingSystems): Birçok uygulama ve kullanıcı tarafından Birçok uygulama ve kullanıcı tarafından donanımın kullanılmasını, kontrol edilmesini ve koordine edilmesini sağlar. Uygulama Yazılımları (ApplicationPrograms): Kullanıcıların ihtiyaçlarını karşılayan yazılımlardır. Word, veri tabanı vb. Kullanıcılar (Users): İnsanlar, makineler, diğer bilgisayarlar

İşletim Sisteminin Konumu Bilgisayar sistemleri donanım (hardware) ve yazılım (software) olarak adlandırılan bileşenlerden oluşur. İşletim sistemi, sistem kaynakları üzerinde tam kontrole sahip olabilmek için kernel mode dediğimiz ayrıcalıklı bir modda çalışır. Kullanıcı programları user mode’da çalışır. İşletim sistemi, donanım ile kullanıcı modu arasında bir konumdadır.

İşletim Sisteminin Konumu Kullanım kolaylığı açısından, donanımla ilgili ayrıntıların bir soyutlama katmanı ile kullanıcıya yansıtılmadan halledilmesi gerekir. İşletim sistemleri, çirkin donanımı güzel soyutlamalar haline getirir.

İşletim sisteminin fonksiyonları Sistemin donanım ve yazılım kaynaklarını yönetir. Birçok program ve giriş birimi işlemciden, bellekten, depolama biriminden ve giriş çıkış biriminden kaynak ister. Bütün işlemler için işletim sistemi kaynak sağlar ve onların bilgisayarda tek başına çalışıyorlarmış gibi hissetmelerini sağlar. Uygulamaların donanıma erişimi için güvenli bir yol sağlar.

İşletim sisteminin fonksiyonları Tutarlı bir uygulama arabirimi sağlar. Diğer yazılımlar işletim sisteminin kütüphanelerini kullanır. Bunlara API Application Program Interface denir. Böylece yazılımcıların kullandıkları üst sevili dille yazılmış olan programlar diğer bilgisayarlarda da çalışır. Tüm bilgisayarların donanım özelliklerinin farklı olmasına rağmen işletim sistemi yazılımlar için eşit bir zemin sunar.

İşletim Sisteminin Fonksiyonları İşletim sistemi ile donanıma özgü karmaşık ayrıntıların bilinme zorunluluğu ortadan kalkar. İşletim sistemleri, donanım bileşenlerinin sürülmesine dönük yordamları hazır işlevler olarak içerirler. Bu sayede kullanıcılara, bilgisayar sistemine dönük yalın bir görünüm ve kolay bir kullanım ortamı sunulur. Ayrıca program geliştirme süreçleri kısaltılarak kullanım kolaylığı sağlanır. Kullanım kolaylığı sağlamak işletim sistemlerinin temel amaçlarından birisidir.

İşletim Sisteminin Fonksiyonları Kullanım kolaylığı yanında, sistem kaynaklarının verimli kullanımı da önemlidir. Verimli kaynak kullanımı, kaynakların mümkün olduğunca çok kullanıcı arasında paylaştırılarak boşta kaldıkları sürelerin en düşük seviyede tutulmasını gerektirir. Kullanıcıların programlarının hızlı işletimini sağlamak da gereklidir.

İşletim Sisteminin Fonksiyonları Kaynakların verimli kullanım amacıyla kullanıcılar arasında paylaştırılması, programların tek başına işletimine göre, genelde işletim hızını düşürür. Kaynak kullanım verimliliği ve hızlı işletim genelde çelişen iki parametredir. Bilgisayar ortamında saklanan bilgilerin bozulma ve izinsiz erişimlere karşı koruma ve güvenliğinin de sağlanması gereklidir.

İşletim Sistemi Yükümlü Olduğu İşlevler Kullanıcıların bilgisayar sistem kaynaklarından kolayca yararlanmalarını sağlamak. Sistem kaynaklarının hem verimli kullanımını hem de hızlı bir işletimi gözeterek paylaştırılmasını sağlamak. Birim zaman içinde, aynı sayıda kaynakla daha çok hizmet üretme olanağı sağlamak. Bilgisayar ortamında saklanan bilgilerin, gerek bozulmalara, gerekse izinsiz erişimlere karşı korunmasını sağlamak.

İşletim Sistemi Bileşenleri (Operating System Components) İşletim sistemlerinin temel öğeleri şunlardır: 1- İşlem Yönetimi (Process Management) 2- Ana bellek Yönetimi (Main-Memory Management) 3- ikincil Bellek Yönetimi (Secondary-Storage Management) 4- Giriş-Çikiş Yönetimi (I/O System Management) 5- Dosya Yönetimi (File Management) 6- Güvenlik Yönetimi (Protection System Management) 7- Ağ Yönetimi (Network Management) 8- Komut Yönetimi (Command Interpreter System Management)

İşletim Sistemi Hizmetleri İşletim sistemleri, kullanıcı ve programlar için çeşitli hizmetler sağlar. Program koşturulması (Program Execution) İşletim sistemi, programları ana belleğe yükleyebilmeli ve programlan çalıştırabilmelidir. Örneğin bir kelime işlemci programının çalıştırılması.

İşletim Sistemi Hizmetleri Girdi / Çıktı işlemleri (I/O Operations) Çalışan bir program G/Ç (girdi / çıktı) işlemine gereksinim duyabilir. Bu G/Ç işlemi bir dosya ya da G/Ç aygıtı olabilir. İşletim sistemi bu tür ihtiyaçları karşılar. Örneğin bir kelime işlemci programından daha önceden yazılan ve saklanan bir dosyanın tekrar açılması gibi.

İşletim Sistemi Hizmetleri Dosya sistemi yönetimi (File System Management) İşletim sistemi, programların ya da kullanıcıların bir dosyayı okuma, yazma, oluşturma ya da silme işlemlerini gerçekleştirir. Örneğin bir kelime işlemci programı ile daha önceden yazılan ve saklanan bir dosyanın tekrar açılarak üzerinde değişiklikler yapılması ve yeni haliyle bu dosyanın tekrar kaydedilmesi gibi.

İşletim Sistemi Hizmetleri İletişim (Communication) Bir işlem diğer bir işlemle bilgi alış verişinde bulunmak isteyebilir. Bu iletişim sırasında işlemler aynı bilgisayarda olabileceği gibi; bir ağ ortamında bulunan iki farklı bilgisayarda da bulunabilirler. İşlem arasındaki bu tür iletişimler, ya bellek paylaşımı ya da mesajlaşma gibi çeşitli tekniklerle işletim sistemi tarafından gerçekleştirilir. Örneğin bir kelime işlemci programından daha önceden yazdığımız ve sakladığımız bir dosyanın açılarak yazıcıdan çıktısı alınmak istenebilir. Bu durumda bu aygıttan dosyanın yazdırıldığına dair bir mesajın ekrana gelmesi gibi.

İşletim Sistemi Hizmetleri Hata Tespiti (Error Detection) İşletim sistemi bilgisayar sisteminde meydana gelen her türlü hataları algılayabilmelidir. Bu hatalar. MİB. bellek. G/Ç aygıtı ya da kullanıcı programında meydana gelmiş olabilir. Meydana gelen hataya uygun gerekli eylem ya da düzeltme işlemi işletim sistemi tarafından gerçekleştirilir. Örneğin bir kelime işlemci programından daha önceden yazdığımız ve sakladığımız bir dosyanın açılarak yazıcıdan çıktısı alınması istenebilir. Fakat yazıcı bu işlemi gerçekleştirirken, yazıcıda kağıt bittiğine dair mesaj ya da yazıcının açık olmadığına dair gelen mesaj gibi.

İşletim Sistemi Hizmetleri Kaynakların paylaştırılması Bir çok kullanıcının ya da bir çok programın aynı anda çalıştığı durumlarda elde bulunan tüm kaynakların paylaştırılması ve düzenli kullanılması gerekir. İşletim sistemi birçok farklı kaynağın düzenli bir şekilde kullanılmasını sağlar. Örneğin bir ağ ortamında yazıcının paylaştırılması ve birçok kullanıcının bu yazıcıyı kullanabilmesi gibi.

İşletim Sistemi Hizmetleri Kullanıcı işlemleri Çok kullanıcılı ortamlarda hangi kullanıcının hangi haklara sahip olduğu ve sistem kaynaklarından ne kadar yararlanabileceği işletim sistemi tarafından yönetilir. Güvenlik işlemleri Çok kullanıcılı ortamlarda ya da ağ ortamlarında tüm bilgilerin güvenliği işletim sistemi tarafından sağlanır.

İşletim Sisteminin Katmanları

Çekirdek (Kernel) Çekirdek, bilgisayarda donanım (hardware) ve yazılım (software) arasındaki bağlantıyı sağlayan arabirime verilen isimdir. Çekirdek bilgisayar sistemi açılırken belleğe yüklenir ve sistem kapatılıncaya kadar ana bellekte kalır. Çekirdek, bilgisayarın donanımıyla doğrudan etkilenen işletim sisteminin bir parçasıdır. Programlar tarafından kullanılan bir hizmet sağlar. En önemli fonksiyonları: Belleği yönetmek Bilgisayara ulaşımları kontrol etmek Dosya sistemini oluşturup, korumak Interruptları kullanmak Hataları kontrol etmek Girdi-çıktı birimlerini çalıştırmak Bilgisayarın kaynaklarını (işlemci, girdi-çıktı birimleri gibi...) kullanıcılar arasında dağıtmak. Çekirdeğin diğer görevleri ise; •Bir dosyayı açmak •Dosyaya yazmak •Dosyadaki bilgileri okumak

Çekirdek (Kernel) Çekirdek, ayrıcalıklı bir işlem seviyesi olan Kernel Mode'da çalışır. Bu işlem seviyesinde çalışan kod, donanıma ve sistemin tamamına tam yetki ile müdahale edebilir. Uygulama programları ise, User Mode denilen daha kısıtlı bir işlem seviyesinde çalışır. User mode'da çalışan uygulamalar, çekirdeğin ya da başka uygulamaların bellek bölgelerine erişemezler, bazı kısıtlanmış işlemci komutlarını çalıştıramazlar ve donanım kaynaklarına doğrudan müdahale edemezler. MS-DOS'ta sistem dosyaları olarak bilinen msdos.sys ve io.sys dosyaları, bu işletim sisteminin çekirdek dosyalarını oluşturmaktadır.

Kabuk (Shell) Kabuk kullanıcı ile çekirdek arasında bulunan bir yazılım katmanıdır. Kabuk bir yorumlayıcıdır (command interpreter) Kabuk kullanıcılardan veya yazılımlardan gelen komutları algılar, düzenler ve çekirdeğe iletir. Bir çok sistemde kabuk ve çekirdek kavramları birbiri ile iç içedir. İki farklı kabuk çeşidi vardır: Komut istemi (CLI: command-line interface) kullanan kabuk işlemlerin daha hızlı yapılmasını sağlar. (DOS, UNIX, LINUX) MS-DOS işletim sisteminde kabuk olarak command.com kullanılır. Grafiksel arayüz (GUI: graphical user interface) kullanan kabuk ise kullanıcının yapmak istediği işlemleri daha hızlı tarif edebilmesini sağlar. (Windows)

Process (İşlem) Bir işletim sisteminde anahtar kavramlardan biri olan Process temel olarak çalıştırılmakta olan bir programdır. Bir kaynak program durgun bir komutlar dizisi şeklinde bulunurken, process bu komutlar dizisinin işletilmesi anındaki durumuna verilen isimdir. Çok görevlilik (Multitasking) özelliğine sahip olan işletim sistemleri, aynı anda birçok process’in çalıştırılmasına izin verir. Tek çekirdekli işlemciye sahip olan bilgisayarlarda bu iş zaman paylaşımı esasına göre yapılır.

Sanal Bellek Programlar çalıştırılmadan önce ana belleğe yüklenmeli ve oradan çalıştırılmalıdır. Eğer yazılımlar ana belleğe sığmazsa ne olur? Bu durumda sanal bellek (Takas Dosyası- Swap File) olarak adlandırılan teknikten yararlanılır. Bu teknikte ikincil bellek ana belleğin devamı gibi görülür ve program parçaları ana bellek ve disk arasında taşınarak çalışan parçaların ana bellekte kalması sağlanır. Bu işlem, işletim sistemi tarafından otomatik olarak gerçekleştirilir.

Sanal Bellek İşletim sistemleri, sanal belleği uygulayabilmek için programları eşit büyüklükte parçalara (sayfa) böler. Bu sayfalar program mantığından bağımsız olarak belirlenir. İşletim sistemi bir sayfa tablosu tutar ve bunun sayesinde hangi sayfanın ana bellekte hangi sayfanın diskte olduğunu izler. Eğer bir program parçası çalıştırılacaksa ve bu sayfa o anda ana bellekte ise program çalıştırılır. Buna karşılık eğer o sayfa diskte ise önce çalıştırılacak program parçasının bulunduğu sayfa diskten ana belleğe aktarılır. Daha sonra bu program çalıştırılır.

Sanal Bellek Aktarım işleminin oldukça fazla zaman alması ve programların tam sayıda sayfa doldurmamasından dolayı son sayfada belleğin ziyan olması sanal belleğin en büyük dezavantajıdır. Buna karşılık çalıştırılabilir program boyutlarını artırması nedeniyle bu yöntem yararlıdır. Ana belleğin sayfalarının dolması halinde hangi sayfanın değiştirileceği konusunda çeşitli algoritmalar geliştirilmiştir: İlk Gelen ilk Çıkar Yapısı (FIFO: First in First Out) En Uzun Kullanılmayan Yapısı (LRU: Least Recently Used)

Sanal Bellek İlk Gelen ilk Çıkar Yapısı (FIFO: First in First Out) Ana belleğe ilk gelmiş olan sayfa ilk olarak diske geri gönderilir. Bu yaklaşımın uygulaması oldukça basit olmasına karşılık verimlilik kriterleri fazlaca gözetilmemiştir. En Uzun Kullanılmayan Yapısı (LRU: Least Recently Used) Bu yapıda sayfaların kullanımı dikkate alınır ve ilk olarak en uzun süredir kullanılmayan sayfa bellekten atılarak diske geri gönderilir.

Semaforlar Bir bilgisayarda aynı anda birden fazla programın çalışabilir ve bunlar kaynakları ortak olarak paylaşırlar. Bir anda hangi programın çalıştığına ve hangi kaynağa eriştiğine işletim sistemi karar verir. Bir programın bir dosyaya eriştiği, buradan bir kaydı okuduğu ve değiştirmek istediğini varsayalım; Tam bu sırada program kontrolü başka bir programa geçsin ve bu programda aynı dosyada aynı kayda erişsin. Bu kayıt değiştirilirse iki durum ortaya çıkabilir: Birinci program tekrar çalışmaya başladığında kayıttaki değişiklikten habersiz yeni bir değişiklik yapar, İkinci program değişiklik yaptığını düşünerek başka işlemlerde bu kayıdı kullanabilir; oysa bu sırada kayıt başka bir değer almıştır.

Semaforlar Bu durum istenen bir durum değildir ve engellenmesi gerekir. Bunu yapmak için bazı işlemler kritik olarak sınıflandırılır ve kritik işlemleri yapmakta olan programların çalışmaları işletim sistemi tarafından durdurulmaz. Bir programın kritik bölgede olduğu da semafor denilen bayrakların kurulmasıyla anlaşılır. Kritik işlemler atomiktir. Yani ya hepsi çalıştırılır ya da hiç çalıştırılmaz.

Kilitlenmeler (Deadlocks) Bazı durumlarda iki veya daha fazla proses birbirlerine atanmış kaynakları bekledikleri için ikisi de çalışamaz duruma düşebilir. Bu duruma kilitlenme (deadlock:) denir. Örneğin bir proses yazıcıyı kullanırken diske erişmek isteyebilir. Bu sırada başka bir proses diski kullanıyor olabilir ve yazıcıyı bekleyebilir. Kilitlenme oluşabilmesi için; paylaşılamayan cihanlar için erişim rekabeti olman, bir kaynağa bir kereden fazla erişim teşebbüsünün mümkün olması, atanmış bir kaynağın zorla serbest bırakılamaması, durumlarının birlikte oluşması gerekmektedir. Kilitlenmenin ortadan kaldırılabilmesi için bu durumlardan herhangi birisinin oluşumunu engelleyen yöntemler geliştirilmiştir.

UNIX İşletim Sistemi UNIX çok kullanıcılı ve çok görevli bir işletim sistemidir. Önce Bell laboratuvarlarında geliştirilmiş daha sonra da üniversitelere dağıtılmıştır. C programlama dili ile yazılmış ve programlama kodu ile araştırmacılara verilmiş olduğundan önemli gelişmeler ve eklere sahip olmuştur. Bugün hemen hemen tüm platformlarda çalışabilen jenerik bir işletim sistemidir. UNIX kontrolündeki bilgisayarlarda bir çok kullanıcı aynı anda bir çok programı çalıştırabilir. Bunun yanı sıra birçok servis programı ve program kütüphanesinin varlığı program geliştirmeyi kolaylaştırmaktadır. Yeni başlayanlar için öğrenilmesi ve kullanılması zor bir işletim sistemi olması UNIX’in olumsuz bir yönüdür.

LINUX Helsinki Üniversitesi'nde bilgisayar mühendisliği öğrencisi olan Linus Torvalds'ın 1991 yılında Intel'in yeni işlemcisi 80386'nın korumalı kip mimarisini denemek üzere geliştirmeye başladığı Unix tabanlı bir işletim sistemi çekirdeğidir. Linux tüm dünyadan birçok yazılımcının da desteği ile hızla gelişmiş ve halen aynı destek ile gelişmekte olan açık kaynak kodlu, özgür bir yazılımdır. Gömülü sistemlerden, süper bilgisayarlara kadar birçok donanım türünde kullanılan Linux dağıtımları da vardır.

0S/2 İşletim Sistemi OS/2, IBM ve Microsoft tarafından geliştirilmiş tek kullanıcılı ve çok görevli bir işletim sistemidir. DOS altında geliştirilmiş bir çok programı DOS uyumlu pencerede çalıştırabilir. DOS gibi komut bazlı bir işletim sistemi olmakla birlikte ek olarak bir de grafik tabanlı pencere ortamı içermektedir. Sunum yöneticisi denilen ara yüzle kullanım kolaylığı artmıştır. OS/2‘de DOS’tan ayrı olarak bir program çalışırken yeni bir ekran grubu açılarak yeni bir program çalıştırılabilir. 16 ekran penceresini aynı anda çalıştırabilir. OS/2 altında çalışan uygulama programlarının sınırlı olması nedeniyle beklenildiği kadar yaygınlaşmamıştır.

MS-DOS İşletim Sistemi DOS’un Microsoft tarafından satılanı MS-DOS, IBM tarafından satılanı PC- DOS (veya IBM-DOS) adıyla bilinir. Eski olmasına rağmen, MS-DOS (Microsoft Disk Operating System) hala kişisel bilgisayarlarda yaygın olarak kullanılan bir işletim sistemidir. MS-DOS tek kullanıcılı ve tek görevli bir işletim sistemidir. Değişik üreticilerin makinelerinde çalışmakla birlikte yine de IBM ve Microsoft tarafından lisans altında olduğu için tam anlamıyla jenerik bir işletim sistemi olarak sınıflandırılamaz. MS-DOS, UNIX işletim sisteminden bazı kavramları almıştır. Komutlara dayalı bir işletim sistemidir. Son sürümlerinde bazı menü tabanlı ara yüzler geliştirilmiştir.

Windows İşletim Sistemi Windows işletim sistemi PC’lerde en yaygın kullanılan işletim sistemidir. 1985 yılında piyasaya sürülen ilk Windows sürümü aslında DOS üzerinde çalışan bir grafiksel kullanıcı arayüzünden ibarettir. 1993 tarihten sonra geliştirilen tüm Windows işletim ise sistemleri NT (New Technology) çekirdeğine sahiptir.

Macintosh/MacOS İşletim Sistemi Bu işletim sistemi Motorola Firmasının mikroişlemcileri üzerinde çalışırlar. Grafik arayüzü olan ilk işletim sistemi MacOS’tur. Bu işletim sistemi diğer işletim sistemlerine grafik arayüzü açısından öncülük etmiştir.