Компьютерлік желілерді тсінігі жне архитектурасын сипаттаыз

Компьютерлік желі (аылш. сomputer network) — барлы рылыларды бір-бірімен зара рекеттесуіне ммкіндік беретін байланыс желілері арылы осылан компьютерлерді жне басып шыарыштар мен мтін алылар сияты баса рылыларды тобы. Компьютерлік желі – бір бірімен млімет аламаса алатын кем дегенде екі компьютерді байланыс ралдары кмегімен арым-атынас жасауына арналан апарат деуді тарматалан жйесі. Жалпы айтанда желі деп дербес компьютерлерді жне де принтер, модем жне есептеу рылыларыны бір-бірімен байланысан жиынын айтады. Желілер рбір ызметкерге басалармен млімет алмасып рылыларды орта пайдалануа, ашыта орналасан уатты компьютерлердегі мліметтер базасымен атынас руа жне ттынушылармен траты байланыс жасауа ммкіндік береді. Желілер шаын немесе лкен, кабельдер арылы траты жаланан, немесе телефон желілері мен сымсыз арналар арылы уаытша жаланан болуы ммкін. Е лкен желі – Интернет, ол бкіллемдік желілер тобы болып табылады. Желі рамына кіретін компьютерлер мынадай жмыс атарады: желімен атынас руды йымдастыру; оларды арасында млімет алмасуды басару; желі ттынкшыларына есептеу рылыларын пайдалануа беріп,олара ртрлі ызмет крсету.

Компьютерлік желілерді негізінде растырылан апаратты жйелер:

– мліметтерді сатау;

– мліметтерді деу;

– мліметтерге олданушыларды рсатын йымдастыру. Компьютерлік желілеріні сапасыны негізгі крсеткіштері:

– орындалатын функцияларды толытыы. Желі барлы арастырылан функцияларды жне барлы ресурстара рсат етуін, жне тйіндерді бірлескен жмыстарында, жне барлы протоколдарды жне жмыс стандарттарыны орындалуын амтамасыз етуі керек;

– німділік – уаыт бірлігін орындайтын, желі олданушылар сранысыны орта саны;

– ажетті орындау ммкіншілігі – уаыт бірлігінде желі арылы жіберілетін мліметтер (немесе оны буыны – сегмент) санымен аныталады;

– желі сенімділігі – жиірек орта уаытпен бас тартуа атарылан жмыс клемімен сипатталады;

– нтижелік апаратты сенімділігі;

– ауіпсіздік – желіні абілеттілігі рсат етілмеген апаратты орауды амтамасыз ету;

– желіні айындыы – олданушыа желіні ішкі архитектурасын ерекшелігіні елеусіздігін білдіреді;

– желіні мбебаптылыы – трлі техникалы рылыларды желіге осылу жне трлі ндірушілерден программалы бадарлама ммкіндігі.

Желілерді архитектурасы

Желілерді архитектурасы желідегі негізгі элементтерді анытайды, оны орта логикалы йымын, техникамен, программамен амтамасыз етуін сипаттайды, кодтау дістерін суреттейді. Сонымен атар архитектура жмыс жасау принципін жне олданушыны интерфейсін анытайды.

Архитектураны ш трі:

терминал – негізгі компьютер архитектурасы;

клиент – сервер архитектурасы;

бір рангті архитектура.

Терминал – негізгі компьютер архитектурасы.

Терминал – негізгі компьютер архитектурасы (terminal – host computer architecture) – бл мліметтерді барлы делуі бір немесе топталан негізгі компьютерлерде жзеге асырылатын апаратты желі концепциясы.

аралып жатан архитектура жабдытауды екі трін сынады:

желіні басаруды, мліметтерді сатауды жне деуді амтамасыз ететін – негізгі компьютер.

Терминал, негізгі компьютерден команданы жіберуде сеанстарды йымдастыруа жне есептерді орындауа, есептерді орындау шін мліметтерді енгізуге жне нтижені алу шін аралан.

Негізгі компьютер мліметтерді жіберу мультиплексоры арылы терминалдармен зара рекеттеседі, бл 1.3 суретінде крсетілген.

Негізгі компьютерлермен желіленген архитектураа классикалы мысал - жйелі желілік архитектура (System Network Architecture – SNA).

Бір рангті архитектура

Бір рангті архитектура (peer-to-peer architecture) – бл барлы оны ресурстары жйелерге бліп жайасан апаратты желілерді концепциясы. Бл архитектура оны барлы жйелері те ылыымен сипатталады.

Бір рангті желілерге кез-келген жмыс станция бір уаытта файлды серверді жне жмыс станцияны функциясын орындайтын кішігірім желілер жатады. Бір ренгті ЛЕЖ-де дисктік кеістік жне файлдар кез-келген компьютерде орта болуы ммкін. Ресурс орта болу шін, оны бір рангті желілік операциялы жйелерді ашытаы рсат ызметін олданып, орта олдануа беру керек. Мліметтерді орау алай орнатылуына байланысты, баса олданушылар, файлдар рыланнан бастап, лезде олданыла алады. Бір рангті ЛЕЖ тек кішігірім жмыс топтары шін жеткілікті жасы.

Бір рагті ЛЕЖ орнатуа е жеіл жне арзан желіні трі болып табылады. Олар компьютерді желілік карта мен жілілік сатаушыдан баса, тек Windows 95 немесе Windows for Workgroups операциялы жйеде боланын алайды. Компьютерлерді жалаанда, олданушылар ресурстарды жне апаратты бірге олдануды сына алады.

Бір рангті желіні келесідей артышылытары бар:

олар орнатуда жне деуде женіл;

блек ДК-лар белгіленген желіден туелді емес;

олданушылар з ресурстарын баылай алады;

ны аз жне жеіл анау(эксплуатация);

минимум жабдытау жне программалы амтамасыз ету;

администраторды ажеттілігі жо;

желіні оннан аспайтын санды олданушылара жасы келеді.

Бір рангті архитектураны проблемасы компьютерлер желіден сндірілетін жадай болып табылады. Бл жадайда желіден олар сынан сервисті трлері жоалады. Желілік ауіпсіздікті бір уаытта тек бір ресурса олдануа болады, жне олданушы анша желілік ресурс болса, сонша парольді есінде сатау керек. Блек ресурса ол жеткізгенде компьютер німділігіні лауы сезінеді. Бір рангті желіні ма маызды жетіспеушілігі орталытанан администраторлауды болмауы.

Бір рангті архитектураны олдану «терминал – негізгі копьютер» архитектурасын немесе «клиент - сервер» архитектурасын сол желіде олдануды шыармайды.

Клиент – сервер архитектурасы

Клиент – сервер архитектурасы (client-server architecture) — бл апаратты желіні концепциясы, онда оны ресурстарыны негізгі блімі з клиенттерін амтамасыз ететін серверлерде ойы жинаталан (1.5 сурет). арастылып отыран архитектура екі трлі компоненттерді анытайды: серверлер жне клиенттер.

Сервер — бл баса желілік объекттерге оларды сранысы бойынша сервисті сынатын объект. Сервис — бл клиенттер ызмет крсету процессі.

Сервер клиенттерді тапасырмасы бойынша жмыс істейді жне оларды тапсырмаларыны орындалуын басарады. рбір тапсырма орындаланнан кейін ,сервер бл тапсырманы жіберген клиентке алан шешімдерін жібереді.

Клиент — сервер архитектурасында серверлік функция олданбалы программалар комплексімен сипатталады, жне олар ртрлі олданбалы процесстермен орындалады.

Аныталан операцияны кмегімен сервистік функцияны шаыратын процесс клиент деп аталады. Ол программа немесе олданушы болып табылады. 1.6 суретте клиент — сервер архитектура сервестеріні тізімі крсетілген.

Клиенттер — бл сервесті ресурстарын олданатын жне олданушыа ыайлы интерфейстерді сынатын жмысты станциялар. олданушыны интерфейсі деп жйені немесе желіні олданушымен зара рекеттесетін процедуралар.

Клиент бастаушы болып табылады жне электронды поштаны немесе баса серверлерді сервисін олданады. Бл процессте клиент амтамасыз етуді трін срайды, сеансты орнатады, оан керекті шешімдерді алады жне жмысты аяталуы туралы хабарлайды.

23. С/С++ тіліндегі программаны жалпы рылысын слбалаыз

Си тiлi В тiлiнi негiзiнде дамыды. Си тiлiн Bell Laboratories-те 1972 жылы Деннис Ритчи DEC PDP-11 компьютерiнде жасады. Си BCPL жне В тiлдерiнi кптеген маызды концепцияларын жне млiмет типтерiн жне баса да асиеттерiн олданды. Си тiлi UNIX операциялы жйесiн деудегi тiл ретiнде кеiнен танымал болды. азiргi тада барлы операциялы жйелер Си жне Си++ тiлдерiнде жазылан. Соы он жылдыта Си тiлi кптеген компьютерлерде олайлы болды.

Си++ Си тiлiнi кеейтiлген трi. Оны 1980 жылды басында Бъерн Строустроп Bell Laboratories-сында деп шыаран. Си++ тiлi Си тiлiнi бiратар асиеттерiн реттеудi амтамасыз етедi жне е маыздысы объектi-бадарланан бадарламалы ммкiндiгiн амтамасыз етедi. Бл бадарламамен амтамасыздандыру лемiндегi революциялы идея болып табылады.

Басада бадарламалы тiлдер кптеген ажеттi эффект бере алмаандытан, Си++ алашыда е жоары дегейдегi натылы оиалар лгiлерiн деу масаты шiн рылан тiл болды.

Меншіктеу операторы, барлы тілде пайдаланылатын негізгі оператор. Математикадаы арапайым тедеу трізді айнымалылара санды немесе символды мн беру бл жадайда меншіктеу операторы деп аталады. Ол жазылан рнектерді мнін есептеп, оны айнымалыа меншіктеу шін олданылады.

Е жалпы операция меншіктеу болып табылады. Си тілінде меншіктеу операторы V=A деп жазылады, мндаы V - айнымалы, А - рнек. Таы да тізбекті меншіктеуді олдануа болады, келесі трдегі мысалдаыдай: sum=a=b.

Кез келген Си программасы бір немесе бірнеше “функциялардан”, яни ол жиналатын негізгі модульдерден трады.Си тіліндегі программаны арапайым мысалын келтіреміз.

#include < stdio.h> /* препроцессорды директивалары */

main( ) /*аргументі бар функцияны аты */

{ int m; /* сипаттау операторы */

m=1; /* меншіктеу операторы */

printf (“%d нач. знач. \n “ , m); } /* шыару функцияны шаыру операторы*/

Препроцессорды командалы атарлары (директивалар)

Си препроцессорі программаны алашы мтінін соысы компиляторды кірісіне тспес брын си тіліне дейді. Препроцессор бкіл макрошаыруларды кеейтеді жне бкіл сырты файлдарды ояды.

Препроцессор командасын белгілеуге # символы олданылады.

Мысалы:

#defіne - макроны анытау;

#іnclude - сырты файлдан мтін ою;

#іnclude <stdіo.h> - stdіo.h (стандартты кіріс/шыыс) файлдарынан мтін ою шін.

(ойылатын файлдар кітапханаа осылан функциясымен интерфейстерді суреттеуден

трады).

<math.h> - математикалы функция.

Сонымен, программа бір немесе бірнеше функциялардан трады, тіпті оларды біреуі міндетті трде maіn() болып аталуы керек. Функцияларды суреттеу таырыбынан жне денесінен трады. Таырып з кезегінде #іnclude жне т.б. трдегі препроцессор директивалардан жне функция атынан трады. Функция атыны те жасы белгісі ретінде дгелек жашалар ызмет атарады, тіпті аргумент, жалпы айтанда, болмауы ммкін. Функция денесі жйелі жашаа алынан жне райсысы “;” символымен аяталатын операторлар жиынтыынан береді. Си тілінде бірнеше негізгі мліметтер типтерін олдану негізделген. Си тілі стандартында р трлі мліметтер типтеріне нсайтын жеті кілтті сздер олданылады. Осы кілтті сздер тізімін келтірсек: іnt, long, short, unsіgned, char, float, double. Бірінші трт кілтті сздер бтін сандарды, яни онды тбір блігінсіз бтін санды білдіруге пайдаланады. Олар программада блек немесе кейбір бірігулерден, мысала unsіgned short сияты пайда болуы ммкін. Char сзі ріптерге жне кейбір зге символдара, жне де #, $, % жне & сиятылара крсету шін арналан. Соы екі кілттік сздер онды нктелі сандарды сынуа олданылады.

Іnt, short, long типтері. Бл типтерді мліметтері “табалы сан”, яни мндай типті айнымалылар алатын мні тек ана о, теріс сандар жне нл саны бола алады. Бір бит табасы жо санны табасын крсету шін пайдаланылады. Мысала, 16-бит форматындаы 0-ден 65535 диапазоны арасындаы табасы жо кез келген бтін санды алуа болады. Дл солай-а 16-биттік сзді -32768-ден 32767 диапазонындаы табасы бар бтін санды елестетуге олдануа болады. Кіл аударса, диапазондар зындыы ос жадайларда бірдей. Мліметтерді суреттеу кезінде тек ана одан кейін айнымалылар аттарыны тізімі болуы керек типті енгізу ажет. Суреттеу мысалын келтірейік:

Іnt m1, m2; Short k1, k2, k3; Long l1, l2, l3;

Кілтті сздер тіркестерін, мысала, long, іnt немесе short іnt сиятыларда пайдалану long жне short кілтті сздеріні зыныра жазылуы.

Бтін тратылар. Си тіліні задылыы бойынша, онды нктесіз жне дреже крсеткішінсіз сан бтін ретінде аралады. Мысалы:

25, 239 - бтін; 25.0, 25е2 - бтін емес; long типті тратылар мына трде жазылады: 225а.

Бтін типті айнымалылар инициализациясы. Тратылар кбінесе айнымалыларды инициализациялау кезінде олданылады. Бл дегеніміз айнымалыа кейбір мнді деу алдында меншіктеуді білдіреді. Мысалы: К2=0; m2=1.

Айнымалыны суреттеу операторларына инициалдауа болады. Мысалы:

Іnt m2=15; Short k2, k3=0; Long l1=25, l2=30;

Unsіgned мліметтер типі. Кбінесе мндай тип модификатор болып ызмет атарады, дегенмен ертерек баяндалан шеуінен ана. Мына варианттарды пайдаланылуы ммкін: unsіgned іnt, unsіgned long. Табасы жо бтін айнымалылар арапайым бтін айнымалылар сияты баяндалады жне инициалданады.

Unsіgned іnt kol; Unsіgned short s=2;

Char мліметтер типі. Бл тип 0-ден 255 диапазонындаы табасы жо бтін сандарды анытайды. Кбінесе, мндай бтін бір байт жадыа орналастырылады. Машинада санды символа жне керісінше аударатын бір код пайдаланылады. Кптеген компьютерлерде бл код ASCІІ. Символды айнымалыны баяндау шін char кілтті сзі олданылады. Мысалы:

Char s2; Char s2, s3; Char sk=k;

Си тіліні стандартында абылданан тртіп бойынша айнымалы мні жне char типті траты тек ана жалыз символ болуы ммкін.

Float жне double мліметтер типтері. Есептеу сипатындаы программаларда жылжымалы нктелі сан жиі олданылады. Си тілінде жне де мліметтер float типімен баяндалады.

Жылжымалы нктесі бар айнымалылар бтін типті айнымалылар сияты сипатталады жне инициалданады. Мысалы:

Float s1, s2; Double s; Float pe=7.52e-7;

Жылжымалы нктелі константалар.

Жылжымалы нктелі константаларды жазуды жалпы трі мынадай:

-1.15Е+4; 2.52Е-3. Не онды нктені, не экспоненциалды блігін алып тастауа болады, біра бірден екеуінде емес. Жне де блшек блігін немесе бтін блігін жазбауа болады, біра екеуін бірдей емес. Дрыс жазылан константаларды крсетейік:

3.14159; .5; 4Е12; 100.; .7Е-4.

Жылжымалы нктелі константаны деу процесінде екі еселенген длдікті форматта арастырылады. Мысала, float типті PR айнымалысы PR=4.5*2.0 операторы орындалу нтижесінде зіні мнін алады деп болжайы. Бл жадайда константа жадыда double типті млімет болып жазылады, яни оан 64 бит орын блінеді. Кбейту екі еселенген длдікпен есептеледі жне сосын float типіне байланысты млшерге дейін нтижені ысарту жреді. Осыны барлыы сізді есептеулеріізді максималды длдікті амтамасыз етеді.

Си тілінде sіzeof деген рылан операция бар, ол объектіні байт бойынша млшерін береді. Мысалы:

Prіntf(“double мліметтер типі %d байт. \n”, sіzeof(double));

Символды атарлар. Символды атар - бл бір немесе бірнеше символдардан тратын тізбек. Си тілінде атарды бейнелейтін арнайы тип жо. атарларды char типті массив элементтері деп арастыруа болады. атарлардаы символдарды жадыдаы крші яшытарда орналасан деп арастыруа болады - р яшыта бір символдан. Массивті соы элементі \0 болып табылады.

Си тіліндегі негізгі операциялар

Е жалпы операция меншіктеу болып табылады. Си тілінде меншіктеу операторы V=A деп жазылады, мндаы V - айнымалы, А - рнек. Таы да тізбекті меншіктеуді олдануа болады, келесі трдегі мысалдаыдай: sum=a=b.

Меншіктеу онан сола арай жреді, яни b a-а меншіктеледі, жне осы sum-а 10 меншіктеледі де, ш айнымалы да бірдей мн абылдайды (яни бастапы b айнымалысыны мніне).

Си тілі арапайым арифметикалы операциялар жиынтыын олдайды: * - кбейту, / - блу, модуль бойынша блу - %, + - осу, - - азайту.

Модуль бойынша блу бтін санды арифметикада олданылады. Оны нтижесі бтін сандарды блген кездегі алды болып саналады.

Мысалы: 20%3=2 + жне - операцияларыны стемдігі *, / жне % операцияларыны стемдігінен тмендеу, жне з кезегінде оларды стемдігі унарлы минус стемдігінен тмен. Мысал арастырайы:

Maіn()

nt m1, m2;

m1=m2=-(15+3)*5+(11+9*(8+3))-266%16;

(* m1=m2=10; (операция онан сола дейін орындалады *)

prіntf ("m1=%d\n", m1);

prіntf ("%d\n", m2/3); }

Арттыру жне азайту операциялары: ++ жне - -. Бл операциялар кез келген оператора 1-ді осуа немесе азайтуа ммкіндік береді. Крсетілген операцияларды екі формасын ажыратады, постфикстік жне префикстік. Олар з арасында тек ай кезде арттыру немесе азайту болатынына байланысты ажыратылады. Арттыру жне азайту операциялары рнекті ортасындада орындалуы ммкін, жне де осы операциялар рнек есептелгеннен кейін де, есептелмей трып та орындалуы ммкін.

Азайту жне арттыру операциялары жоары стемдікке ие, тек домала жашаларды стемдігі жоарыра.

Типтерді трлендіру.

Егер рнекте р трлі типті операндтар олданылса, онда олар андай да бір жалпы типке трленеді. Компилятор автоматты трде типтерді трлендіруде ережелер жиынтыын олданады. Типтерді трлендірудегі негізгі ережелерді келтірейік:

1. Егер операция екі р трлі типтер мліметтері бойынша орындалса, онда екі шамада “жоары” типіне трленеді. Бл процесс типті “жоарылауы” деп аталады.

2. “Жоары” типтен “тменгі” типке дейінгі реттелген типтер тізбегі мына трде болады:

double, float, long, іnt, short жне char. Unsіgned кілтті сзі олданылса, сол тип сйкесінше рангы ктеріледі.

3. Меншіктеу операторында о жаындаы рнек орындаланнан кейінгі соы нтиже осы мн те болатын айнымалыны типіне трленеді. Бндай процесс типті “жоарылауына” немесе “тмендеуіне” келеді (екінші жадайда шама тмен стемдіктегі мліметтер типіне трленуі ммкін). Типті “жоарылауы”, детте, жмса теді, ал “тмендетуді” жадыдаы мліметтерді білу арылы орындау ажет.

Таы да бір типтерді трлендіру трі. Арифметикалы операцияларды есептегенде длдікті сатау шін барлы float типті шамалар double мліметтер типіне трленеді. Бл дгелектеу ателігін едуір азайтады. Соы нтиже айтадан float типті сана айналады, егер бейнелеу операторы солай берілсе.

Келтіру операторлары. Жоарыда келтірілген типтерді трлендіру автоматты трде жзеге асады. андай да бір шамаа келтіруге ажет мліметтер типін крсетуге ммкіндік бар.

С++ тіліні операторларын мына тмендегідей ммкіндіктерге ие топтара жіктеуге болады.

- мндерді есептейді жне оларды айнымалылара меншіктейді;

- информацияны ендіреді жне нтижелер мен хабарларды баспаа шыарады;

- есептеулерді орындалуын басарады;

Компьютерде программаны орындалуы кезінде айнымалы шама р трлі мндер абылдауы ммкін. Дербес жадайда есептелетін арифметикалы рнекті мні меншіктеу операторы арылы айнымалы шамаа меншіктеледі.

С++ тілінде бл амал “=” табасымен белгіленеді. Меншіктеу белгісіні сол жаына айнымалыны аты, ал о жаына арифметикалы рнек жазылады. Бл амалды орындайтын арнайы меншіктеу операторы бар.

Операторды жазылу пішімі: к LET v = e

Мнда к- атар нмірі; LET-операторды аты; v- айнымалыны аты; е-арифметикалы рнек (жеке жадайда санды немесе литерлік траты немесе санды жне литерлік айнымалы болуы ммкін).

Меншіктеу операторыны орындалуын екі кезеге блуге болады:

• е рнегіні мні есептеледі;

• е рнегіні есептелетін мні v айнымалысына меншіктеледі, яни v айнымалысына блінген жады яшыына жіберіледі.

Егер е санды траты немесе айнымалы болса,онда бірінші кезе орындалмайды.

Мысал келтірейік:

1. LET X%=1-бтін айнымалы Х-ке 1 саны меншіктелед;

2. LET А=27,4- наты айнымалы А-а 27,4 саны меншіктелед;

3. LET А$ = «Мектеп» -символды (мтіндік) айнымалы А$-а литерлік траты «Мектеп» сзі меншіктеледі.

Ал мына мысалдарды жоарыда аталан бірінші кезе орындалады:

• LET Х=А* SIN(T)-наты айнымалы х-ке а Sin t рнегіні есептелген мні меншіктеледі.

• LET C$=A$+B$ -символды айнымалы C$-а символды айнымалылар A$ мен B$-ны аымдаы мндеріні осылуынан пайда болан нтиже меншіктеледі.

Осылайша LET операторыны орындалар алдында "=" меншіктеу табасыны о жаындаы рнектегі барлы айнымалыларды мндері, басаша айтанда е рнегі аныталан (есептелген) болуы тиіс. Мына тмендегі программада 10,20,30 – атарлардаы операторлар орындаланда бірінші кезе орындалмайды, ал 40,50-атарлардаы операторлар орындаланда бірінші кезе орындалады.

10 LET А=5

20 LET B=3

30 LET C=-2

40 LET D=B^2-4*A*C

50 LET K= «Дискриминантты есептеу»

60 PRINT"D=;K=;K

C++ тіліндегі "=" меншіктеу табасы мен кдімгі математикадаы тедік табасыны арасында лкен айырмашылы бар. Мысалы, математикалы жазуда мына Х=X+1 рнегі дрыс емес, ал C++ тіліндегі 30 LET Х=X+1 жазылуы дрыс жне мынадай маына береді:

• жадты Х атты ясынан айнымалыны мні алынады;

• бл алынан мн бірімен осылады да Х+1- ге жаа мн жасалады;

• осы пайда болан Х+1 мні Х атты жады ясына ондаы алашы мнді шіріп зі орналасады. Мысалы,

10 LET X=5

20 LET X=4

30 LET X=X+Y программа зіндісіндегі 30-атардаы LET операторы орындаланда Х айнымалысы 9-санын меншіктейді яни жадты Х аты ясында алашы 5саныны орнына 99саны пайда болады. C++ тіліні кптеген трлерінде операторды орны LET сзін алдырып кетуге де болады. Мысалы, жоарыда келтірілген программа зіндісі былай жазылады.

10 LET X=5

20 LET X=4

30 LET X=X+Y