Файлды жадқа көрсету



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 9 бет
Таңдаулыға:   
5-тақырып. Ерекшеліктерді құрылымдық өңдеу (2 сағат)

Дәріс жоспары:
1. Ерекшеліктерді рамалық өңдеу;
2. Ерекшеліктерді соңғы өңдеу;
3. Жақтаудың аяқталуын тексеру.

Ерекшелік (Исключение) - бұл бағдарламаны орындау кезінде болған оқиға, оның нәтижесінде бағдарламаны одан әрі қалыпты орындау мүмкін болмайды. Әдетте, мұндай оқиғалар бағдарламадағы қателер болып табылады. Сондықтан қосымшаның одан әрі жұмыс істеуі үшін бағдарламаны жұмыс күйіне келтіру немесе бағдарламада ұсталған барлық ресурстарды босата отырып, оны апаттық аяқтау қажет.
Windows операциялық жүйелерінде осы мақсат үшін ерекшеліктерді құрылымдық өңдеу механизмі (structured exception handling, SEH) арналған. Ерекшеліктерді құрылымдық өңдеу механизмінің мәні келесідей. Бағдарламада ерекшелік болуы мүмкін бағдарламалық код блогы ерекшеленеді. Мұндай код блогы кадр деп аталады, ал кодтың өзі қорғалатын код деп аталады. Содан кейін, кадрдан кейін болған ерекшелікті өңдейтін бағдарламалық блок енгізіледі. Бұл қондырғы ерекше өңдеуші деп аталады. Алып тастауды өңдегеннен кейін Басқару алып тастау өңдеушісінен кейінгі бірінші нұсқаулыққа беріледі.
Сіз getexceptioncode функциясын қолдана отырып, болған ерекшеліктің кодын ала аласыз, оны тек сүзгі өрнегінде немесе ерекшелікті өңдеу блогында шақыруға болады.
Ерекшелік туралы толығырақ ақпаратты тек сүзгі өрнегінде шақыруға болатын GetExceptionInformation функциясына қоңырау шалу арқылы алуға болады.
Windows жүйесіндегі ерекшеліктерді құрылымдық өңдеу механизмі raiseexception функциясын пайдаланып бағдарламалық ерекшеліктерді жасауға мүмкіндік береді.
Егер бағдарламада ерекшелік өңдегіші жоқ ерекшелік орын алса, онда бұл жағдайда жүйелік ерекшелік өңдегішінің сүзгі функциясы шақырылады, ол пайдаланушыға бағдарламаны апатты түрде аяқтауды немесе қолданбаны жөндеуді сұрайтын хабарлама терезесін экранға шығарады.
Бағдарлама жүйелік функцияны-сүзгіні setunhandledexceptionfilter функциясымен алмастыра алады. Бұл функция ескі сүзгі функциясының мекен-жайын немесе жүйелік ерекшелік өңдегіші орнатылған болса, NULL қайтарады.
__try блогынан басқару келесі әдістердің бірімен берілуі мүмкін:
● қалыпты блокты аяқтау;
● басқару нұсқаулығы __leave көмегімен блоктан шығу;
● C++ бағдарламалау тілінің return, break, continue немесе goto басқару нұсқауларының бірін пайдаланып блоктан шығу;
● басқаруды ерекше өңдеушіге беру.
Алғашқы екі жағдайда __try блогы қалыпты түрде аяқталды, ал соңғы екі жағдайда қалыпты емес деп саналады. __try блогының қалай аяқталғанын анықтау үшін AbnormalTermination функциясы қолданылады. Егер __try блогы қалыптан тыс аяқталған болса, бұл функция нөлдік емес мәнді қайтарады, әйтпесе жалған мән.

СӨЖ үшін бақылау тапсырмалары:
1. Бағдарламалық және аппараттық ерекшеліктерді өңдеу.
2. Ерекшеліктерді бағдарламалық қамтамасыз ету.

6-тақырып. Файлдық жүйені басқару (3 сағат)

Дәріс жоспары:
1. Жалпы ұғымдар;
2. Windows жүйесіндегі файлдармен жұмыс;
3. Windows жүйесіндегі каталогтармен жұмыс

Сектор магниттік дискінің бір жолының ең кіші аймағы (доғасы) деп аталады, оны дискінің магниттік басымен бір толық айналу үшін жазуға немесе оқуға болады. Сектордың мөлшері 512 байт. Әдетте, дискіге деректерді жазу тығыздығы барлық тректер үшін бірдей. Сондықтан дискінің ортасына жақын жолдарда дискінің шетіне жақын жолдарға қарағанда секторлар аз болады. Тректерде әртүрлі секторлар болғандықтан, қатты магниттік дискілердегі дискімен деректер алмасу жылдамдығы жол нөміріне байланысты. Себебі, дискілері бар штанганың тұрақты бұрыштық айналу жылдамдығында секторлардың басына қатысты сызықтық қозғалыс жылдамдығы әртүрлі тректер үшін әр түрлі болады. Бұл жылдамдық жол дискінің ортасынан неғұрлым алыс болса, соғұрлым жоғары болады. Сондықтан диск аймақтарға бөлінеді. Бір аймақта бірнеше диск цилиндрлері бар және бір аймаққа кіретін жолдардың әрқайсысында секторлардың саны бірдей. Сондықтан бір аймақтың секторларына қол жеткізу бірдей жылдамдықпен жүзеге асырылады
Кластер - бұл амалдық жүйе дискіге жазуы немесе оқуы мүмкін магниттік дискінің ең кіші аймағы. Әдетте кластер бірнеше секторлардан тұрады.
Қатты магниттік дискіні пішімдеудің үш деңгейі бар:
● физикалық пішімдеу немесе төмен деңгейлі пішімдеу';
● дискіні бөлімдерге бөлу;
● логикалық пішімдеу немесе жоғары деңгейлі пішімдеу.
Енгізу-шығару буфері файл жазбаларын уақытша сақтауға арналған жедел жад аймағы деп аталады. Әдетте буфер ұзындығы кластер ұзындығының еселігімен таңдалады. Енгізу-шығару буферлері екі мәселені шешуге арналған:
● қолданбада анықталған логикалық файл жазбасының өлшемі мен дискіге жазылған кластер өлшемі арасындағы сәйкессіздікті жою;
● сыртқы құрылғылардың процессордың жұмыс жылдамдығына әсерін азайту, бұл сыртқы құрылғылардың жұмыс жылдамдығынан едәуір асып түседі.
Деректерді енгізу-шығаруды жеделдету үшін әдетте сақина кезегіне ұйымдастырылған бірнеше енгізу-шығару буферлері қолданылады. Пайдаланушы процесі бір буфермен жұмыс істеген кезде файлдық жүйе параллель басқа буферлерге деректерді енгізуді немесе шығаруды жүзеге асырады.
Жаңа файлдарды жасау немесе бұрыннан бар файлдарды ашу үшін createfile функциясы қолданылады. Файлға кіруді жабу үшін, кез-келген басқа ядро объектісіне кіруді жабу сияқты, CloseHandle функциясы қолданылады, оның жалғыз параметрі-ашық файл дескрипторы. Файлды дискіден физикалық түрде жою үшін DeleteFile функциясы қолданылады.
Деректерді файлға жазу үшін WriteFile функциясы, ал файлдан деректерді оқу үшін ReadFile қызмет етеді және бұл функцияны синхронды және асинхронды деректерді жазу үшін пайдалануға болатындығын ескеріңіз.
Файлдарды көшіру үшін CopyFile функциясы қолданылады, ал жылжыту үшін MoveFile қолданылады. Файлды жылжыту файлды көшіруден тек ескі файлды жылжытқаннан кейін жойылуымен ерекшеленеді. Windows 2000 және Windows XP жүйелерінде файлдарды ауыстыруға арналған ReplaceFile функциясы анықталған. Бұл функцияның CopyFile және MoveFile функцияларынан айтарлықтай айырмашылығы-ол ауыстырылатын файлға тек кіру атрибуттарын ғана емес, сонымен қатар алмастырушы файлдың қауіпсіздік атрибуттарын да көшіреді. ReplaceFile функциясы тек бір көлемде (логикалық диск) орналасқан файлдармен жұмыс істейді.
Файл атрибуттарын getfileattributes функциясы арқылы білуге болады. Файл өлшемін getfilesize функциясының көмегімен анықтауға болады.
Файл түрін getfiletype функциясының көмегімен анықтауға болады. Бұл мүмкіндіктің жалғыз параметрі-файл тұтқасы. Getfiletype функциясы келесі мәндердің бірін қайтарады:
● FILE_TYPE_UNKNOWN-белгісіз файл түрі;
● FILE_TYPE_DISK-диск файлы;
● FILE_TYPE_CHAR-символдық файл;
● FILE_TYPE_PIPE -- аталған немесе анонимді арна.
Символдық файл әдетте принтер немесе консоль деп түсінілетінін ескеріңіз.
Каталогты құру үшін Createdirectory функциясы қолданылады.
Каталогтағы файлдарды табу үшін FindFirstFile және FindNextFile функциялары қолданылады. Сонымен қатар, іздеу үшін файл атауларының үлгілерінде алмастырғыш таңбаларды қолдануға болатындығын ескеріңіз ? және *. Таңба ? файл атауындағы бір белгісіз таңбаны, ал * таңбасы кез келген таңбалар тізбегін ауыстырады. Жетілдірілген файлдарды іздеу үшін findfirstfileex функциясын қолдануға болады, бұл файлды іздеу кезінде оның атын ғана емес, сонымен қатар оның атрибуттарын да ескеруге мүмкіндік береді.
RemoveDirectory функциясы бос каталогты жоюға арналған, іс жүзінде каталог сирек бос болады, сондықтан каталогтың өзін жоймас бұрын ондағы барлық ішкі каталогтар мен файлдарды жою керек.
Файлдар сияқты, каталогтарды MoveFile функциясы арқылы жылжытуға болады. Бұл жағдайда MoveFile функциясының орындалуына бір шектеу қойылады, ол тек бір көлемде орналасқан каталогтарды жылжытуға болады.
Қолданба басталатын Каталог сол қолданбаның ағымдағы каталогы деп аталады. Ағымдағы каталогтың атауын getcurrentdirectory функциясының көмегімен анықтауға болады, бағдарлама setcurrentdirectory функциясын пайдаланып ағымдағы каталогтың атын өзгерте алады.
Windows амалдық жүйелерінде каталогтарда болып жатқан өзгерістерді бақылауға мүмкіндік беретін мүмкіндіктер бар. Осы мақсаттар үшін FindFirstChangeNotification және findnextchangenotification функциялары арналған, олар сәйкесінше каталогта болып жатқан бірінші және кейінгі өзгерістерді бақылайды. Сәтті аяқталған жағдайда, FindFirstChangeNotification функциясы каталогты бақылау үшін дескрипторды қайтарады. Бұл тұтқаны каталогтағы өзгерістерді бақылау үшін күту функцияларында пайдалануға болады.
DwNotifyFilter параметрі бақыланатын оқиғаларды анықтайды. Келесі жалаушаларды орнатуға болады:
● FILE_NOTIFY_CHANGE_FILE_NAME-файл атауын өзгерту;
● FILE_NOTIFY_CHANGE_DIR_NAME-каталог атауын өзгерту;
● FILE_NOTIFY_CHANGE_ATTRIBUTES-атриб уттарды өзгерту;
● FILE_NOTIFY_CHANGE_SIZE-өлшемін өзгерту;
● FILE_NOTIFY_CHANGE_LAST_WRITE - соңғы жазу уақытын өзгерту;
● FІLE_NOTIFY_CHANGE_SECURITY - тігілген атрибуттарды өзгерту.

СӨЖ үшін бақылау тапсырмалары:
1. Файлдық жүйемен және реестрмен (тізіліммен) жұмыс
2. Файлдық жүйені төмен деңгейлі ұйымдастыру

7-тақырып. Файлдарды жадқа көрсету (2 сағат)
Дәріс жоспары:
1. Файлдарды жадқа көрсету механизмінің тұжырымдамасы;
2. Файлды жадқа көрсету;
3. Файлға көріністі қалпына келтіру;
4. Динамикалық қосылатын кітапханалар тұжырымдамасы;
5. DLL құру;
6. DLL жүктеу және өшіру.

Файлдарды жадқа көрсету механизмінің тұжырымдамасы
Windows амалдық жүйелерінде процестің мекен-жай кеңістігіне тек пейджингтік файлдардың мазмұнын ғана емес, сонымен қатар қарапайым файлдардың мазмұнын да көрсетуге мүмкіндік беретін механизм енгізілген. Яғни, бұл жағдайда файл немесе оның бөлігі дәйекті логикалық адрестері бар процестің виртуалды беттерінің жиынтығы ретінде қарастырылады. Көрсетілген Файл процестің мекен-жай кеңістігі, файл көрінісі немесе түрі деп аталады (file view). Файл процестің мекенжай кеңістігіне көрсетілгеннен кейін көрініске процестің мекенжай кеңістігіндегі кәдімгі деректер сияқты көрсеткіш арқылы қол жеткізуге болады.
Бірнеше процестер бір файлды бір уақытта олардың мекен-жай кеңістігіне көрсете алады. Бұл жағдайда операциялық жүйе барлық процестер үшін файл мазмұнының дәйектілігін қамтамасыз етеді, егер бұл деректерге процестің виртуалды жады аймағы ретінде қол жеткізілсе. Бірнеше процестер арқылы жадта көрсетілген файлда сақталған деректердің бұл сәйкестігі деректер когеренттілігі деп аталады. Алайда, егер бұл файл жергілікті желідегі басқа компьютерлерде орындалатын процестердің мекен-жай кеңістігіне көрсетілсе, жадта көрсетілген файл үшін деректер когеренттілігіне қолдау көрсетілмейтінін ескеру қажет.
Жоғарыда айтылғандардан, файлдарды жадқа көрсету механизмінің негізгі мақсаты-бағдарламаны (eche кеңейтімі ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Файлдар және оның түрлері
TYPE типі файл элементтерінің типтері
Turbo Pascal тілінің негізгі элементтері
АНТИВИРУСТЫҚ ПРОГРАММАЛАР
Операциялық жүйе. MS DOS
MS DOS операциялық жүйесінің негізгі мінездемесі
Компьтерді жабдықтау командалары
Ms dos және norton commander
Операциялық жүйе түсінігі
Каталогтың ішіндегі файлдың жазылуы
Пәндер