Günümüzde Bilgisayar Bilimleri ve Bilişim Teknolojileri yaşamın her alanı için vazgeçilmez olmuştur. İnternet ortamı hemen her konuda bulanıklığa neden olacak kadar fazla bilgi paylaşımı sağlamaktadır. Bu durum İşletim Sistemleri gibi Bilgisayar Bilimlerinin konularında görülmektedir. İyi planlanmış duru çelişmeyen ve uygulamalı bir bilgilendirme olmadığı sürece üretime dönüşebilecek bir eğitim süreci sağlanamamaktadır. Bu konuda Akademisyenlerimizin çalıştığı alanlarla ilgili Türkçe eserler vermesinin ülkemiz biliminin ve geleceğinin şekillenmesini sağlayacağına inanmaktayız. Bu düşünce doğrultusunda yaptığımız çalışmamızı lisans seviyesinde bir ders kitabı olarak ulusal bilim platformuna sunmaktayız.
Bu kitap bütün bilgisayar bilimleri için temel teşkil eden İşletim Sistemleri üzerine teorik bilgileri sistem programlama uygulamaları ile birlikte veren bir çalışmadır. Çok önemli bir konu olan İşletim Sistemleri ile ilgili yabancı dillerde yazılmış çok sayıda kitap bulunmasına rağmen ülkemizde başvurabileceğimiz Türkçe kaynak sayısı oldukça azdır. Bu çalışma ile ülkemizin Bilgisayar Bilimleri alanındaki Türkçe kaynak ihtiyacına katkıda bulunmayı hedeflemekteyiz. Kitabımız Bilgisayar Mühendisliği Lisans öğrencileri başta olmak üzere Bilgisayar Bilimleri Mühendislik Bölümleri ve iyi düzeyde C programlama dili bilip bilgisayar yazılımı üzerine uzmanlığını arttırmak isteyen her insana hitap edecek şekilde yazılmıştır. Kitaptan en iyi şekilde yararlanmak için belirli bir düzeyde C programlama dili bilgisi ön şart olarak gereklidir.Kitabın Giriş bölümünde işletim sistemlerinin temel kavramları işletim sisteminin çalışma ortamları ve ara yüzleri hakkında bilgilendirme yapılmış Windows ve Linux işletim sistemleri için bu ara yüzler görselleştirilmiştir. Bu bölümün sonraki iki kısmı ise işletim sistemlerinin gelişim tarihçesi ile mevcut işletim sistemi yapılarının analiz edilmesi üzerinedir. Sonraki bölüm Linux sistem çağrıları ve Windows API üzerinedir. Bu bölüm sistem çağrılarını kategorize edip kullanımlarının örneklendirildiği kısımdır. İlk defa Linux ile tanışanlar için çok temel kabuk kullanımı ve kabuk komutları gibi bilgiler EK 1 bölümünde yer almaktadır. Linux ortamında yazılım geliştirme tecrübesine sahip olmayan okuyucuların bu bölüm öncesi EK 1 bölümünü okuması tavsiye olunur. Windows API kısmında ise Windows işletim sisteminde Visual Studio ortamında C dili ile API çağırma anlatılıp örneklendirilmektedir. Bu kısımda ayrıca Linux sistem çağrıları ile benzer işlevlerin Windows ortamında yapılabilmesi için gerekli API ler tanıtılmaktadır. Kitabın üçüncü bölümünde prosesler bileşenleri oluşturulmaları askıya alınmaları tekrar başlatılmaları ve proseslere sinyaller gibi konular anlatılmış ve örneklendirilmiştir. Kitabın dördüncü bölümünde yer alan iplikler bu bölümde anlatılmış sonraki bölümlerde bol miktarda örneklendirilmiştir. Çok iplikli programlama günümüzün çok çekirdekli işlemcileri için önemli bir gereksinim olduğundan bu bölüm ve sonraki bölümler çok iplikli programlama ve sorunlarının giderilmesi üzerine anlatım ve örnekler içermektedir.
Beşinci bölüm hem prosesler hem de iplikler için iş sıralama yöntemlerinin incelendiği kısımdır. Mümkün olan en geniş içerik verilmeye çalışılmıştır. İşletim sisteminin iş sıralama algoritmasına müdahale kısıtlı veya hiç olmadığı için bu konuda örneklendirme yapılmamıştır.
Kıtabın altıncı bölümü Petri Net'lerin tanıtıldığı bölümdür. Kitap içerisinde ölümcül kilitlenmenin sezilmesi için Petri Net'lerden yararlanılmış ve metodolojik bir akış verilmeye çalışılmıştır. Bu örgün İşletim Sistemleri kitaplarında yer almayan bir yaklaşımdır. Bu kitabın orijinalliğini arttıran tecrübeye dayalı çözümler yerine metodolojik çözümleme sunan bir tekniktir. Kitap içerisinde Petri Net çözümü ölümcül kilitlenme ile ilgili klasik problemler dâhil olmak üzere pek çok problemde denenmiş ve uygulamaların hepsinde başarılı sonuçlar vermiştir.