Yrd. Doç. Dr. A. Burak İNNER

Benzer belgeler
Yrd. Doç. Dr. A. Burak İNNER

Linux/Unix Sistem Yönetimi Prosedürleri - 1

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

İŞLETİM SİSTEMLERİ. (Operating Systems)

Yrd. Doç. Dr. A. Burak İNNER

Proses. Prosesler 2. İşletim Sistemleri

PROSESLER. Proses. Proses

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

DERS 10 İŞLETİM SİSTEMİ ÇALIŞMA PRENSİBLERİ VE HATA MESAJLARI

İşletim Sistemlerine Giriş

Veritabanı. Ders 2 VERİTABANI

BİT in Temel Bileşenleri (Yazılım-1)

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312

Yrd. Doç. Dr. A. Burak İNNER

İşletim Sistemleri (Operating Systems)

İŞLETİM SİSTEMİNİN TEMELLERİ VE POST (İLK AÇILIŞ)

Giriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir

Yrd. Doç. Dr. A. Burak İNNER

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

BİLGİ TEKNOLOJİLERİ EĞİTİM KILAVUZU

Linux altında komut satırında...

KOD PARÇACIKLARI 1 / 5

Yrd. Doç. Dr. A. Burak İNNER

Yrd. Doç. Dr. A. Burak İNNER

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

AĞ HİZMETLERİ. Öğr.Gör.Volkan ALTINTAŞ. Version 4.0

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Kişisel Bilgisayarın Parçaları

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri

AHTAPOT Merkezi Güvenlik Duvarı Yönetim Sistemi Kontrol Paneli

Kontrol Đşaretleşmesi

SolidWorks Macro, SolidWorks API. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı

ENF 100 Temel Bilgi Teknolojileri Kullanımı Ders Notları 5. Hafta. Öğr. Gör. Dr. Barış Doğru

Giriş. İplik Modeli. geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var.

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları

EKLER EK 12UY0106-5/A4-1:

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile

BM-311 Bilgisayar Mimarisi

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

Dr. Fatih AY Tel: fatihay@fatihay.net

Üst Düzey Programlama

İŞLETİM SİSTEMLERİ. İŞLETİM SİSTEMİ Kavramı. Klasör ve Dosya Mantığı. Klasör ve Dosya Mantığı

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Veritabanı Tasarımı. Veritabanı Hareketleri

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Yrd. Doç. Dr. A. Burak İNNER

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

SPEEDSENSE KONFİGÜRASYON ARACI KULLANIM KILAVUZU

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

Fstab Rehberi. Ceren Çalıcı. Nisan, 2012

Bu uygulama saatinde, dinamik sistemlerin simülasyonu (benzetimi) için geliştirilmiş olan, oldukça kullanışlı bir arayüz, Simulink, tanıtılacaktır.

OSI REFERANS MODELI-II

BM-311 Bilgisayar Mimarisi

Yrd. Doç. Dr. Caner ÖZCAN

Bilgisayar İşletim Sistemleri BLG 312

İşletim Sistemi Nedir?

Dosya/Dizin İzinleri. Okuma (r) Yazma (w) Çalıştırma (x) Dosya içeriğini görebilir mi? (Klasörler için) dosya listesini alabilir mi?

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir.

Resim 7.20: Yeni bir ileti oluşturma

PAPERWORK TEKNİK MİMARİ

ALGORİTMA VE PROGRAMLAMA II

İşletim Sistemlerine Genel Bakış

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BTP 205 İŞLETİM SİSTEMLERİ

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Temel Bilgisayar Programlama

YÖNLENDİRİCİLER. Temel Bilgiler. Vize Hazırlık Notları

Çekirdek Nedir? Ne yapar?

Apartman Yöneticisi Art. 1456B Vdc. Art 1456B TR TEKNİK KILAVUZ A2 A3 A4

TachoMobile Web Uygulaması v1.00.

LİNUX. Dosyalar ve dizinler

ENF 100 Temel Bilgi Teknolojileri Kullanımı Ders Notları 4. Hafta. Öğr. Gör. Dr. Barış Doğru

TR KULLANICI KILAVUZU. Comelit 1.0 Uygulaması App Store ve Google Play de

Windows İşletim Sistemi

İşletim Sistemlerine Giriş

İş Akış Yönetimi LOGO Kasım 2014

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Yazılım Mühendisliğine Giriş 2018 GÜZ

Komut Penceresi ile Çalışmaya Başlamak

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara

Linux Dosya ve Dizin Yapısı


Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

İşletim Sistemleri. Discovering Computers Living in a Digital World

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

BİLGİSAYAR PROGRAMLAMA

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

Transkript:

Yrd. Doç. Dr. A. Burak İNNER Kocaeli Üniversitesi Bilgisayar Mühendisliği Yapay Zeka ve Benzetim Sistemleri Ar-Ge Lab. http://yapbenzet.kocaeli.edu.tr

PROCESS(Süreç) OLUŞTURMA

Yeni bir süreç oluşturma 2 aşamada gerçekleşir; Fork: Bu aşamada yeni süreç(alt süreç) oluşturulur ve atalarının özelliklerini miras alır. Execute: Bu aşamada yeni süreç(alt süreç) atalarından ayrılır ve kendi işlevselliğiyle devam eder.

Fork Execute

Fork komutunun işi = Yeni bir süreç (alt süreç) oluşturmak ve onu çalıştırmak için ihtiyaç duyduğu şeylerle hazırlamaktır Bu komut ayrıca şu görevleri de içerir; Yeni bir pid(process id) atama, Çekirdekte(Kernel) ilişkili yapılar oluşturur, ppid, pgid, sid ve diğer tüm nitelikleri ayarlar, Sürecin çalıştırılacağı zaman dilimlerinin verilmesi için, çekirdek zamanlayıcı sırasına eklenir, Ana bellek alanını (üst işlemle ilişkili tüm bellek alanları) alt süreç bellek alanına kopyalar, Diğer ana süreç kaynaklarını kopyala, Normal dosya işleyicileri(normal file handlers), Soket işleyicileri, Paylaşılan hafıza(shared Memory) işleyicileri,.

"Exec"'in görevi = kendilerine atanan işleri yapması için alt süreçleri tek başlarına göndermektir. Bu, alt süreçlerin şu özelliklerle birlikte yükleneceği anlamına gelir, Ana sürecininki yerine kendi boş alanını kullanır, Ana süreç kaynaklarına erişimi kaybolur, Çalışacak olan yeni program için bir işaretçi(pointer) Bu komut alt süreçleri ana süreçlerden ayırır. Alt süreçler artık kendi hafıza adreslerini ve kendisine ayrılan/oluşturulan sistem kaynaklarını kullanarak, kendi başlarına çalışırlar.

Adres Alanı Süreç

Adres Alanı Fork Süreç Alt Süreç

Adres Alanı KOPYALA Kopyalanan Adres Alanı Fork Süreç Alt Süreç

Adres Alanı Yeni Adres Alanı Exec Süreç Alt Süreç

Adres Alanı Yeni Adres Alanı Süreç Alt Süreç

Süreç(Process) Vs. İş Parçacığı(Thread)

Hem süreçler hem de iş parçacıkları, çekirdekte zamanlayıcı yardımıyla paralel çalışmayı (çok görevli) sağlayan işlerdir. Her iki durumda da, Linux çekirdeği, başka birilerine atanmadan önce süreç/iş parçacığı için yürütülecek zaman dilimleri atar. Linuxta iş parçacığı, özel farklılıkları olan bir süreçtir: İş parçacığı oluşturulurken, adres alanları (ve bazı diğer kaynakları) ana süreçten kopyalanmaz. Ana süreç ile paylaşırlar. Bu iş parçacığının ana süreç ile aynı adres alanını kullandığı ve kendisine özel adres alanının oluşturulmadığı anlamına gelir. Bunun dışında iş parçacıkları süreçlerle aynıdır. Örneğin çekirdek zamanlayıcı, bağımsız olarak her iş parçacığı ile ilgilenir. Yani, aynı süreç tarafından oluşturulan iş parçacıkları, ana sürecin aynı adres alanını ve kaynaklarını paylaşan birden fazla süreçtir.

Adres Alanı Süreç

Adres Alanı Fork Süreç Alt Süreç

Süreç Sonlandırılması

Bir süreç sonlandırılması 3 şekilde gerçekleşebilir, Normal sonlandırma (işlemin sonuna kadar), Kendisini sonlandırmasına neden olacak bir Sinyal alma, Çekirdek tarafından sonlandırılma Süreç sonlandırıldığında, kaynaklarının bir kısmı henüz serbest bırakılmaz, ve durumu Zombi durumuna gelir. Ana süreç, alt süreçlerinin gerekli kaynak temizlemelerini beklemelidir. Ana süreç gerekli temizlemesini yaptıktan sonra, süreç artık Zombi durumunda olmaz. Bu yüzden her sürecin yaşayan bir ana süreci olmalıdır. Eğer ana süreç sonlanırsa, alt süreçler init sürecinde yeniden ana süreç edinmelidirler.

Süreç Durumları

Sinyaller

Sistem Çağrısı Sinyal Süreç 1 Sinyal Linux Çekirdeği Aygıt Sürücüleri Süreç 2 Kullanıcı Alanı Çekirdek Alanı HW Platformu

Linux un iki düzlemi vardır: Çekirdek düzlemi: Sistem ve donanım kaynaklarına erişilen düzlem. Kullanıcı düzlemi: Uygulamaların çalışabileceği düzlem. Kullanıcı uygulamalarının çekirdeğe direk erişim adresleri yoktur. Kullanıcı uygulamaları çekirdek ile iletişim kurabilmek için Sistem Çağrılarına ihtiyaç duyarlar. Peki çekirdek, kullanıcı uygulamasına bir istek/komut/bildirim/ göndermeye ihtiyaç duyarsa?? Bu durumda kullanılan mekanizma Sinyallerdir. Yani Sinyaller, çekirdeğin kullanıcı uygulamaları ile iletişimini sağlayan mekanizmadır. Sinyaller ayrıca kullanıcı uygulamalarının kendi arasındaki iletişimde de kullanılır.(bir uygulamanın diğer uygulamaya istek/komut gönderme ihtiyacı olduğunda)

Sinyaller, Linux Çekirdeği tarafından kullanıcı düzleminde çalışan bir süreçle iletişim kurmak için kullanılan iletişim kanalıdır. Bunlar çekirdek tarafından bir süreci öldürmek için, durdurmak için, devam ettirmek için, zamanlayıcının dolduğunu bildirmek için, vb Ayrıca sinyaller kullanıcı düzeyinde çalışan diğer süreçler tarafından da gönderilebilir. Örneğin, Kullanıcı çalışan uygulamayı Ctrl-c tuşlarıyla sonlandırmak istediğinde, veya Ctrl+z tuşlarıyla durdurmak istediğinde Kullanıcı arka plandaki durmuş olan uygulamayı devam ettirmek için bg komutunu kullandığında, veya ön plandakini devam ettirmek için fg komutunu kullandığında Kullanıcı çalışan uygulamayı sonlandırmak için kill komutunu kullandığında Tüm bu durumlarda, sinyal gerekli görevi yerine getirmek için hedef uygulamaya gönderilir. Diğer kullanıcı uygulamalarından gönderildiğinde, önce sistem çağrısıyla çekirdeğe aktarılır ve bu da istenen işleme geri gönderilir.

Sinyaller hem Unix Sistemlerinde hem de POSIX Standardında tanımlanmıştır Sinyaller için bir tablo vardır. Her sinyalin, Sinyal numarası Sinyal ismi ( SIG ile başlayan) vardır. (1-31) arasındaki sinyaller normal sinyallerdir. 31 den büyük olan sinyaller Gerçek Zamanlı Sinyaller olarak adlandırılır.

$ kill <pid> $ kill -<Sinyal Numarası> <pid> $ kill <Sinyal Numarası> <pid> Kill komutu istenen sürece bir sinyal gönderir Bununla birlikte, komut adının 'kill' olmasına rağmen, farklı amaçlara sahip olan ve yalnızca işlemleri öldürmek için kullanılmayan her türlü sinyal için kullanılır. Sinyal belirtilmemişse, varsayılan olarak SIGTERM sinyali gönderilir. Örnek: $ kill -9 1185 $ kill SIGKILL 1185 Aynı komutlar!!!!

öldürmek(kill) İçin Diğer Yollar

$ killall <Sinyal> <komut adı> Killall komutu, belirtilen komutu çalıştıran tüm proseslere istenen sinyali gönderir. $ killall chrome Bu yöntem pid sini aramadan bir süreç seçmek için kullanışlıdır. Ayrıca çalışan programın tüm örneklerine sinyal göndermek için de kullanışlıdır. Sinyal belirlenmezse, SIGTERM devreye girer. Örnek: $ killall -9 gedit (Bütün gedit örneklerine SIGKILL sinyali gönderir)

$ pkill <sinyal> -u <kullanıcıadı> $ pkill < sinyal > -P <ana süreç> $ pkill < sinyal > <komut düzeni> $ pkill < sinyal > -t <Terminal ismi> pkill komutu ilgili farklı ölçütlere uyan süreçlere istenen komutu gönderir. Örneğin: Tom kullanıcısına sahip tüm süreçlere SIGTERM sinyali gönder. $ pkill -u tom tty1 terminalinde çalışan tüm süreçlere SIGSTOP sinyali gönder. $ pkill SIGSTOP -t tty1 pid si 1107 olan ana sürecin tüm alt süreçlerine SIGTERM sinyali gönder. $ pkill P 1107

$ xkill xkill komutu, kullanıcıya öldürmek istediği süreci mouse ile öldürme izni sağlar. Komut yazılır, daha sonra öldürülmek istenen ekrana arayüzden tıklanır.

Eğer GUI uygulaması askıdaysa, ve onu öldürmen gerekliyse ama askıda ekrandan dolayı öldüremiyorsan: Linux sanal terminali via ya geç, [Ctrl] [Alt] [F1] Sanal terminalden, ilgili kill komutu gir, $ killall -9 chrome İşlem bittikten sonra, tty-7 e geri dön [Alt] [F7]

Numarası 31 den büyük olan sinyallerdir. Ön tanımlı fonksiyonları yoktur ve kullanıcı/geliştiricilerin kullanması için bırakılmıştırlar. Programcı tarafından tanımlanırlar.

Sinyal Göndermek için Tetikleyiciler

Bazı sinyaller kullanıcıların kısayol tuşlarını kullanmasıyla tetiklenirler. Çekirdek bu kısayol tuşlarını algıladığında, ilgili sinyali çalışan sürece gönderir(veya çalışan süreç grubuna) Örnek: Ctrl-c SIGINT komutunu tetikler Ctrl-z SIGTSTP komutunu tetikler Ctrl-\ SIGQUIT komutunu tetikler

Bir süreç, çekirdeği, bir sistem çağrısı yaparak başka bir sürece sinyal göndermek üzere tetikleyebilir Bunun için örnek, kullanıcı terminalden komutlar göndermesidir. $ kill (Sinyali göndererek tetiklenir, SIGTERM varsayılan olarak) $ fg (Sinyali göndererek tetiklenir, SIGCONT) $ bg (Sinyali göndererek tetiklenir, SIGCONT) Bir süreç, başka bir sürece sinyal gönderilmesini de bazı özel fonksiyon API'ları vasıtasıyla programatik olarak tetikleyebilir

Donanım işlevi sürece sinyal göndererek çekirdeği tetikleyebilir. Buna örnek olarak: Çekirdek modemdeki bağlantı kesintisini algıladığında, oturumdaki bütün süreçlere SIGHUP sinyali gönderir.

Bir süreç sonlandığında, çekirdek şu sinyaller gönderir, SIGHUP sinyali bütün alt süreçlere, ana sürecin ölümünü bildirmek üzere gönderilir. SIGCHLD sinyali ana sürece, sonlanmış olan alt süreçleri bildirmek üzere gönderilir.

Bazı süreç istisnaları, sürece sinyal gönderilmesi için çekirdeği tetikler. Örnek: Eğer süreç illegal bir komut çalıştırmaya çalışırsa, çekirdek sürece SIGILL sinyalini göndermek üzere tetiklenir. Eğer süreç Kayan Nokta Hatası ndan dolayı zarar görürse, çekirdek SIGFPE sinyali gönderir. Eğer süreç boruya(pipe) yazmaya çalışıyorsa, diğer yandan da dinlemiyorsa, çekirdek SIGPIPE sinyali gönderir. Eğer süreç Boş İşaretçiye(Null Pointer) erişirse(veya diğer hafıza hataları), çekirdek SIGSEGV sinyali gönderir. Eğer süreç arka planda standart giriş/çıkış a okuma/yazma yapmaya çalışıyorsa, çekirdek SIGTTIN/SIGTTOUT sinyali gönderir. Eğer süreç bir hatadan çıkmak için abort() kullanırsa, çekirdek SIGABRT sinyali gönderir.

Bazen, bazı olaylar gerçekleşirken süreç çekirdekten bildirim isteyebilir. Normalde, süreç bu bildirim için bekler. Çekirdek bu bildirimi bir sinyal aracılığıyla ulaştırır Örnek: Çekirdek zamanlayıcının tükendiğini bildirmek için SIGALRM ve SIGVTALRM sinyallerini kullanır. Süreç bir dosya işleyicisine erişildiğinde çekirdekten bildirim ister.

Süreçlerin Sinyallere Cevabı

Bir sinyal sürece eriştiğinde, varsayılan eylemi gerçekleştirir. Her sinyalin kendi varsayılan davranışı açıklamasında yer almaktadır. Örnek: Bazı sinyallerin varsayılan sonlandırma eylemi vardır. (hassas sonlandırma). Bu SIGTERM, SIGPIPE, SIGUSR1, SIGUSR2 gibi birçok sinyal için geçerlidir. Bazı sinyallerin varsayılan olarak süreçler tarafından göz ardı edilme eylemleri vardır. SIGCHLD gibi. Bazı sinyaller süreçlere kendi varsayılan davranışını değiştirme izni vermez. Bu da sadece izin verilen, varsayılan davranışı yaptırma zorunluluğu kılar. Süreçleri durmaya zorlayan SIGSTOP komutu ve süreci derhal durdurma komutu SIGKILL da buna dahildir.

Bir süreç belirli sinyalleri göz ardı edecek şekilde ayarlanabilir. Bu sinyaller alındığında buna göre bir işlem gerçekleştirilmez. Bazı sinyallerin göz ardı edilmesi mümkün değildir. SIGSTOP ve SIGKILL gibi

Bir süreç bazı sinyalleri bloklayacak şekilde ayarlanabilir. Bir sinyali bloklamak, sonra işletilmek üzere sıraya koymak anlamına gelir.(bloklama kalktığında tekrar çalışabilir) Bu durum, süreç kesilmemesi gereken kodlar çalıştırırken oluşur. Her sürecin hangi sinyali bloklayacağını belirten bir maskesi vardır. Sadece belirli bir tipte sinyal bloklanabilir. Son kural gerçek zamanlı sinyaller için geçerli değildir.(numarası 31 den büyük olanlar) Bazı sinyaller bloklanamaz.(sigstop ve SIGKILL)

Bir süreç varsayılan işleyicisi çalışmadan önce sinyali yakalar, ve özel işleyicisine gönderir. Varsayılan olarak göz ardı edilen sinyaller için daha kullanışlı bir durumdur.(sigchld) Bazı sinyaller yakalanamaz ( SIGSTOP ve SIGKILL)

Popüler Sinyaller

Kapatma sinyali, çekirdek tarafından, oturum kapatıldığında bir tty oturumunda çalışan süreçleri bildirmek için kullanılır. Şu sebeplerden oluşabilir, Oturum modeminin bağlantısının kesilmesi, Makineye bağlanmak için kullanılan bağlantının kesilmesi Genellikle daemon süreçlerinin yapılandırma dosyalarını yeniden okumasını istemek için kullanılır Bu sinyalin süreçler için varsayılan eylemi sonlandırmadır.

Kesme sinyali kullanıcı Ctrl-c kısayol tuşunu kullandığında tetiklenir. Bu çekirdeğin o an çalışan süreç grubuna SIGINT sinyalini göndermesine sebep olur. Bu sinyalin süreçler için varsayılan eylemi sonlandırmadır.

Çıkış sinyali kullanıcının Ctrl-\ kısayol tuşlarını kullanmasıyla tetiklenir. Çalışan bütün süreç gruplarına SIGQUIT sinyali göndermesi için çekirdeği tetikler. Varsayılan eylemi çıkış ve çöplük dosyası üretmedir.(derleme işlemi için uygundur)

İllegal komut sinyali, süreç doğrulanmayan bir komut gerçekleştirdiğinde tetiklenir. Kodda veya yığın belleğindeki hafıza bozulmalarında gerçekleşebilir. Varsayılan eylemi sonlandırma ve çöplük dosyası üretmedir.

Abort sinyali, programın yanlış bir çıkışını belirtmek için abort() fonksiyonunu çağırdığında, çekirdek tarafından sürece gönderilir. Varsayılan eylemi sonlandırma ve çöplük dosyası üretmedir.

Tuzak sinyali genelde derleyicilerde ve program izleyicilerinde kullanılır.

Veri yolu hata sinyali, hafızaya yanlış girme girişiminde bulunan bir program hatası tarafından tetiklenir Buna bellek erişimindeki hizalama hataları sebep olabilir. Varsayılan eylem sonlandırma ve çöplük dosyası oluşturmadır.

Bir süreç kayan nokta komutu çalışırken istisna oluşursa, çekirdek tarafından sürece kayan nokta hata sinyali gönderilir. Varsayılan eylemi sonlandırma ve çöplük dosyası oluşturmadır.

Bir, başka süreçten gelen istekle açıkça öldürülür. İstek, işlemi temizleme şansı vermeden derhal ve zorla öldürmektir Bir süreç bu sinyali göz ardı edemez, bloklayamaz veya yakalayamaz.

SIGTSTP (terminal durdurma) Ctrl-z tuşlarıyla tetiklenir. Bu sinyal sürecin(veya süreç grubunun) operasyonu askıya almasına sebep olur. SIGSTOP sinyali SIGTSTP sinyali ile aynı etkiye sahiptir. Tek fark SIGSTOP komutunun gözardı edilememesi/bloklanamaması/yakalanamamasıdır. SIGSTOP ve SIGTSTP komutlarından biri ile durdurulan süreçler, SIGCONT komutunu beklerler.

Sinyal belirtilmediğinde, sonlandırma sinyali, kill komutu için varsayılan sinyaldir SIGTERM sinyalinin varsayılan eylemi, süreci temizlendikten sonra hassasça sonlandırmaktır.

Ahmed ElArabawy, Linux for Embedded Systems for Arabs

Dersin Sonu Kocaeli Üniversitesi Bilgisayar Mühendisliği Yapay Zeka ve Benzetim Sistemleri Ar-Ge Lab. http://yapbenzet.kocaeli.edu.tr/