İşletim Sistemleri 01.3 – İşlemler

This item was filled under [ İşletim Sistemleri ]

Önceki Yazılara Buradan ulaşabilirsiniz.

İşlem Hiyerarşisi:

İşlemler belirli bir hiyerarşi içinde çalışırlar. Bazı işlemler alt işlemler oluşturarak bunların da çalışmasını sağlarlar. Böylelikle bir uygulamaya ait farklı görevler üstlenen işlemler eşzamanlı olarak çalışabilirler.

Resimde görüldüğü üzere, bazı işlemler başka işlemlerin ebeveyni olarak konumlanmış durumdalar.

Özellikleri:

  • Ebeveyn işlem, çocuk işlem ile eşzamanlı çalışabilir yada çocuk işlemin bitmesini bekleyip daha sonra kaldığı yerden çalışmaya devam edebilir.
  • Çocuk işlem, ebeveyn işlemin tüm değişkenlerini veya bir kısmını kullanabilir.
  • Ebeveyn işlemin sonlanması, çocuk işlemlerin sonlanmasına neden olur.
  • Çocuk işlemler, ebeveyn çalıştığı sürece çalışabilir veya aralıklarla çalışabilir.

Türleri:

  • Bağımsız: Çocuk işlemler, diğer işlemleri etkilemeden çalıştırılabilir ve sonlandırılabilirler, Sonucu kesindir, başka işlemlerin çalışması sonucunun değişmesine neden olmaz.
  • İşbirlikçi: Çocuk işlemler, birbirleri ile ortak çalışırlar, çalışma sıraları değiştiğinde sonuç değişebilir. Uygulamanın çıktısı her zaman aynı olmayabilir. Sonuç dış etmenlere de bağlıdır.

İşlemler Arası İletişim:

İşlemlerin birbirleri ile iletişim kurmasıdır. 2 temel iletişim metodu vardır.

  • Bellek Paylaşımı (Shared memory): Bu yöntemde veri iletimi yoktur. Birden fazla işlem aynı paylaşılan bellek bölgesini kullanarak değişkenler üzerinden iletişim kurarlar.
  • Mesaj Gönderme Arayüzü (Message Passing Interface): Bu yöntemde veri iletimi vardır. Bir işlem veriyi “send” metodu ile gönderirken, diğer işlem veriyi “receive” metodu ile alır.

Mesaj Gönderme Arayüzü, Uygulama Yöntemleri:

  • Direkt veya Dolaylı iletişim
  • Simetrik veya Asimetrik iletişim
  • Arabellek (Buffer) Mekanizması
  • Sabit Boyutlu veya değişken boyutlu mesajlar

Direkt İletişim:
Bu yöntemde bir işlem, göndereceği veriyi direkt olarak bir işleme gönderir. Bu yöntemde gönderici ve alıcı isimleri bilinmelidir. Mekanizma aşağıdaki gibidir.

send(tuketici_islem, veri);
receive(uretici_islem, veri);

Üretici/Tüketici Problemi: Standart bir problemdir. Bir işlem veri üretir, diğer işlem üretilen veriyi tüketir. Direkt iletişime uyarlanmış şekli şöyledir.

Üretici:

repeat
    uret item;
    send (tuketici, message);
until false

Tüketici:

repeat
    receive (uretici, message);
    tuket item;
until false

Özellikleri:

  • Bağlantı otomatik olarak sağlanır.
  • Yalnızca 2 işlem iletişimde bulunabilir.
  • 2 işlem için 1 bağlantı gerekir.
  • Genellikle tek yönlüdür.
  • Tuketici, iletişim sırasında üreticinin kimliğine ihtiyaç duymayabilir.
  • Her iki işlemin kimliği bilinmelidir, kodun bakımı zordur.

Dolaylı İletişim:
Bu iletişim yönteminde, işlemler posta kutusu denen yapı yardımı ile iletişim kurarlar. İşlem aşağıdaki gibidir.

open (posta_kutusu_adi);
send (posta_kutusu_adi, message);
receive (posta_kutusu_adi, message);
  • Ancak eğer bir posta kutusu varsa iletişim sağlanabilir. İşlemler arası iletişimin kurulabilmesi için öncelikle posta kutusu ile iletişim kurulmalıdır.
  • İkiden fazla işlem aynı posta kutusunu kullanabilir.
  • Birden fazla alıcı olduğunda işler karışabilir. Posta kutusuna mesa gelince kimin alacağı belirlenemeyebilir.

Simetrik İletişim:
Bu iletişim metodunda üretici ve tüketici eşit hızlarda çalışır, çoğu zaman ara belleğe gerek yoktur.

Asimetrik İletişim:
Bu iletişim metodunda üretici ve tüketici farklı hızlarda çalışırlar. Ara belleğe ihtiyaç duyulur.

Ara Bellek:

  • Sıfır: Üretici, tüketicinin veriyi almasını bekler.
  • Sınırlı Ara Bellek: Eğer ara bellekte n taneden fazla mesaj varsa üretici bekler.
  • Sınırsız Ara Bellek: Üretici hiç bir zaman tüketiciyi beklemez.

RPC (Remote Procedure Call, uzak prosedür çağrısı):
Ağ üzerinden bağlı bilgisayarlardaki uygulamaların birbirleri ile iletişim kurmaları için bir soyutlmadır.

Gelecek Bölüm:

  • Bellek Yönetimi

İşletim Sistemleri 01.2 – İşlemler ve Zamanlayıcı

This item was filled under [ İşletim Sistemleri ]

Tekrar merhaba, bu yazımızda sırasıyla:

  • Context Switching (İçerik Değiştirme)
  • Zamanlayıcı Çeşitleri
  • Zamanlama Algoritmaları

kavramlarına değineceğiz.

Context Switching (İçerik Değiştirme):

Preemption: Genel amaçlı modern işletim sistemlerinde bulunan bir yapı olan preemption mekanizması, bir işlemci üzerinde bir işleme t kadar bir zaman aralığı verilmesini sağlar. Eğer bir işlem t sürede tamamlanır ve “çalışıyor” durumundan “sonlandırıldı” durumuna geçerse, herhangi bir sorun olmaz, “hazır” kuyruğunda bekleyen sıradaki uygulama “çalışıyor” durumuna geçer. Fakat bir işlem t zaman aralığında sonlanmazsa “preemption” mekanizması devreye girer ve bu işlemi işlemciden (”çalışıyor” durumundan) alarak “hazır” kuyruğuna gönderir.

Context Swtichin (İçerik değiştirme) ise t zaman aralığında bitmemiş işlemin “hazır” kuyruğuna gönderilmesi sırasında gerçekleşen tüm olayları kapsar. Bu işlem sırasında gerçekleşen olaylar ise şu şekildedir.

  • Çalışan işleme ait PCB (Process Control Block, İşlem Kontrol Bloğu) veri yapısı belleğe yazılır.
  • Zamanlayıcının belirli algoritmalara dayanarak seçtiği yeni işleme ait PCB işlemciye gönderilir.
  • İşlemci PCB verilerine göre durumunu değiştirir. (Registerlar, program counter vs)
  • İşlemi çalıştırır.
  • t kadar süre geçtikten sonra durumunu belleğe gönderir, yeni işlemin gelmesini bekler.

Burada görüldüğü üzere bir işlem sonlanmadan, diğer bir işleme geçiş yapılmaktadır. Bu olaya Context Switching denir.

Context Switching’in yararları:

  • Çok işlemli işletim sistemlerinin tasarımını sağlar. Aynı anda birden fazla uygulama çalıştırılabilir.
  • Çok kullanıcılı işletim sistemlerinin tasarımını sağlar. Birden fazla kullanıcı sisteme bağlanabilir.
  • Bir işlem çalışırken, diğer işlemlerin de devam etmesini sağlar.
  • Herhangi bir uygulama çalışırken işletim sistemi de çalışmakta olduğundan işletim sistemi kontrolü sürekli elinde tutar.
  • Deadlock (daha sonra ayrıntılı olarak ele alınacaktır, bir uygulamanın kilitlenmesi olarak düşünebilirsiniz.) durumunda, sadece deadlock olmuş uygulamanın sonlandırılmasını sağlar.

Zamanlayıcı ve Çeşitleri:

Sıradaki işlemlerden hangisinin işlemcide çalıştırılacağını belirleyen mekanizmadır. Bu işlemi gerçekleştirmek için farklı algoritmalar kullanabilir.

Uzun Dönemli Zamanlayıcı (Long Term Scheduler):

  • İşlemleri iş kuyruğundan seçer.
  • Seçilen işlemleri çalıştırılmak üzere belleğe yükler.
  • Hazır kuyruğunu günceller.
  • Çokluprogramlamanın derecesini kontrol eder. (Ana bellekte kaç adet işlem olacağı)
  • Kısa dönemli zamanlayıcıdan daha seyrek çalışır.
  • Seçtiği işlemlerin işlemci kullanımı ve girdi/çıktı miktarı arasında bir oran oluşturmaya çalışır. Örnek olarak sürekli g/ç yapan işlemleri seçmez bunun yerine 1 adet g/ç, 1 adet hesaplama yapan işlem çalıştırır.
  • Bazı işletim sistemlerinde bulunmayabilir.

Kısa Dönemli Zamanlayıcı (Short Term Scheduler):

  • İşlemleri “hazır” kuyruğundan seçer.
  • İşlemciyi seçilen işlem için hazır duruma getirir (kaynak ayırır.)
  • İşlemi, işlemciye gönderir.
  • Çok kısa aralıklarla tekrar tekrar çalışır. (bir kaç milisaniyede bir)
  • Çok hızlı karar vermek zorundadır.

İyi Bir Zamanlayıcının Özellikleri:

  • Adalet: Her bir işlem, işlemciyi adil bir şekilde paylaşmalıdır.
  • Verimlilik: İşlemci yükü %100′e yakın olmalıdır, unutmayın ki kullanılmayan işlemcinin kimseye yararı yoktur.
  • Tepki Zamanı: İnteraktif kullanıcılar yaptıkları işlemlerin etkilerini çok kısa sürede görebilmelidirler. Kimse yazı yazmaya başladıktan belirli bir süre sonra ekranda harflerin belirmesinden hoşnut olmaz.
  • Geri Dönüş Süresi: Bir işlemin çıktı verene kadar geçen süresini minimuma indirmelidir.
  • Çıkış: 1 saat içinde yapılan işlem sayısını maksimize etmelidir.

Zamanlama Türleri:

1. Preemptive:

  • Süren bir işlemi kısa zaman aralıklarında çalıştırır, çalışmadığı zamanlarda işlemci’de çalışacağı zamanı bekler.
  • İşlemcideki kayıp zaman non-preemptive’e göre fazladır.
  • Interrupt (bir olayın sonucuna bağlı olarak), trap (hata veya exception’a bağlı olarak), Supervisor Call (kernel’den özel bir çağrıya bağlı olarak) nedeniyle işlem, duraklatılabilir.

2. Non-Preemptive

  • İşlem sonlanana kadar işletim sistemi işleme müdahale etmez.

Zamanlama Algoritmaları:

  • İlk Giren İlk Çıkar: Bu algoritmada işlemlerin işlemciye geliş sırasına göre işlemci bunları çalıştırır. En basit zamanlama algoritmasıdır. Uygulaması kolay olduğundan ve bazı sistemlerde gelen olaya göre sıralı tepki verilmesi gerektiğinde kullanılır. Ortalama bekleme süresi uzundur. Günümüz kullanım alanı genellikle gömülü sistemlerdedir. Preemptive değildir.
  • Son Giren İlk Çıkar: Bu algoritmada, ilk örneğin tersidir. Son gelen işi ilk sıraya alır. Pek fazla kullanım alanı yoktur. Preemptive değildir.
  • En Kısa İşlem Önceliği: Bu algoritmada sıradaki en kısa iş en önce yapılır. Böylece birim sayıda yapılan işlem sayısı artırılarak tepki zamanı düşürülmeye çalışılır. Genelde toplu işlemlerin yapılmasında kullanılır. (Bankadaki haftalık hesapların arkaplanda yapılması gibi) Preemptive değildir.
  • En Uzun İşlem Önceliği: Burada en uzun işlem ilk önce yapılarak işlemcideki iş yükünün sürekli yüksek olması amaçlanır. Böylece işlemciden daha çok verim alınabilir. Yüksek performanslı bilgisayarlarda sıkça kullanılmaktadır. Preemptive bir algoritmadır.
  • En Az İşlem Zamanı Kalan İşlem Önceliği: Bu algoritma en kısa işlem önceliği algoritmasının preemptive halidir. Bir işlemin ne kadar süre daha çalıştırılacağını belirleyip kalan zamanı en az olan işlemi çalıştırır. Günümüzde genel amaçlı bazı bilgisayarlarda kullanılmaktadır. Amacı tepki zamanını azaltmaktır. Preemptive bir algoritmadır.
  • Round Robin: En adil algoritmadır. Tüm işlemlerin önceliği aynıdır ve eşit zaman aralıklarında çalışırlar. Süresi dolan işlem preemtive edilir. bir sonraki işlem çalışır. Hazır kuyruğu olarak dairesel kuyruk veri yapısını kullanır. Preemptive bir algoritmadır.
  • Çok Kademeli Geri Beslemeli Zamanlama: Bu algoritma günümüzde genel amaçlı bilgisayarlarda en fazla kullanılan algoritmadır. Bu algoritmada Context Switch’den kaybedilen zamanı azaltmak için çalışan işlemlerden geri besleme alınır ve zaman aralığı artırılabilir. Ayrılan zamanı arttırmak CPU yükünü yüksek tutacağı gibi boş geçen zamanı düşürür bu da performans artışı sağlar. Tabii ki diğer taraftan starvation (bir işlemin yeterli kaynağı bulamaması durumunda kilitlenmesi) ihtimaline karşı önlem alınır ve belirli bir zaman periyodundan sonra context switching gerçekleşir.

Gelecek Bölüm:

  • İşlem akrabalıkları
  • İşlemler arası iletişim

İşletim Sistemleri 01.1 – İşlemler ve Zamanlayıcı

This item was filled under [ İşletim Sistemleri ]

İşlem (Proccess) Nedir?

İşlem bir uygulamanın çalışmakta olan (aktif olan) durumuna verilen isimdir.  Bir işlem tarafından tutulan özellikler aşağıdakilerdir.

  • Donanım durumu
  • bellek durumu ve adresleri
  • işlemci
  • ilerleme durumu

İşlemlerle çalışmak

  • kaynak paylaştırma (mantıksal (dosyalar) ve fiziksel (bellek, işlemci vs))
  • hesaplamaların hızlanması (paralel programlamanın avantajlarının kullanımı)
  • güvenliğin artması

gibi özellikler sağlar.

Bir İşlemin Durumları:

scheduler

  • Yeni: İşlemin henuz yeni oluşturulduğu durumdur.
  • Çalışıyor: işlemi oluşturan kodların çalıştırıldığı durumdur. Bu durumdaki işlem işlemcide tutulur.
  • Bekliyor: Bir olay veya girdi/çıktı işlemi için işlemin beklediği durumdur.
  • Hazır: Bir işlem için gereken tüm kaynakların ayrıldığı, işlemcide çalıştırılması için işlemin beklediği durumdur.
  • Sonlandırıldı: İşlemin bittiği durumdur.

PCB (Process Control Block, İşlem Kontrol Bloğu):

Her bir işlem ile ilgili bilgi içeren veri yapısıdır. İçerdiği bilgiler şunlardır:

  • PC (Program Counter, programın çalışması sırasında çalışmanın hangi aşamada olduğunu saklar.)
  • Bellek yönetim bilgileri
  • Kullanılan Zaman
  • İşlem Numarası
  • Girdi/Çıktı durumu
  • Zamanlayıcı verileri, öncelik
  • İşlem Durumu (bekliyor, çalışıyor vs)

Zamanlama (Scheduling):

Zamanlayıcının görevi aktif çalışan bir işlemi, işlemciden alıp yerine başka bir işlem atamaktır. Bu işleme Context Switching (CS) denir. CS yapılırken önceki işleme ait PCB alınıp belleğe yazılır ve yeni işlemin PCB’si işlemciye gönderilir.

Zamanlayıcı Kuyrukları:

Zamanlayıcı yapısında iki adet kuyruk vardır. Bunlardan bir tanesi Hazır kuyruğu, diğeri ise girdi/çıktı kuyruğudur. Hazır kuyruğunda işlemciye gönderilecek, kaynak tahsis edilmiş işlemler beklerken, girdi/çıktı kuyruğunda işlemcide çalışmış ancak bir kaynağa erişmesi gereken ve henuz kaynak tahsil edilmemiş işlemler beklerler. Bu listeler tekli bağlı liste olabileceği gibi çiftli bağlı liste de olabilir.

Gelecek Bölüm:

  • Zamanlayıcı (Devam)
  • İşlemleri Zamanlama
  • İşlemler Arası İletişim

2009-06-28 Tarihine kadar olan haftalık tweetlerim (:

This item was filled under [ tweet ]
  • Haziran2009 listesine göre dünyada 83. en hızlı olan bilgisayarı müzik dinlemek için kullanıyorum :D http://www.top500.org/list/2009/06/100 #
  • Rest in Peace #MichaelJackson #
  • Gaffar is working on a twitter module for company automation system. That will be great, we'll able to send updates via FeasibleCRM. #
  • Sağda solda artislik yapan Gaffar'ı PES'de madara etmiş olmanın haklı gururunu yaşıyor… #
  • Requesting an invite for Tweetboard Alpha (http://tweetboard.com) by @140ware, for my site: http://isadamlari.org #
  • İşletim Sistemleri ile ilgili yazı dizisi yazmaya başladım. Çok güzel olacak gibi… #
Tagged with: [ , ]

İşletim Sistemleri 00.1 – İşletim Sistemi Nedir?

This item was filled under [ İşletim Sistemleri ]

İşletim sistemleri teorisi ile ilgili yazmaya başladığım bu yazı dizisinin öncelikle içeriğinden bahsedip sonra genel olarak işletim sisteminin ne olduğuna değineceğiz. Çok fazla derine inmeden anlatacağım konular, genel bilgi sahibi olmak isteyenlerin işine yarayacaktır. Tabii ki daha ayrıntılı bilgi almak isteyenlere Andrew S. Tanenbaum’un “Modern Operating Systems” kitabını edinmelerini öneririm.

Başlıklar:

  • İşlem Yönetimi
  • Ana Bellek Yönetimi
  • Dosya Yönetimi
  • Girdi/Çıktı Yönetimi
  • İkincil Bellek Yönetimi

İşletim Sistemi Nedir?

İşletim Sistemi (İS) gerçekleşen olayları düzenleyen ve yöneten, bilgisayarın kaynaklarını uygulamalara dağıtan, kullanıcı ve donanım arasında bir arayüzdür. İS bilgisayarda çalışan uygulamalar için ev sahipliği görevini üstlenir. Bu görevin bir parçası olarak programların  donanımla ilgili işlemlerini yürütür. Böylece programcı donanım ile ilgilenmeden, donanım bağımsız uygulamalar yazabilir. Bu sayede farklı bilgisayarlarda aynı işletim sistemi çalıştığı müddetçe aynı uygulama da çalışabilir. Nerdeyse her bilgisayar, robotlar, beyaz eşyalar, dvd playerlar, mp3 playerlar birer işletim sistemi sayesinde işlemlerini yürütürler.

İşletim sistemleri, uygulama yazılımlarına ve kullanıcılara bir takım hizmetler sunarlar. Uygulamalar bu hizmetlere API (Application Programming Interfaces, uygulama geliştirme arayüzü) ve System Call (Sistem çağrısı) ile ulaşırlar. Bu yöntemle uygulama almak istediği hizmeti ve parametrelerini işletim sistemine gönderir ve cevabı bekler. Burada gerçekleşen işlemler programcıyı ilgilendirmez. Daha sonra işletim sistemi, verilen hizmeti tamamlayıp sonucunu uygulama programına gönderir.

Kullanıcılar işletim sistemleri ile birden fazla şekilde etkileşim içinde bulunabilirler. Bu etkileşim CLI (Command Line Interface, komut satırı arayüzü) veya GUI (Graphical User Interface, grafiksel kullanıcı arayüzü) olabilir. Kullanıcı arayüzü genelde ufak ve masaüstü sistemler için geliştirilmiş işletim sistemlerinde işletim sisteminin bir parçasıyken, Unix gibi geniş ölçekli, çok kullanıcılı işletim sistemlerinde işletim sisteminin üstünde çalışan bir uygulamadır (kurulum aşamasından önce işletim sistemine paket olarak dahil edilmesi bu gerçeği değiştirmez.).

Gelecek Bölüm:

  • İşlem Nedir?
  • Zamanlayıcı Nedir?

Linux Network Ayarları

This item was filled under [ Linux ]
Merhaba, bu yazımızda basit ağ ayarlarını linux altında GUI kullanmadan yapmanın yollarını anlatacağım. NIC: Network Interface Card, tüm ağ kartlarının genel adı. [Geçici]: Sistemi yeniden başlatınca değişebilecek ayarları belirtir. [Kalıcı]: Sistemi yeniden başlatınca değişmeyecek ayarları belirtir. Sistemdeki NIC’ler hakkındaki genel bilgileri görüntülemek:
ifconfig -a
Çıktı:
[~]$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0A:E4:CA:96:F5
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:17

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8123 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8123 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:31535832 (30.0 Mb)  TX bytes:31535832 (30.0 Mb)

pan0      Link encap:Ethernet  HWaddr 66:D1:9C:F1:AC:26
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr 00:1F:3B:36:EC:57
          inet addr:192.168.1.213  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21f:3bff:fe36:ec57/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:334705 errors:0 dropped:0 overruns:0 frame:0
          TX packets:303634 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:243138275 (231.8 Mb)  TX bytes:61789735 (58.9 Mb)

wmaster0  Link encap:UNSPEC  HWaddr 00-1F-3B-36-EC-57-00-00-00-00-00-00-00-00-00-00
          UP RUNNING  MTU:0  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
Sistemdeki aktif NIC’ler hakkındaki genel bilgileri görüntülemek:
ifconfig
Çıktı:
[~]$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0A:E4:CA:96:F5
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:17

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8133 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8133 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:31536407 (30.0 Mb)  TX bytes:31536407 (30.0 Mb)

wlan0     Link encap:Ethernet  HWaddr 00:1F:3B:36:EC:57
          inet addr:192.168.1.213  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21f:3bff:fe36:ec57/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:334983 errors:0 dropped:0 overruns:0 frame:0
          TX packets:303912 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:243173481 (231.9 Mb)  TX bytes:61828962 (58.9 Mb)

wmaster0  Link encap:UNSPEC  HWaddr 00-1F-3B-36-EC-57-00-00-00-00-00-00-00-00-00-00
          UP RUNNING  MTU:0  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
Herhangi bir NIC hakkındaki genel bilgileri görüntülemek:
ifconfig ethN
Burada ethN yerine bilgi almak istediğiniz kartın adını yazmalısınız. Çıktı:
[~]$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0A:E4:CA:96:F5
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:17
[Geçici] Pasif NIC’i aktif etmek:
ifconfig ethN up
[Geçici ]Aktif NIC’i pasif etmek:
ifconfig ethN down
[Geçici] Ip adresini değiştirmek:
ifconfig ethN 192.168.0.1 netmask 255.255.255.0 up
[Geçici] Mac ID değiştirmek: ethN interface’inin mac id’sini “00:0A:E4:CA:96:F7″ olarak ayarlamak için:
ifconfig ethN down
ifconfig ethN hw ether  00:0A:E4:CA:96:F7
ifconfig ethN up
[Geçici] DHCP ile ip almak:
dhclient ethN
ya da
dhcpcd ethN
dhcpcd ile dhclient arasındaki fark; dhcpcd’nin daemon olarak sürekli arka planda çalışması, dhclient’ın ise sadece siz çağırınca bir defa çalışıp, DHCP server’dan ip alması ve ardından sonlanmasıdır. [Geçici] Varsayılan Ağ Geçidini değiştirmek: ağ geçidini 192.168.1.1 olarak ayarlamak için:
route add default gw 192.168.1.1 ethN
[Geçici] Bir NIC’e birden fazla ip vermek:
ifconfig ethN:0 192.168.1.97 netmask 255.255.255.0 up
ifconfig ethN:1 192.168.1.98 netmask 255.255.255.0 up
ifconfig ethN:2 192.168.1.99 netmask 255.255.255.0 up
[Kalıcı] Statik Ip Tanımı Yapmak: Statik ip tanımlamaları dağıtımlar arasında farklılıklar içermektedir. Ubuntu dağıtımı için:
/etc/network/interfaces
dosyasını düzenlemeniz gerekmektedir. Söz gelimi ethN isimli karta 192.168.3.30 numaralı ip adresini vermek için:
auto ethN
iface ethN inet static
address 192.168.3.30
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
satırlarını eklemelisiniz. Archlinux dağıtımı için:
/etc/rc.conf
dosyasını düzenlemeniz gereklidir. Söz gelimi ethN isimli karta 192.168.3.30 numaralı ip adresini vermek için:
ethN="ethN 192.168.3.30 netmask 255.255.255.0 broadcast 192.168.3.255"
INTERFACES=(ethN)
gateway="default gw 192.168.3.1"
ROUTES=(gateway)
satırlarını eklemelisiniz. Birden fazla ip kullanmak için Her iki dağıtımda da ethN yerine ethN:0, ethN:1 gibi sanal kart isimleri kullanabilirsiniz. [Kalıcı] Sistemin Her Network Başladığında Dinamik Ip Adresi Almasını Sağlamak:
/etc/rc.conf
dosyasını düzenlemeniz gereklidir. Ubuntu:
auto ethN
iface ethN inet dhcp
Archlinux:
ethN="dhcp"
INTERFACES=(ethN)
Ağ Servislerini Yeniden Başlatmak: Burada yapılan bazı değişiklikler ağ hizmetlerinin yeniden başlatılmasını gerektirebilir. Bu işlem farklı linux dağıtımlarında farklı yöntemlerle yapılmaktadır. Ubuntu:
/etc/init.d/networking restart
Archlinux:
/etc/rc.d/network restart
Bu yazıyı beğendiyseniz, diğer yazılarımıza da Linuxipuclari.com adresinden ulaşabilirsiniz.

2009-06-07 Tarihine kadar olan haftalık tweetlerim (:

This item was filled under [ tweet ]
Tagged with: [ , ]

Linux Nedir?

This item was filled under [ Linux ]
***************
Nedir bu Linux ?
***************

Linux dediğimiz kısım çekirdek ingilizce ismiyle kernel denilen kısımdır
Kaba bir tabirle sistemin donanımı asıl yöneten ve diğer programların bu
donanımlara onun üzerinden erişimini sağlayan kısımdır şeklinde
düşünebilirsiniz.

Edineceğiniz DAĞITIMlardaki birkaç fazladan eklenmiş ek yama olmadığı
sürece yaklaşık olarak aynı tarihlerde çıkmış Dağıtımlar genelde Aynı
Version çekirdek/linux kullanılır
(ki Version yerine Sürüm demeyi tercih ederim )

Ve şu anki son Linux sürümü 2.6.30-(aday 7) dir.  ( 1 Haziran 2009 )

***************
Peki ubuntu , pardus , kubuntu , suse nedir ?

Onlardaki 9.2 11,8 gibi sürümler nedir ?
***************

Bunlara dağıtım denilir ingilizce kısa ismiyle distro.

Bir kişi (evet evet 1 kişi bile olabilir) , grup veya şirket çekirdek
dediğimiz bu linux'u alır
üstüne komutların girilmesini sağlayan bazılarının hatayla dos kipi
diye tabir ettiği
kabuğu , hani fareyi kullandığımız pencereler olan şu görsel kısmı ,
oyunları , müzik programlarını , çeşitli animasyon ve bazı yapılandırma
programlarını koyar ve Bu ortaya çıkan esere DAĞITIM denilir.
İsmine ister ÖmerUsta gnu/linux ister XYZ gnu/linux der.

Ve bu dağıtımın ilk sürümüne 1.0 veya XYZ gnu/linux 2009 diyebilir

***************
Yani Sadece Kernel yani Linux tek başına bir işletim sistemi  değil midir ?
***************

Tek başına bir araba motorunu Araba kabul edebileceğimiz kadar
tek başına çekirdeği de(linux'u da) o ölçüde işletim sistemi kabul edebiliriz.
Linux dağıtımlarının hepsi GNU projesinden programlarla donatılmışlardır
sırf bu nedenle dağıtımların ismine XYZ linux yerine XYZ linux/gnu dememiz
aslında daha doğrudur.

***************
Peki XYZ gnu/linux 1.0 mı daha yenidir yoksa QWY gnu/linux 99999.9  mu ?
***************

Bu sadece içerisindeki programların sürümlerine bakarak söylenebilecek
bir kriterdir. Yani QWY çok eskiden beri devam eden bir DAĞITIMdır ve
son sürümü mesela 99999.9 dur fakat XYZ çok yenidir ve sürümü 1.0dır
ama içindeki proje programların tamamı aynı sürümlerde ise ikiside
aynı tazeliktedir.

***************
Peki genel olarak hangi projelere bakarak bir DAĞITIM'ın yeni eski olduğunu
kabul edebiliriz ?
***************

Birinci kıstas genelde  çekirdek ( kernel ) yani linuxtur. Ardından
şu projelerin sürümleri kontrol edilebilir  :(   parantez içindekiler günümüzdeki
son sürüm numaralarıdır )
abiword (2.6.8)
alsa-lib (1.0.20)
amarok (2.0.2)
ati-driver (9.5)
bind (9.6.0-P1)
compiz (0.8.2)
cups (1.3.10)
db (4.7.25)
dhcp (4.1.0)
emacs (22.3)
evolution (2.26.2)
firefox (3.0.10)
freetype (2.3.9)
gcc (4.4.0)
gimp (2.6.6)
glibc (2.10.1)
gnucash (2.2.9)
gnumeric (1.8.4)
gtk+ (2.16.2)
hal (0.5.12)
httpd (2.2.11)
inkscape (0.46)
jre (6u14)
k3b (1.0.5)
kdebase (4.2.3)
koffice (2.0.0)
libgnome (2.26.0)
module-init-tools (3.9)
mono (2.4)
MPlayer (1.0rc2)
mysql (5.1.34)
nautilus (2.26.3)
NVIDIA (180.51)
OpenOffice.org (3.1.0)
openssh (5.2p1)
openssl (0.9.8k)
perl (5.10.0)
php (5.2.9)
pidgin (2.5.6)
postfix (2.6.1)
postgresql (8.3.7)
Python (3.0.1)
qt-x11 (4.5.1)
samba (3.3.4)
sendmail (8.14.3)
thunderbird (2.0.0.21)
udev (142)
vim (7.2)
xfce (4.6.1)
xine-lib (1.1.16.3)
xorg-server (1.6.1)

***************
Peki aynı sürüm ve aynı proje programlarını kullanan iki
ayrı linux dağıtımı aynı mıdır ?
***************

Eğer yeterince şanslıysanız bunun gibi bir senaryo ile karşılaşabilirsiniz.
Bu durumda out-of-box diye tabir edilen kurulum sonrasındaki halleri ile
aynıdırlar ( yukarıda anlattığım şart geçerli ise)

***************
Peki neden XYZ linux'u QWY linux'a tercih edeyim
veya neden XYZ varken QWY de mevcut ?
***************

Diyelim bir üst sorudaki senaryomuz gerçek oldu ve 2 dağıtımda
tıpatıp aynı sürüm ve projelerle geliyor. Bu durumda birinci önceliği
bu dağıtımların güncelleme sıklıkları ve güncellemelerin sistem güvenlik
ve kararlılığına etkisi 2 dağıtım arasındaki seçim yapma nedenimiz oluşturur.

Diyelim XYZ güvenlik güncellemelerini gün aşırı yayınlarken
QWY ise Piyasadan tanıyacağınız bir işletim sistemine benzer şekilde
3 Ayda bir yayınlıyorsa XYZ'yi seçmeniz için geçerli bir sebebiniz var demektir.

Diğer seçim yapılırken ki etken ise kullanılan ilgili dağıtıma özel yazılmış
güncelleme / yapılandırma uygulamaları. Yani insanları o dağıtımı seçmeye
teşvik etmek için yazılmış kurulumu, kullanımı yapılandırmayı ve
güncellemeyi basitleştiren
kullanıcı dostu uygulama/programlardır.

Son sebep ise yine belirli bir hizmet için ayarlanmış out-of-box linux
dağıtımlarıdır.
Yani diyelim sunucu işlemleri için özel yapılandırılmış gereksiz
uygulamaların kurulu
olmadığı sisteme kurar kurmaz yapılandırma denilemeyecek kadar kısa ayarlarla
sistemi çalışır pozisyona getirdiğiniz hazırHap kıvamındaki dağıtımlar
mevcuttur.
[ Burada bir parantez açıp ister QWY ister XYZ dağıtımını alıp ilgili
programları yine o dağıtıma özel şekilde sisteme kurup bu hazırHap diye
tabir ettiğim dağıtımla aynı işi yapan şekle sokmanız mümkündür ]

Dilim döndüğünce klavyem el verdiğince bilgimi paylaşmaya çalıştım
sürç-i lisan ettiysem şimdiden affola.

Ömer Fadıl USTA
omerusta@gmail.com
Telif Hakkı © 2009
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
Bu belge GNU Free Documentation License lisansı ile dağıtılmaktadır.
Tagged with: [ , , , ]

2009-05-31 Tarihine kadar olan haftalık tweetlerim (:

This item was filled under [ tweet ]
Tagged with: [ , ]

2009-05-17 Tarihine kadar olan haftalık tweetlerim (:

This item was filled under [ tweet ]
  • Ne salak kurumdur AKSigorta, bundan sonra ilk girdiğim şirketten hizmet almamaya söz veriyorum. #
  • http://bit.ly/RDxqO #
  • Ne hale geldik türk halkı olarak :S http://bit.ly/RDxqO #
  • Sağ Ayak başparmağımdaki rahatsızlığı google’dan araştırarak dolama olduğunu öğrendim, şimdi ne yapmak gerekir, öneri bekliyorum. #
Tagged with: [ , ]
Page 1 of 612345»...Last »