Оперативен систем: Разлика помеѓу преработките

[проверена преработка][проверена преработка]
Избришана содржина Додадена содржина
Vlad5250 (разговор | придонеси)
Vlad5250 (разговор | придонеси)
Ред 57:
==Миникомпјутери==
 
Првите микрокомпјутери го немаа капацитетот или потребата за детално разработените оперативни системи кои беа развиени за mainframes и minis; минималистични оперативни системи беа развиени, често вчитувани од&nbsp; ROM, познати како монитори. Еден позначаен првобитен оперативен систем базиран на дискови беше CP/M, кој беше поддржуван од многу првобитни микрокомпјутери и беше добра копија на МSMS-DOS, кој подоцна стана многу популарен како оперативен систем избран од IBM PC, негови следбеници беа Microsoft. Во 80<sup>те</sup>&nbsp; Аpple Computer Inc. ја напушти својата популарна Apple II серија на микрокомпјутери за да го претстави Apple Macintosh компјутерот со иновативен Graphical User Interface на Mac ОS.
 
Воведувањето на Intel 80386 CPU чипот со 32 -битна архитектура и можности за страничење, обезбеди персонални компјутери со можност за извршување [[повеќезадачност]] оперативни системи како тие од првобитните миникомпјутери и mainframesмејнфрејми. Microsoft одговори на овој напредок со вработувањето на Dave Cutler, кој го имаше развиено VMS оперативниот систем за Digital Equipment Corporation. Тој ќе го предводи развојот на Windows NT оперативниот систем, кој продолжува да служи како основа на оперативните системи на Microsoft. Steve Jobs, ко-основач на Apple Inc., го основа NeXT Computer Inc., кој го разви Unix-like NEXTSTEP оперативниот систем. NEXTSTEP подоцна ќе биде побаран од Apple Inc. и користен, заедно со кодот од FreeBSD како јадро за Mac OS X.
 
МinixMinix, академска алатка за подучување која може да биде извршувана на првобитните персонални компјутери, ќе инспирира за уште една реимплементација на Unix, наречена Linux. Започнат од студентот Linus Torvalds во соработка со волонтери преку интернет, нов оперативен систем беше развиен со алатките од GNU проектот. The Berkeley Software Distribution, познат како BSD, e изведен од UNIX од страна на Универзитетот во Калифорнија, во 1970<sup>те</sup>. Слободно дистрибуиран и пренесен до многу миникомпјутери, на крајот доби и следбеници кои може да се употребат и кај персоналните компјутери, главно FreeBSD, NetBSD и OpenBSD.
 
'''Карактеристики'''
Ред 67:
'''Извршување на програмата'''
 
Оперативните системи работата како посредник помеѓу апликацијата и хардверот. Корисникот взаемнозаемно дејствува со хардверот од “другата страна”. Оперативниот систем е комплет од услуги кои го упростуваат развојот на апликациите. Извршувањето на програма подразбира креирање на процес од страна на оперативниот систем. Јадрото создава процес со доделување на меморија и други ресурси, одредува приоритет во процесот (in multi-tasking systems), вчитува програмски код во меморијата и извршува програма. Програмата потоа взаемнозаемно дејствува со корисникот и/или со другите уреди и ја исполнува планираната функција.
 
'''Прекини'''
 
Прекините се главни кај оперативните системи, бидејќи тие овозможуваат ефикасен начин за оперативниот систем взаемнозаемно да дејствува и реагира со неговата околина. Aлтернативата – оперативниот систем да ги “гледа” различните извори на податоци за настани кои бараат акција – е едноставна употреба на CPU ресурсите. Програмирањето базирано на прекини е директно поддржано од најголемиот број на CPU. Прекините даваат компјутер со можност за автоматско извршување на специфични кодови како одговор на одредени настани. Дури и најобичните компјутери ги поддржуваат хардверските прекини, и му овозможуваат на програмерот да специфицира код кој може да биде извршен кога ќе се случи настанот.
 
Кога прекинот е примен, хардверот на компјутерот автоматски ја прекинува која и да е програма која во моментот се извршува, го зачувува нејзиниот статус, и го извршува кодот кој е поврзан со прекинот; ова е аналогно на превиткување на страницата на книгата која ја читаме за да се јавиме на телефон. Во модерните оперативни системи, прекините се управувани од јадрото на оперативниот систем. Прекините може да дојдат од страна на хардверот или од одредена програма која се извршува.
Ред 77:
Кога уред од хардверот ќе активира прекин, јадрото на оперативниот систем решава како ќе се справи со овој настан, генерално тоа е со извршување на некој процесирачки код. Колку кодот ќе се изврши зависи од приоритетот на прекинот (на пример: човек попрво ќе реагира на аларм за пожар од колку на телефонски повик). Обработката на хардверски прекини е задача која најчесто се предава на софтвер наречен device drivers (драјвери за уреди), кој може да биде дел од јадрото на оперативниот систем, дел од друга програма, или двете. Драјверите за уреди може да ја пренесат информацијата на програмата која се извршува на најразлични начини.
 
Програма исто така може да активира прекин кон оперативниот систем. Ако програмата посака да добие пристап до хардверот на пример, ќе го прекине јадрото на оперативниот систем, што предизвикувапредизвика контролата да биде вратена кон јадрото. Јадрото потоа ќе ја обработи поканата. Ако програмтапрограмата посака додатни ресурси како меморија, ќе активира уште еднаш прекин за да го предизвика вниманието на јадрото.
 
=== Заштитен режим и режим на надзорник ===
Модерните процесори подржуваат нешто што се вика режим на дуална работа. Процесорите со оваа способност користат два режими: [[заштитен режим]] (protected mode) и [[режим на надзорник]] (supervisor mode), кои дозволуваат одредени функции на процесорот да бидат контролирани и врз кои единствено може само јадрото на оперативниот систем да делува. Тука, заштитниот режим не се однесува специфично само на [[80286]] (16-битниот Intel x86 микропроцесор) процесорската карактеристика, иако неговиот заштитен режим е многу сличен на ова. Процесорите можат да имаат и други режими слични на заштитниот режим на 80286, како виртуелниот 8086 режим на 80386 (32-битен Intel x86 микропроцесор или i386).
 
Меѓутоа, терминот тука се користи погенерално во теоријата за оперативните системи за да се однесува на сите режими така што ги ограничува способностите на програмите кои се извршуваат во тој режим, произведувајќи работи како што се адресирање на виртуелната меморија и огранишувањеограничување на пристапот до хардверот на начин определен од страна на програмата која се извршува во режимот на надзорник. Слични режими постоеле во суперкомпјутерите, микрокомпјутерите и mainframesмејнфрејмите како суштински во целосното подржувње на повеќекорисничките оперативни системи слични на UNIX.
 
Кога компјутерот прв пат е вклучен, тој автоматски се извршува во режим на надзорник. Првите неколку програми за да се извршат на компјутерот, се [[BIOS]], вчитувачот за бутирање (bootloader) и оперативниот систем имаат неограничен пристап до хардверот – и ова е побарано бидејќи, по дефиниција, иницијализирањето на заштитена околина може да се направи само надвор од една. Меѓутоа, кога оперативниот систем ја поминува контролата до друга програма, тој може да го стави процесорот во заштитен режим.
Ред 118 ⟶ 119:
Раниот модел кој владеел со алокацијата на времето за програмите беше наречен [[кооперативна повеќезадачност]]. Во овој модел, кога контролата е предадена на програма од страна на јадрото, таа може да се изврши за колку сака време пред експлицитно да ја врати контролата на јадрото. Ова значи дека малициозна програма или програма со лошо однесување може не само да ги спречи било кои други програми даго користат процесорот туку можат и да му се заканат на внатрешниот систем ако тој внесе бесконечна јамка.
 
Сите програми се ограничени колку време им е дозволено да поминат на процесорот без да бидат прекинати. За да се постигне ова, јадрата на модерните оперативни системи прават употреба на временски прекин. Тајмерот на заштитниот режим е сетиран од старнастрана на јадрото кое активира враќање во режим на надзоникнадзорник откако специфицираното време ќе истече.
 
На многу опеаративни системи за еден корисник кооперативниот multitasking е перфектно адекватен, како што се домашните компјутери кои генерално извршуваат мал број на добро тестирани програми. [[Windows NT]] беше првата верзија од [[Microsoft Windows]] кој принудува preemptive multitasking, но тој не го достигнал пазарот на домашните корисници пред [[Windows XP]] (додека [[Windows NT]] се активирал за професионалнци.)
 
==== Kernel Preemption ====
Неодамна интересите се појавиле поради скриеностите често поврзани со некои јадрени времиња на извршување, понекогаш од редот на 100ms или повеќевоповеќе во системите со монолитни јадра. Овие скриености често предизвикуваатпредизвикаат забележителна забавеност во desktop системите, и може да го спречи оперативниот систем да изврши некои временски чувтвителничувствителни операции како што се аудио запишување и некои комуникации.
 
Модерните оперативни системи ги прошируваат концептите на апликацискиот preemption до драјверите за уреди и кодот за јадрото, така што оперативниот систем има превентивна контрола над внатрешните времиња на извршување. Под [[Windows Vista]], воведот на [[Windows Display Driver Model]] (WDDM) ова го завршува за display драјверите, и во Linux, моделот на preemptable јадрото воведено во верзијата 2.6 дозволува сите драјвери за уреди и некои други делови од кодот за јадрото да земе предност за preemptive multitasking-от.
 
=== Пристап до диск и датотечни системи ===
Пристапот до податотеките зашуванизачувани на дискови е централна карактеристика на сите оперативни системи. Компјутерите ги зачууваатзачувуваат податоците на дискови користејќи датотеки, кои се структурирани на специфични начини со цел да дозволат побрз пристап, повисока доверливост, и да ја направат подобра употребата надвор од расположливиот простор. Специфичниот начин на кој податотеките се зачувани на диск се нарекува датотечен ситемсистем и овозможува податотеките да имаат имиња и атрибути. Тоа исто така им дозволува да бидат зашуванизачувани во хиерархија од именици или фолдери уредени како дрво од именици.
 
Раните оперативни системи генерално подржувале единствен тип на диск драјвер и само еден вид на датотечен систем. Раните датотечни системи биле ограничени во нивниот капацитет, брзина, и во водиовите за имиња на податотеките како и во структурите за именици кои можеле да ги користат. Овие ограничувања често рефлектираат ограничувања во оперативните системи за кои биле дизајнирани, правејќи го многу тешко подржувањето на повеќе од еден датотечен систем за еден оперативен систем.
Ред 134 ⟶ 135:
Додека многу едноставни оперативни системи подржуваат ограничен ранг на опции за пристапување до системи за зачувување, оперативни системи како [[UNIX]] и [[Linux]] подржуваат технологија позната како виртуелен податочен систем или VFS. Еден оперативен систем како UNIX подржува широка низа на уреди за зачувување, безобрѕирност на нивниот дизајн или датотечни системи кои можат да бидат прстапни преку заеднички апликациски програмски посредник (API). Ова прави да не е потребно за програмите да имаат било какво познавање за уредот до кој пристапуваат. VFS му дозволува на оперативниот систем да снабди програми со пристап до неограничен број на уреди со бесконечна разновидност на датотечни системи инсталирани на нив преку употреба на специфични драјвери за уреди и драјвери за датотечни системи.
 
Поврзаниот уред за зачувување како што е хард дискот е пристапен преку драјверот за тој уред. Драјверот за уредот го разбира специфичниот јазик надиск драјвот и е способен да го преведе тој јазик во стандарден јазик кој го користи оперативниот систем за да пристапи до сите диск драјвови. Во UNIX ова е јазикот на блок драјевритедрајверите.
 
Кога јадрото има соодветен драјвер за уред на место, тоа тогаш може да пристапи до содржините на диск драјвот во формат на редица, која може да содржи еден или повеќе датотечни системи. Драјверот за датотечниот систем се користи да ги преведе командите кои се користат за пристап до секој специфичен датотечен систем во стандардно множество на команди кои оперативниот систем може да ги користи да комуницира со сите датотечни системи. Програмите тогаш можат да се договорат со овие датотечни системи на основа на имињата на датотеките, и имениците/ фолдерите, содржани во хиерархиската структура. Тие можат да креираат, да бршат, да отвараат и затвараат датотеки.
 
Разноврсните различности помеѓу датотечните системи прават проблем осносно потечкотија во подршката на сите датотечни системи. Дозволените карактери во имињата на датотеките, кои се case sensitivitе, и постоењето на различни видови на датотечни атрибути ја прават имплементацијата на единствен посредник за секој датотечен систем застрашувачка задачазадаача. Во практика, third party drives се обично достапни да дадат подршка за најшироко употребуваните датотечни системи во најосновните оперативни системи (на пример, NTFS е расположлив во Linux преку [[NTFS-3g]], а ext2/3 и ReiserFS се достапни во Windows преку FS-драјвер и [http://p-nand-q.com/download/rfstool.html rfstool]).
 
=== Драјвери за уреди ===