vmstat (virtual memory statistics), Linux ve diğer UNIX tabanlı işletim sistemlerinde kullanılan bir komut satırı aracıdır. Sistem kaynaklarının kullanımı hakkında bilgi sağlamak amacıyla, bellek, işlem, blok I/O, sistem ve CPU kullanımı gibi bir dizi istatistik toplar.
Temel Kullanımı
vmstat komutu genellikle şu şekilde çalıştırılır:
vmstat
Bu, sistemin mevcut durumu hakkında bir özet sağlar.
Çıktı
vmstat komutunun çıktısı bir dizi sütundan oluşur:
procs: İşlem
Linux'ta free komutu, sistemin toplam, kullanılmış, serbest ve swap belleğini (geçici dosya alanı) göstermek için kullanılır. Bu komut, kullanıcıya belleğin hangi bölümlerinin kullanıldığını ve ne kadarının boşta olduğunu hızlı bir şekilde gösterir.
Temel Kullanımı
Terminalden sadece free komutunu yazarak çalıştırmak mümkündür:
free
Çıktı
Çıktı, bellek durumunun bir özeti olup şu sütunları içerir:
total: Toplam bellek miktarı.
used: Kullanılmış bellek m
Linux işletim sisteminde bellek yönetimi (Memory Management), sistem kaynaklarının etkili bir şekilde dağıtılmasını sağlayan karmaşık ve kritik bir süreçtir. İşte Linux'ta bellek yönetiminin ana bileşenleri ve kavramları:
Sanal Bellek
Linux, sanal bellek yönetimini kullanır, yani her işlem, tüm sistemin belleğine erişiyormuş gibi görünür. Gerçekte ise işlemler, fiziksel bellek (RAM) ile eşleştirilmiş sanal adreslere erişir.
Sanal Adres Alanı: Her işlem, kendi sanal adres alanına s
nice ve renice Linux'ta işlem önceliklerini ayarlamak için kullanılan komutlardır. İşlemlerin önceliği, işletim sisteminin işlemlere ne kadar işlemci zamanı ayıracağını belirler. İşte bu iki komutun ayrıntılı bir açıklaması:
nice Komutu
nice komutu, yeni bir işlemi belirli bir öncelik değeri ile başlatmanızı sağlar. Bu komut şu şekilde kullanılır:
nice -n [ÖNCELİK DEĞERİ] [KOMUT]
Öncelik değeri, -20 ile 19 arasında bir sayı olabilir, ancak bu değerler aralığı sistemden sisteme d
Linux ve Unix sistemlerinde kill komutu, belirtilen işlem kimliklerine (PID'ler) sinyal göndermek için kullanılır. En yaygın kullanımı, bir işlemi sonlandırmak içindir, ancak diğer sinyallerle işlemleri duraklatmak, devam ettirmek veya diğer eylemleri tetiklemek de mümkündür.
Kullanımı
Temel kullanımı şu şekildedir:
kill [seçenekler] PID
PID: Sonlandırılacak işlemin işlem kimliği (Process ID).
Seçenekler
-s SİNYAL: Hangi sinyalin gönderileceğini belirtir. Örne
top ve htop komutları, Linux işletim sistemlerinde kullanılan iki popüler işlem izleme aracıdır. Bu komutlar, sistemde çalışan işlemlerin ve kaynak kullanımının dinamik, gerçek zamanlı bir görünümünü sunar.
top Komutu
top komutu, işlemlerin CPU ve bellek kullanımı hakkında detaylı bilgi verir. Aşağıda, top komutunun bazı önemli özellikleri ve kullanımları verilmiştir:
Çalıştırmak: Terminalde sadece top yazarak çalıştırılır.
Sıralama: İşlemler, CPU kullanımı gibi belirli
Linux'ta ps komutu (process status), sistemde çalışan işlemlerin (taskların) durumunu görüntülemek için kullanılır. Bu komut, hangi işlemlerin çalıştığını, hangi kullanıcı tarafından çalıştırıldığını, sistem kaynaklarının ne kadarını kullandığını ve daha fazlasını gösterir.
Temel Kullanım
Basit bir ps komutunu terminalde çalıştırmak, genellikle sadece mevcut terminalde çalışan işlemleri listeler:
ps
Yaygın Seçenekler
ps komutu, çeşitli seçeneklerle kullanılabilir, bö
Linux'ta işlem yönetimi (Process Management), işletim sisteminin merkezi işlevlerinden biridir. İşlem yönetimi, sistemde çalışan programların yürütülmesinin ve kaynaklarının nasıl paylaştırılacağının kontrolünü içerir. İşte bu konuda bazı anahtar kavramlar ve bileşenler:
Oturum (Session)
Her oturumun, işlem grubu kimliklerine (PGID) benzer şekilde, benzersiz bir oturum kimliği (SID) vardır. Bu kimlik, oturum lideri olarak bilinen işlemin PID'si (İşlem Kimliği) tarafından belirlenir.
Python'da sanal ortam oluşturmak, projelerinizi izole bir ortamda çalıştırmanızı sağlar. Bu, her proje için özel bağımlılıklar ve sürüm numaraları kullanmanızı kolaylaştırır. İşte adım adım bir rehber:
İlk Adım: Python Kurulumu
Öncelikle sisteminizde Python'un yüklü olduğundan emin olun.
Sanal Ortam Oluşturma
Komut istemcisine gidin (Terminal, Command Prompt, PowerShell vb.) ve projeniz için bir dizin oluşturun. Dizin içinde aşağıdaki komutları çalıştırarak sanal ortamınızı oluştur
Linux işletim sisteminde CPU çekirdekleriyle ilgili bilgi almak ve etkileşimde bulunmak için kullanılan bazı yaygın komutlar ve çıktıları hakkında bilgi vereceğim.
lscpu: CPU mimarisi hakkında ayrıntılı bilgi verir. Çıktı, CPU ailesi, model, çekirdek sayısı, iş parçacığı sayısı, frekansı ve diğer özellikler gibi bilgileri içerir.
top: CPU kullanımını anlık olarak gösterir. Çıktı, her çekirdeğin ne kadar meşgul olduğunu ve hangi işlemlerin en çok CPU kullanımına sahip olduğunu gösterir.
Linux Kernel, Linux işletim sisteminin temel bileşenidir ve işletim sisteminin çekirdeğidir (kernel). 1991 yılında Linus Torvalds tarafından yaratılmış olan Linux Kernel, bir çok modern işletim sistemi dağıtımının (distro) kalbidir.
İşte Linux Kernel'ün ana özellikleri ve işlevleri:
Monolitik Çekirdek Yapısı: Linux, monolitik bir çekirdek yapısına sahiptir, bu da tüm temel sistem işlevlerinin çekirdekte çalıştığı anlamına gelir. Bu, donanım sürücüleri, dosya sistemleri ve daha fazlasın
Linux dağıtımları (distrolar), Linux çekirdeği üzerine inşa edilen işletim sistemleridir. Bu dağıtımlar, kullanılan yazılım, kullanıcı arayüzü, hedeflenen kullanıcılar veya sistem gereksinimleri gibi özelliklerde farklılık gösterebilir. İşte bazı yaygın Linux dağıtımları ve özellikleri:
Ubuntu: Hem başlangıç düzeyindeki kullanıcılar hem de profesyoneller arasında popüler olan kullanıcı dostu bir dağıtımdır.
Fedora: Güncel özellikler ve teknolojilerle tanınır, aynı zamanda nispeten kara
Ağaçlar (trees), düğümlerden (nodes) oluşan bir veri yapısı türüdür, ve bu düğümler bir hiyerarşi içinde birbirine bağlanır. Ağaçlar, çok sayıda uygulamaya sahip olan oldukça yaygın bir veri yapısıdır. İşte ağaçların bazı temel tanımları ve özellikleri:
Ağaç Tanımı:
Düğüm (Node): Ağaçtaki her bir öğe, bir düğüm olarak adlandırılır. Her düğüm, bir değer içerir ve diğer düğümlere olan bağlantıları temsil eder.
Kenar (Edge): İki düğüm arasındaki bağlantı, bir kenar olarak adland
Genel ağaçlar (General Trees), her düğümün sıfır veya daha fazla sayıda çocuğu olabileceği bir ağaç yapısı türüdür. Bu, genel ağaçların çok çeşitli yapıları modellemesine izin verir, ve bu nedenle birçok farklı uygulamada kullanılırlar.
Genel Ağaçların Özellikleri:
Kök Düğüm (Root Node): Ağaçta tam olarak bir kök düğümü bulunur. Bu düğüm, hiçbir üst düğümü (ebeveyni) olmayan tek düğümdür.
Çocuk Düğümler (Child Nodes): Her düğüm, sıfır veya daha fazla çocuk düğüme sahip olabi
Positional List, belirli bir pozisyona erişim sağlamak için uygun bir veri yapısıdır, bu da çeşitli sıralama algoritmalarının uygulanmasını mümkün kılar. Aşağıda, bir Positional List'i sıralamanın bir yolu olan Insertion Sort algoritmasının bir uygulamasını bulacaksınız.
Insertion Sort İle Positional List Sıralama
Insertion Sort, bitişik öğeleri karşılaştırarak ve gerekirse değiştirerek çalışır. Positional List içindeki elemanlar arasında bu karşılaştırmaları yapmak oldukça kolaydır.
Positional Doubly Linked List, pozisyonlarını takip etmek istediğiniz öğelerle çalışmanız gerektiğinde kullanabileceğiniz bir veri yapısıdır. İkili bağlı liste (Doubly Linked List) üzerine inşa edilmiştir, bu nedenle her düğüm bir sonraki düğüme ve bir önceki düğüme işaret eder.
class PositionalList:
class Node:
def __init__(self, element, prev, next):
self.element = element
self.prev = prev
self.next = next
class Position:
def __in
Pozisyonel Liste (Positional List) soyut veri tipi (ADT), öğelerin pozisyonlarını veya yerlerini temsil etmeyi kolaylaştıran bir veri yapısıdır. Bu yapı, öğeleri hatırlayarak, onları düzenli bir şekilde eklemeye, çıkarmaya ve güncellemeye olanak tanır.
Pozisyonel Liste ADT'si, genellikle ikili bağlı listeler gibi veri yapıları kullanılarak uygulanır ve aşağıdaki ana işlemleri içerir:
İlk Pozisyonu Bulma: Listenin ilk pozisyonunu verir.
Son Pozisyonu Bulma: Listenin son pozisyonunu
Bir deque (çift yönlü kuyruk), hem baştan hem de sondan öğe eklemeye ve çıkarmaya izin veren bir veri yapısıdır. İkili bağlı bir liste kullanarak deque oluşturmak, son derece uygun ve verimli bir yaklaşımdır.
İşte bir deque'nin ikili bağlı bir liste kullanarak nasıl uygulanacağına dair bir örnek:
1. Düğüm Sınıfı
Öncelikle, her düğümü temsil eden bir sınıf oluşturmalıyız. Her düğüm, bir değer ve iki bağlantı içerir: prev (önceki düğüme işaret eder) ve next (sonraki düğüme işaret ed
İkili bağlı listeler (Doubly Linked Lists) veri yapılarından biridir. Bu yapıda her düğüm kendisinden önceki ve sonraki düğümlerin referanslarını tutar. Bu, verilerin iki yönde de gezinilmesine olanak tanır. İkili bağlı bir listenin her bir düğümü genellikle bir veri kısmı ve iki referans kısmı içerir. Bu referanslar, düğümün kendisinden önceki ve sonraki düğümlere işaret eder.
İkili bağlı listenin bir şeması şu şekilde olabilir:
İkili bağlı listelerin bazı özellikleri şunlardır:
Descriptive statistics (Tanımlayıcı İstatistik), bir veri setinin ana özelliklerini özetlemek ve açıklamak için kullanılan istatistiksel yöntemler ve ölçümler bütünüdür. Bu tür istatistikler, karmaşık veri setlerini daha anlaşılır ve yorumlanabilir hale getirmeye yardımcı olur. Tanımlayıcı istatistik, genellikle iki ana kategoride incelenir: merkezi eğilim ölçüleri ve dağılım ölçüleri.
Merkezi Eğilim Ölçüleri
Bu ölçümler, veri setinin "orta" noktasını belirlemeye yardımcı olur.
Or
istatistikte "frequency" (frekans) kavramı, veri setindeki belirli bir değerin veya değer aralığının kaç kez göründüğünü ifade eder. Bu, veri setinin yapısını ve dağılımını anlamak için önemli bir araçtır.
Frekans Türleri:
Absolute Frequency: Bu, veri setinde belirli bir değerin kaç kez göründüğünü ifade eder. Örneğin, 10 öğrencinin 5'inin A aldığı bir sınıfta, A notunun mutlak frekansı 5'tir.
Relative Frequency: Bu, belirli bir değerin toplam gözlem sayısına oranıdır ve gene
Varyasyon, bir veri setindeki değerlerin ne kadar yayıldığını ya da değiştiğini ifade eder. Başka bir deyişle, veri değerlerinin ortalamadan ne kadar uzaklaştığını ölçer. Varyasyonun ölçümü, veri setindeki tutarlılığı ve istikrarı anlamaya yardımcı olur.
Örnek olarak, bir sınıftaki öğrencilerin matematik sınav puanlarını düşünelim. Eğer puanlar birbirine çok yakınsa, varyasyon düşük olacaktır. Eğer puanlar çok farklıysa, varyasyon yüksek olacaktır.
Verideki Varyasyon:
Veride
Sampling (örneklem alma), büyük bir veri kümesi veya popülasyon içerisinden seçilen bir alt kümenin incelenmesi işlemidir. Örneklem alma, tüm popülasyonu incelemek çok zaman alıcı veya maliyetli olduğunda kullanılır. İyi tasarlanmış bir örneklem, popülasyonun genel özelliklerini doğru bir şekilde temsil edebilir.
Örneklem Alma Yöntemleri:
Basit Rastgele Örneklem (Simple Random Sampling): Her bireyin seçilme şansı eşittir. Rastgele sayı üreteçleri kullanılarak yapılır.
Stratifiye Ö