Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

Hasonló dokumentumok
Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

A L I N U X f e l é p í t é s e

Linux-rendszermag HOGYAN

Linux alapok gyakorlat

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Ismerkedjünk meg a Linuxszal!

Állásidő minimalizálása: BTRFS, kgraft

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Komputeralgebra Rendszerek

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Kommunikációs rendszerek programozása. Switch-ek

Operációs rendszerek. UNIX fájlrendszer

Pénzügyi algoritmusok

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Operációs rendszerek 1.

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

The modular mitmót system. DPY kijelző kártya C API

Enterprise Content Governance

OPERÁCIÓS RENDSZEREK II GYAKORLAT

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Az Intel gyorsindító készlete a Linux*-hoz v1.2 Gyorstájékoztató. Megrendelési szám: C

Cisco Catalyst 3500XL switch segédlet

GPRS Remote. GPRS alapú android applikáció távvezérléshez. Kezelési útmutató

Néhány kihagyhatatlan Linux tipp és trükk. Ezeket a tippeket olvasóink osztották meg velünk

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

Operációs rendszerek. UNIX/Linux fájlrendszerek

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Windows há lo záti ádminisztrá cio gyákorlát

Kernelfordítás Alan Ward Full Circle magazine számában megjelent cikksorozata alapján készült összefoglaló

chmod umask chown, chgrp

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

(kernel3d vizualizáció: kernel245_graph.mpg)

Linux + XFS HOGYAN. Szteroiddal fűtött Linux. Russel Ingram. ringram@gargoylecc.com

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

EgroupWare: A csoportmunka megoldás

Cekla. Készítette Doxygen Tue Sep :13:44

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Hogyan telepíthetsz fel Arch linuxot

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Linux alapok és használatuk

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

C programozási nyelv

Programozás I gyakorlat

LINUX LDAP címtár. Mi a címtár?

Hálózatok építése és üzemeltetése

Opensuse automatikus telepítése

Fordítóprogramok. Aszalós László szeptember 7.

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

ProFTPD. Molnár Dániel október oldal

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák

Tartalomjegyzék. 1 Bevezetõ Tûzoltás Amihez értenünk kell... 2 Rövid tartalom A könyvben használt jelölések...

Code review és continous integration toolok BME-MIT

Operációs rendszerek III.

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

UNIX: fájlrendszerek

OpenBSD hálózat és NAT64. Répás Sándor

Nagy HF u tmutato 2011/2012 II. fe le v

Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies

C++ programok fordítása

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

Kernelfordítás Alan Ward Full Circle magazine számában megjelent cikksorozata alapján készült összefoglaló

Számítógépes hálózatok

2. modul - Operációs rendszerek

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Synology NAS integrálása inels IMM szerverhez

BME-MIT. Linux board bringup

Operációs rendszerek gyakorlat

Operációs rendszerek. 1. gyakorlat. Bevezetés, követelmények UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Fájl rendszer (implementáció) Fájl rendszer struktúra Allokációs módszerek Szabad hely kezelése Directory implementáció Helyreállítás

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Space Invaders Dokumenta cio

UNIX folyamatok kommunikációja

Kiszolgálók üzemeltetése. Iványi Péter

Programozás 6. Dr. Iványi Péter

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Mobil Informatikai Rendszerek

Valós idejű információk megjelenítése web-alapú SCADA rendszerben Modbus TCP protokollon keresztül

MÉrnöki szerkezeteket DIagnosztizáló és Nyilvántartó Alkalmazás (MEDINA) Erdődi László MÁV Zrt. PVÜF Híd és Alépítményi Osztály

Summer of LabVIEW The Sunny Side of System Design

Matematikai és Informatikai Intézet. 4. Folyamatok

Tájékoztató. Használható segédeszköz: -

Bevezetés, a C++ osztályok. Pere László

GYAKORLATI ALKALMAZÁS

Andrews Kft. Konténerek az IT biztonság szemszögéből.

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

LINUX PMB VIRTUALBOX TÖRTÉNELEM DEBIAN ALAPPARANCSOK - GRUB

Témák. Betörés megelőző rendszerek. Mire használhatjuk az IDS-t? Mi az IDS? (Intruding Detection System)

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Szathmáry László Debreceni Egyetem Informatikai Kar

3D-s számítógépes geometria és alakzatrekonstrukció

Az e-archivum működés közben. Puzsár Imre (Magyar Országos Levéltár)

A Linux operációs rendszer 2017.

Condor rendszer röviden. IKTA NI-2000/0008 munkaszkasz zárókonferencia

Átírás:

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben 2011. október 13.

Az alapprobléma A processzek állapotát gyakran le kell kérdezni. Az ehhez használatos eszközök: ps top Maga a monitorozás is erőforrást von el, ami nagy számú processz esetén teljesítménykiesést okoz. Meg kell vizsgálni a rendelkezésre álló eszközöket, és hogy hol lehet javítani azokon.

A processzek listájának lekérdezési ideje Néhány becslés a ps ax parancs futási idejére különböző számú processz mellett:

Egy lehetséges megoldás A processzek adatainak lekérdezése a kernelből lehetőleg minél nagyobb egységekben. Ehhez biztosítani kell a processzek adatainak egy struktúrába rendezését a kerneloldalon, az adatok átadását a kernel- és user-space között, a megjelenítéshez programokat.

A procps csomag A lekérdezéshez a programok egy külön procps csomagban vannak. Az alábbiak tartoznak bele: ps, top vmstat, free kill, skill, snice pgrep, pmap, pkill sysctl uptime, w slabtop, watch

A ps program Process Status listázás és fák kirajzoltatása. Különféle paramétermegadási módok Működése: saját processzleíró struktúra (proc_t) processztábla (PROCTAB) feltöltése processz adatainak lekérdezése (get_proc_status) adatok kiolvasása a stat fájlokból

A top program Curses alapú program. Periodikusan frissíti az adatokat, közben várakozik billentyűeseményekre. Két fő része van: összegző statisztikák (summary_show) processzek listája (task_show) Az adatokat szintén a /proc jegyzékből veszi.

A proc-fájlrendszer Virtuális fájlrendszer, melyben a fájlokhoz a kernelben függvények tartoznak, így a hozzáférés ellenőrzötten megoldható a kernel bizonyos részeihez. Lehetnek benne reguláris fájlok szimbólikus linkek speciális eszközfájlok jegyzékek

Fájl létrehozása #include <l i n u x / proc_fs. h>... struct proc_dir_entry create_proc_entry ( const char name, mode_t mode, struct proc_dir_entry p a r e n t ) ;

Jegyzék létrehozása, bejegyzés törlése struct proc_dir_entry proc_mkdir ( const char name, struct proc_dir_entry p a r e n t ) ; void remove_proc_entry ( const char name, struct proc_dir_entry p a r e n t ) ;

A callback függvény int ( p r o c f i l e _ r e a d char b u f f e r, char b u f f e r _ l o c a t i o n, off_t o f f s e t, int b u f f e r _ l e n g t h, int eof, void data ) ;... entry >read_proc = p r o c f i l e _ r e a d ;

A Linux kernel Monolitikus; egy nagy programnak tekinthető. Moduláris; futás közben dinamikusan lehet futtatható modulokat hozzáadni, vagy eltávolítani. Vannak dokumentációk hozzá, de nem teljeskörűek, és a kód gyorsan változik, ezért érdemes megnézni magát a forráskódot. http://www.kernel.org http://www.tldp.org

Kernel lefordítása Miért is lehet erre szükség? Személyre szeretnénk szabni a rendszert. Az adott verziót szeretnénk használni, és az nem érhető el máshogy, mert túl régi, túl friss, nincs lefordítva az adott architektúrára, nem tartalmazza az adott disztribúció. Meg szeretnénk ismerni a működését.

Fordítás és telepítés $ make mrproper $ zcat /proc/config.gz >.config $ make oldconfig $ make menuconfig $ make # make modules_install bzimage majd initrd létrehozása, esetleg GRUB konfigurálás.

A processzek nyilvántartása A kernelben a processzek task_struct struktúrák láncolt listájaként vannak nyilvántartva. Van még egy pid_hash tömb is PID szerint hash-elve. Egyszerűen be lehet járni a listát egy makróval: struct t a s k _ s t r u c t p ; for_each_process ( p ) {... }

Kernel modulok Egy külön lefordítható program, ami aztán hozzáadható a kernelhez. Az 1.2 -es verzióval került bele (1995). Alkalmazási területek: Device drivers Filesystem drivers System calls Network drivers TTY line disciplines Executable interpreters

Kernelmodul írása #include <l i n u x / k e r n e l. h> #include <l i n u x / module. h>... int init_module ( void ) {... }... void cleanup_module ( void ) {... }

Modulok betöltése/eltávolítása A modutils csomagban vannak az ehhez szükséges eszközök: insmod, rmmod depmod kerneld ksyms lsmod modinfo modprobe

További megoldandó problémák A megoldáshoz használható eszközök így már adottak, viszont vannak még további megoldandó feladatok, mint a processztábla lényeges adatainak egy kisebb struktúrába rendezése, nagyobb mennyiségű adat mozgatása, felhasználói programok írása, vagy meglévők átalakítása.

Köszönöm a figyelmet!