|
1. Mühazirə Əməliyyat sistemi anlayışı
|
bet | 11/54 | Sana | 04.12.2023 | Hajmi | 1,95 Mb. | | #110636 | Turi | Mühazirə |
Bog'liq Əməliyyat sistemləri muhazire konspekti (1) Proses anlayışı
Birinci mühazirədə , “əməliyyat sistemi” anlayışını izah edərək və əməliyyat sistemlərinin qurulma üsullarını təsvir edərək, biz çox vaxt “proqram” və “tapşırıq” sözlərindən istifadə etmişdik. Biz belə demişdik: hesablama sistemi bir və ya bir neçə proqramları icra edir, əməliyyat sistemi tapşırıqları planlaşdırır, proqramlar verilənlərlə mübadilə edə bilirlər və i.a. Biz bu terminləri müəyyən bir hamının işlətdiyi, gündəlik mənasında istifadə etmiş və belə nəzərdə tutmuşduq ki, bütün şəxslər hər bir konkret halda o sözlər altında eyni bir mənanı başa düşürlər. Bu halda eyni bir sözlər həm hesablama sistemi tərəfindən emal olunmayan statiki vəziyyətdəki obyektləri (məsələn, diskdəki fayllar toplusu) və həm də, icra prosesində yerləşən dinamik vəziyyətdəki obyektləri işarə edirdilər. Bu, yalnız, daxili quruluşlarına fikir vermədən, əməliyyat sistemlə-rinin ümumi xassələri barəsində danışdıqda; eyni zamanda birdən artıq proqram və ya birdən artıq tapşırığı emal edə bilməyən və mahiyyət etibarilə, əməliyyat sisteminə malik olmayan birinci və ikinci nəsil hesablama sistemlərinin işi barəsində danışdıqda mümkün idi. Amma indi biz müasir kompüter sistemlərinin işləmə detalları ilə tanış olmağa başlayırıq və ona görə də, terminologiyanı dəqiqləşdirmək lazımdır.
Aşağıdakı misalı nəzərdən keçirək. Iki tələbə ədədin kvadrat kökünü tapmaq üçün proqramı yükləyirlər. Onlardan biri 4-ün, ikinci isə 1-in kvadrat kökünü hesablamaq istəyir. Tələbələrin nöqteyi-nəzərincə, eyni bir proqram yüklənilmiş-dir; kompüter sisteminin nöqteyi-nəzərincə, o, iki müxtəlif proseslərlə məşğul olmalıdır, çünki, müxtəlif ilkin verilənlər hesablamaların müxtəlif toplusuna gətirib çıxarırlar. Bu isə o deməkdir ki, baş verənlər səviyyəsində, hesablama sisteminin daxilində sözün istifadəçi mənasında “proqram” terminindən istifadə edə bilməyəcəyik.
Paket emalı sistemlərini nəzərdən keçirərək, biz, onun yerinə yetirilməsi üçün zəruri olan tapşırıqların idarə olunma dilinin əmrlər toplusunu və giriş verilənlərinin proqramlar toplusu kimi “tapşırıq” anlayşını daxil etdik. Tələbələrin nöqteyi-nəzərindən, onlar, müxtəlif ilkin verilənləri yerinə qo-yaraq, iki müxtəlif tapşırıqlar formalaşdırdılar. Bəlkə, kom-püter sistemlərinin daxili işinin təsviri üçün “tapşırıq” termini bizim üçün yaracayaq? Bunu aydınlaşdırmaq üçün gəlin başqa bir misalı nəzərdən keçirək. Fərz edək ki, hər iki tələbə 1 ədədinin kvadrat kökünü tapmağa cəhd göstərirlər, yəni, qoy onlar tam oxşar olan tapşırıqlar formalaşdırmışlar, amma, onla-rı vaxta görə sürüşmə ilə yükləmişlər. Yerinə yetirilən tapşırıqların biri əldə olunmuş qiymətin çap olunmasına başlamış və giriş-çıxış əməliyyatının bitməsini gözlədiyi halda, ikincisi isə yalnız icra olunmağa başlayır. Bu anda hesablama sistemi daxilində tapşırıqların tam oxşar olması barəsində danışmaq olarmı? Olmaz, çünki, onların yerinə yetirilmə prosesinin vəziyyəti müxtəlifdir. Bu isə o deməkdir ki, hesablama sistemində baş verənlərin təsviri üçün “tapşırıq” sözü də tətbiq oluna bilməz.
Bu onun üçün baş verir ki, “proqram” və “tapşırıq” terminləri statiki, qeyri-aktiv obyektlərin təsviri üçün təyin olunmuşlar. Proqram isə icra olunma prosesində dinamiki aktiv olan obyektdir. Onun işinin gedişatında kompüter müxtəlif əmrləri emal edir və dəyişənlərin qiymətlərini çevirir. Proqramın yerinə yetirilməsi üçün əməliyyat sistemi müəyyən qədər əməli yaddaş ayırmalı, ona giriş-çıxışın müəyyən qurğularını və ya faylları təhkim etməli (oradan giriş verilənləri daxil olmalı və oraya əldə olunmuş nəticələri çatdırmaq lazımdır), yəni, bütün hesablama sisteminin ümumi resurslarından müəyyən resursları ehtiyatda saxlamalıdır. Onların miqdarı və konfiqurasiyası müəyyən vaxt müddətində dəyişə bilər. Bu cür aktiv obyektlərin kompüter sistemi daxi-lində təsviri üçün biz “proqram” və “tapşırıq” terminləri əvə-zində “proses” kimi yeni termindən istifadə edəcəyik.
Bir sıra dərs vəsaiti və monoqrafiyalarda sadəlik üçün təklif olunur ki, proses yerinə yetirilmə vaxtı proqramı xarakterizə edən abstraksiya (mücərrəd fikir) kimi nəzərdən keçirilsin. Bizim fikrimizcə, bu tövsiyə o qədər də korrekt deyildir. Prosesin başa düşülməsi icra olunan əmrlər toplusunun və onunla assosiasiya olunan resurslar (icra olunmaq üçün ayrılan yaddaş və ya ünvan fəzası, steklər, istifadə olunan fayllar və giriş-çıxış qurğuları və s.) və əməliyyat sisteminin idarəsi altında onun yerinə yetirilməsinin cari anı ilə (registrlərin, proqram sayğacının qiymətləri, stekin vəziyyəti və dəyişənlərin qiymətləri) xarakterizə olunur. He-sablama sistemi tərəfindən emal olunan proseslər və proqramlar arasında qarşılıqlı-bir mənalı uyğunluq mövcud deyildir. Gələcək mühazirələrdə göstəriləcəkdir ki, bəzi əməliyyat sistemlərində müəyyən proqramların işləməsi üçün birdən artıq proses təşkil oluna bilər və ya eyni bir proses ardıcıl bir neçə müxtəlif proqramları icra edə bilər. Bundan əlavə, hətta bir proses çərçivəsində yalnız bir proqram emal olunduğu halda, hesab etmək olmaz ki, proses özlüyündə icra olunan fayl kodunun, verilənlərin və onun üçün ayrılmış resursların sadə dinamiki təsvirindən ibarətdir. Proses, əməliyyat sisteminin idarəsi altındadır, buna görə də, orada onun nüvə kodunun bir hissəsi (icra olunan faylda yerləşməyən hissəsi) həm proqram müəllifləri tərəfindən xüsusi planlaşdı-rılmış (məsələn, sistem çağrışlarından istifadə etdikdə) hallarda, həm də, nəzərdə tutulmayan vəziyyətlərdə (məsələn, xarici kəsilmələrin emalında) yerinə yetirilə bilər.
|
| |