Бяха проведени първите системни програми на операционната система. Концепцията за операционната система. Основните етапи на разработването на операционни системи

Като се има предвид еволюцията на операционната система, трябва да се има предвид, че разликата във времето на прилагане на някои принципи на организацията на индивидуалните операционни системи към тяхното цялостно признаване, както и терминологичната несигурност, не позволява да се даде точна хронология на операционната система. Сега обаче е доста справедливо да се определят основните етапи по пътя на развитието на операционните системи.

Има и различни подходи за определяне на поколенията на операционната система. Той е известен с разделянето на операционната система за генериране в съответствие с поколенията на компютърни машини и системи [,,]. Такова разделение не може да се счита за напълно задоволително, тъй като развитието на методите на организацията на ОС в едно компютърно поколение, както е показано от опита на тяхното създаване, се крие в доста широк диапазон. Друга гледна точка не свързва генериране на операционна система с подходящи поколения по електронната поща. Например, известно е, че идентифицира дефиницията на поколенията на ОС на нивата на езика на ЕС на ЕС, начините на използването на централни преработватели, форми на експлоатация на системи и др.

Очевидно най-подходящото следва да се счита за разпределение на етапите на развитието на операционната система в рамките на отделни поколения на компютъра и въздухоплавателното средство.

Първият етап от разработването на системен софтуер може да се счита за използването на библиотечни програми, стандартни и сервизни подпрограми и макроси. Концепцията за библиотеките на подпрограмите е най-ранната и датите от 1949 година. С появата на библиотеките автоматичното средство за техния придружаване бяха разработени - изтегляне и редактори на връзки. Тези средства бяха използвани в компютъра от първо поколение, когато операционните системи не съществуват като такива (фиг.3.2).

Желанието за премахване на несъответствието между изпълнението на процесорите и скоростта на въвеждане на електромеханични входни устройства, от една страна, и използването на достатъчно бързи задвижвания върху магнитни ленти и барабани (NML и NMB), и след това върху магнитни дискове ( NMD), от друга страна, доведе до необходимостта от решаване на буфериране на задачите и блокиране на данни за освобождаване от данни. Възникнаха специални методи за достъп, които бяха въведени в обекти на модули на редактори на връзки (впоследствие бяха използвани принципите на полибуферизация). За поддържане на изпълнението И улесняване на процесите на работа на машината, създадени диагностични програми. По този начин, основна система софтуер.


Фиг. 3.2.

С подобряването на компютърните характеристики и растежа на тяхното изпълнение, липсата на основен софтуер (софтуер) беше ясна. Има операционни системи за ранно партидна обработка - монитори. В рамките на системи за обработка на партиди в преднина Всяка работа в пакета (излъчване, сглобяване, изпълнение на завършената програма) Никаква част от системния софтуер е в RAM, тъй като цялата памет е предоставена на текущата работа. След това се появиха системите на монитора, в които овен Тя е разделена на три области: фиксирана зона на мониторната система, област на потребителя и обща зона за памет (за съхраняване на данни, които обектните модули могат да обменят).

Започна интензивно развитие на методите за управление на данните, такава важна функция на операционната система, като прилагането на I / O без участието на централния процес - така наречената смрад (от английската макара - едновременна периферна операция на линия).

Появата на нови разработки на хардуер (1959-1963) - системи за прекъсване, таймери, канали - стимулираха по-нататъшното развитие на OS [,]. Изпълнителните системи възникват, които бяха набор от програми за разпространение на компютърни ресурси, връзки с оператора, управлявайки изчислителния процес и контрол на входа. Тези изпълнителни системи позволяват да се приложат доста ефективна форма на работа на изчислителната система - обработка на еднострома. Тези системи дадоха на потребителски инструменти като контролни точки, логически таймери, способност за изграждане на програми структура на наслагване, откриване на нарушения Програми, приети в система, управление на файловесъбиране на счетоводна информация и др.

Въпреки това, обработката на еднострома, с увеличаване на работата на компютъра не може да осигури икономически приемливо ниво на работа на машините. Решението е станало многопрограмиране - метода за организиране на изчислителен процес, в който има няколко програми в паметта на компютъра, с един процесор и започване или продължаване на сметката, една програма не изисква завършването на другите. В средата на многопрограмата, проблемът с разпределението и защитата на ресурсите е станал по-остър и труден.

Теорията за изграждането на операционни системи през този период е обогатена близо до плодотворни идеи. Имаше различни форми на режими на работа с многопрограми, включително разделяне на времето - Режим, който предоставя работа много крайна система. Концепцията за виртуална памет е създадена и развита и след това виртуални машини. Режим на разделяне на времето позволи на потребителя да взаимодейства интерактивно със своите програми, тъй като е преди появата на системите за обработка на партиди.

Една от първите операционни системи, използвайки тези най-нови решения операционна система MSR (основна програма за управление), създадена от Burroughs за своите компютри B5000 през 1963 година. Много концепции и идеи са изпълнени в този стандарт на ОС за много операционни системи (фиг.3.3):

  • многопрограми;
  • многопроцесорна обработка;
  • виртуална памет;
  • възможността за програми за отстраняване на грешки в изходния език;
  • писане на операционната система на езика на високо равнище.

Системата за CTSS (съвместима система за споделяне на времето) е добре позната система за разделяне на този период - съвместима система за разделяне на времето, разработена в Технологичния институт на Масачузетс (1963) за компютъра IBM -7094. Тази система е била използвана за развитие в същия институт заедно с Bell Labs и системите за разделяне на общите електрически системи на Мултиката на следващото поколение (мултиплексирана информация и изчислителна услуга). Трябва да се отбележи, че тази операционна система е написана главно на високо ниво на EPL (първата версия на PL / 1 езиковата компания IBM).

Едно от най-важните събития в историята на операционните системи се счита, че през 1964 г. се намира семейството на компютрите, наречени система / 360 от IBM, а по-късна система / 370. Това беше първата реализация на концепцията за семейни и информационни съвместими компютри в света, които по-късно станаха стандартни за всички фирми за компютърна индустрия.


Фиг. 3.3.

Трябва да се отбележи, че основната форма на използване на компютъра както в системите за разделяне на системата, така и в системи за обработка на партидисе превърна в многократен режим. В същото време не само операторът, но всички потребители са получили възможността да формулират своите задачи и да управляват изпълнението си от терминала. Тъй като терминалните комплекси скоро станаха възможни да поставят значителни разстояния от компютъра (благодарение на телефонните връзки на модема), се появи системи за отдалечени задачи и данни за работа в работата. ОС добавя модули, които прилагат комуникационни протоколи.

По това време имаше значителна промяна в разпространението на функции между хардуер и софтуер и компютърен софтуер. Операционна система Тя става "неразделна част от компютъра", сякаш продължаването на оборудването. Процесорите се появиха привилегировани ("ръководител" в OS / 360) и потребител ("задача" в OS / 360) режими на работа, мощна система за прекъсване, защита на паметта, специални регистри за превключване на бързо програми, инструменти за поддръжка на виртуални памет и др.

В началото на 70-те години се появи първата мрежова операционна система, която позволява не само дисперсните потребители, както в системите за дистанционно управление, но и организират разпределеното съхранение и обработка на данни между компютри, свързани чрез електрически връзки. Arpanet Mo USA е известно. През 1974 г. IBM обяви създаването на собствената мрежова архитектура на SNA за своите мейнфремери, която осигурява взаимодействието на типа "терминален терминал", "терминален компютър", "компютър - компютър". В Европа технологията за изграждане на мрежи за превключване на пакети, базирани на протоколи X.25, е активно развита.

До средата на 70-те години, заедно с мейнфрейм, мини-компютрите бяха широко разпространени (PDP-11, Nova, HP). Архитектурата на мини-компютрите беше много по-лесна, много функции на мулти-програмните мейнфрейми бяха съкратени. Мини-компютърни операционни системи започнаха да се специализират (RSX -11M - разделяне на времето, RT-11 - OC в реално време) и не винаги мултиплеър.

Важен етап в историята на мини-компютрите и като цяло в историята на операционните системи е създаването на UNIX OS. Публикувано от тази система Кен Томпсън (Кен Томпсън), един от специалистите в компютрите в Bell Labs, които са работили по проекта Multics. Всъщност, неговата UNIX е съкратена версия на мултиката. Първоначалното име на тази система е Unics (Unipleked Information и Computing Service) - "Примитивна информация и компютърна услуга". Така че шегата се нарича тази система, тъй като мултиците (мултиплексираната информация и изчислителна услуга) е мултиплексна информация и компютърна услуга. От средата на 70-те години масовото използване на UNIX OS, написано с 90% в езика на C, е започнало широко разпространение на C-компилатори, направени от UNIX уникални толерантни OCs и тъй като е доставен с изходните кодове, той е станал Първа операционна система. Гъвкавост, елегантност, мощна функционалност и откритост й позволиха да вземе стабилна позиция във всички класове компютри - от лични до супер компютри.

Наличността на мини-компютри служи като стимул за създаване на локални мрежи. В най-простия LAN компютри, свързани чрез серийни портове. Първото приложение на мрежата за UNIX OS е UUCP програма (Unix в програма UNIX Copy) - се появява през 1976 година.

По-нататъшното развитие на мрежовите системи преминават с TCP / IP протокол. През 1983 г. той е приет от MO USA като стандарт и използван в мрежата ARPANET. През същата година Arpanet беше разделен на Милнет (за американските военни) и новия Arpanet, който се наричаше интернет.

Всичките осемдесет години се характеризират с появата на все по-съвършени версии на UNIX: Sun Os, HP-UX, IRIX, AIX и др. За решаването на тяхната съвместимост, POSIX и XPG стандартите, които определят тези системи за заявления.

Друго важно събитие за историята на операционните системи е външният вид в началото на 80-те години на персоналните компютри. В резултат на това тя служи като мощен тласък за разпределението на локалните мрежи, като подкрепящите мрежови функции са предпоставка за компютър. Въпреки това, приятелският интерфейс и мрежовите функции се появяват на компютъра, не веднага.

Най-популярната версия на ранния етап на развитие на персоналните компютри е MS-DOS на Microsoft - еднострома, еднопотребителска операционна система с интерфейс за командния ред. Много функции, които осигуряват удобство на потребителя, в това или снабдени с допълнителни програми - командира на Norton, PC инструменти и др., Най-голямото въздействие върху развитието на предоставения компютърен софтуер работна среда Windows, първата версия, която се появява през 1985 година. Мрежовите функции също бяха внедрени с използване на мрежови черупки и се появиха в MS-DOS версия 3.1. В същото време бяха публикувани Microsoft Network Products - MS-Net, а по-късно - LAN мениджър, Windows за работна група и след това Windows NT.

Друга причина беше Novell, нейният NetWare продукт е операционна система с вградени мрежови функции. Netware OS се прилага като

Характеристики на същността, местоназначението, функциите на операционните системи. Отличителни характеристики на тяхната еволюция. Характеристики на алгоритмите за управление на ресурсите. Модерни концепции и технологии за проектиране на операционни системи, изисквания за операционната система XXI век.

Въведение

1. Еволюционна операционна система.

1.1 първи период (1945 -1955)

1.2 Втори период (1955 - 1965 г.)

1.3 Трети период (1965 - 1980 г.)

1.4 Четвърти период (1980 г. - настояще)

2. Класификация на OS.

2.1 Характеристики на алгоритмите за управление на ресурсите

2.2 Характеристики на хардуерни платформи

2.3 Характеристики на приложенията

2.4 Характеристики на методите за строителство

3. Съвременни концепции и технологии за проектиране на операционни системи, изисквания за XXI век

Заключение

Списък на използваната литература

Въведение

Историята на всяка индустрия на науката или технологията позволява не само да задоволи естественото любопитство, но и по-дълбоко да се разбере същността на основните постижения на тази индустрия, да реализира съществуващите тенденции и да оцени правилно перспективите за определени насоки за развитие. В продължение на почти половин век от съществуването си операционните системи са преминали труден път, наситен с много важни събития. Огромното въздействие върху развитието на операционните системи имаше успех за подобряване на елементарната база и компютърното оборудване, толкова много етапи от развитието на операционната система са тясно свързани с появата на нови видове хардуерни платформи, като мини компютри или персонални компютри. Сериозната еволюция, операционните системи са преминали поради новата роля на компютрите в местните и глобалните мрежи. Най-важният фактор за развитието на операционната система беше интернет. Тъй като тази мрежа придобива характеристиките на универсалната масова комуникация, операционната система става все по-проста и лесна за използване, включват разработени инструменти за поддържане на медии, оборудвани с надеждни средства за защита.

Целта на тази курсова работа е описание и анализ на развитието на операционните системи.

Зададената цел се решава от следните задачи:

Разгледа историческия аспект на появата на операционни системи;

Разпределят и обмислят стъпките на еволюцията на операционните системи.

Трябва да се отбележи, че фактът не е бил достатъчно покрит в литературата, която затруднява изучаването.

В хода на проучването се извършва кратък анализ на такива източници като материалите на сайта http://www.microsoft.com/rus, материалите на списанието Windows NT Magazine и др.

Работата се състои от трима ръководители, литература и литература на използваната литература.

1 . Еволюционна операционна система.

1.1 Първи период (1945 -1955)

Известно е, че компютърът е изобретен от английската математика Чарлз Бабидиум в края на осемнадесети век. Неговата "аналитична машина" не може да спечели, защото технологиите от онова време не отговарят на изискванията за производство на части от точната механика, необходими за изчислителната технология. Известно е също, че този компютър не е имал операционна система.

Известен напредък в създаването на цифрови изчислителни машини след Втората световна война. В средата на 40-те години бяха създадени първите лампични устройства. По това време една и съща група хора участваха в дизайна и в експлоатация и в програмирането на компютърната машина. Това беше по-скоро изследователска работа в областта на изчислителната технология, а не използването на компютри като инструмент за решаване на практически задачи от други приложни области. Програмирането се извършва изключително в двигателя. Нямаше реч за операционните системи, всички задачи на организацията на изчислителния процес бяха разделени на ръка от всеки програмист от контролния панел. Нямаше друг системен софтуер, различен от библиотеките на математическите и сервизните подпрограми.

1.2 Втори период (1955 - 1965)

От средата на 50-те години започна нов период в разработването на компютърно оборудване, свързано с появата на новата техническа база - полупроводникови елементи. Компютрите на второ поколение станаха по-надеждни, сега те успяха непрекъснато да работят толкова дълго, за да могат да бъдат наложени на изпълнението на наистина практически важни задачи. През този период той е бил разделен на програмисти и оператори, оперативни точки и разработчици на изчислителни машини.

Тези години се появяват първите алгоритмични езици и следователно, първите системни програми - компилатори. Цената на времето на процесора се е увеличила, което изисква намаляване на непроизвежданото време, прекарано между стартирането на програмите. Появиха се първите системи за обработка на партиди, които просто автоматизираха стартирането на една програма след друга и по този начин увеличава фактора на натоварване на процесора. Системите за обработка на партидите бяха прототип на съвременни операционни системи, те станаха първите системни програми, предназначени за управление на изчислителния процес. По време на прилагането на системите за преработка на партиди е разработена формализирана програма за управление на задачите, с която програмистът докладва на системата и оператора, какъв вид работа иска да изпълнява на компютъра. Комбинация от няколко задачи, като правило, под формата на тесте на пробиви, получи името на пакета за задачи.

1.3 Трети период (1965 - 1980 г.)

Следващият важен период на развитие на компютърни машини се отнася до 1965-1980. По това време преходът от отделни полупроводникови елементи на вида на транзисторите към интегрирани чипове, които дадоха много големи възможности за новото трето поколение компютри към интегралните схеми, възникнаха в техническата база данни.

За този период създаването на семейства на софтуер и съвместими машини също е характерно. Първото семейство софтуер и съвместими машини, изградени върху интегрални схеми, е серията от машини IBM / 360. Построен в началото на 60-те години, това семейство значително надвишава машините за второ поколение според критерия за цените / изпълнението. Скоро идеята за софтуер и съвместими автомобили се признава общо.

Изисква се съвместимост със софтуер и съвместимост на операционните системи. Такива операционни системи ще трябва да работят върху големи и малки изчислителни системи, с голям брой разнообразни периферни устройства в областта на търговската област и в областта на научните изследвания. Операционни системи, изградени с намерението да задоволят всички тези противоречиви изисквания, се оказаха изключително сложни "чудовища". Те се състоят от много милиони асемблерни линии, написани от хиляди програмисти, и съдържат хиляди грешки, причиняващи безкраен корекционен поток. Във всяка нова версия на операционната система бяха коригирани една грешки и бяха въведени други.

В същото време, въпреки най-забележимите размери и много проблеми, OS / 360 и другите машини от трето поколение на операционните системи от трето поколение наистина отговарят на повечето потребителски изисквания. Най-важното постижение на операционната система на това поколение е прилагането на многопрограма. Многопрограмата е начин за организиране на изчислителен процес, в който няколко програми се изпълняват алтернативно на един процесор. Докато една програма изпълнява I / O операция, процесорът не е празен, тъй като се е случило с последователно изпълнение на програмата (режим с едно софтуер) и извършва друга програма (режим многообелен режим). В същото време всяка програма е заредена в нейната област на RAM, наречена секция.

Други иновации - Spling (шлайна). Стенлинг по това време се определя като метод за организиране на изчислителен процес, в съответствие с който задачите бяха прочетени от ударната карта на темпото в темпото, в което се появяват в стаята на компютрния център, и след това, когато Следващата задача беше завършена, новата работа от диска беше заредена в освободения участък.

Наред с многопрограмата, изпълнението на системите за обработка на партиди, се появи нова система за разделяне. Изпълнение на многопрограми, използвано във времеви системи за разделяне, има за цел да създаде за всеки отделен потребител илюзията за единствената употреба на компютърната машина.

1.4 Четвърти период (1980 г. - настояще)

Следващият период в развитието на операционните системи е свързан с появата на големи интегрални схеми (бис). През тези години се наблюдава рязко увеличение на степента на интеграция и евтина чип. Компютърът е станал достъпен за отделен човек и е дошъл ерата на персоналните компютри. От гледна точка на архитектурата персоналните компютри не се различават от класа на миникомпютри като PDP-11, но цената е значително различна. Ако миникомпютърът е дал възможност да има своя собствена изчислителна машина в предприятието или университета, персоналният компютър е направил възможно отделен човек.

Компютрите са широко използвани от неспециалисти, които изискват разработването на "приятелски" софтуер, той сложи край на кастата на програмистите.

Пазарът на операционни системи доминира две системи: MS-DOS и UNIX. Единичното еднопотребител MS-DOS OS се използва широко за компютри на базата на микропроцесори Intel 8088, а след това 80286, 80386 и 80486. Мултиплейър на мултипрограмата е доминиран в компютърната среда, която не е в основата на високопроизводителни RISC процесори.

В средата на 80-те години мрежите на персоналните компютри, работещи под контрола на мрежата или разпределената операция, започнаха да растат бързо.

В мрежи потребителите трябва да са наясно с наличието на други компютри и трябва да направят логически данни на друг компютър, за да използват своите ресурси, предимно файлове. Всяка машина в мрежата извършва своя собствена местна операционна система, която е различна от автономния компютър, наличието на допълнителни инструменти, които позволяват на компютъра да работи в мрежата. Мрежовата операционна система няма фундаментални различия от компютър с един процесор. Той задължително съдържа софтуерна поддръжка за мрежови интерфейсни устройства (мрежов адаптер драйвер), както и средство за отдалечено влизане в други мрежови компютри и средства за достъп до отдалечени файлове, но тези допълнения не променят значително структурата на самата операционна система.

2. ОС Класификация

Операционните системи могат да варират в зависимост от характеристиките на въвеждането на алгоритми за вътрешен контрол за основните ресурси на компютъра (процесори, памет, устройства), характеристики на използваните методи за проектиране, видове хардуерни платформи, области на употреба и много други свойства.

По-долу е класифицирането на операционната система за няколко най-основните знака.

2.1 Характеристики на алгоритмите за управление на ресурсите

Ефективността на цялата мрежова операционна система като цяло зависи от ефективността на контролиращите алгоритми за управление на местните ресурси на компютъра. Ето защо, характеризираща мрежовата операционна система, често водеща най-важните характеристики на изпълнението на операционните функции на процесорите, паметта, външните устройства на автономния компютър. Например, в зависимост от характеристиките на използвания алгоритъм за контрол на процесора, операционните системи се разделят на многозадачи и неразрешителни, мултиплейър и еднопотребителски системи, които поддържат многопроцесора и не го поддържат в многопроцесорни и еднокопроцесорни системи.

Поддържащ многозадачност. По броя на едновременно изпълнените задачи операционните системи могат да бъдат разделени на два класа:

освобождаване (например MS-DOS, MSX) и

многозадачност (OC EC, OS / 2, UNIX, Windows 95).

Орална операционна система По принцип изпълнете програмата, за да предоставите виртуална машина на потребителя, като направите по-прост и удобен процес на взаимодействие на потребителя с компютър. OS OS включва периферни контроли, инструменти за управление на файлове, инструменти за комуникация на потребителите.

Многозадачност операционна система, освен следните функции, контролирайте споделените ресурси, като например процесор, RAM, файлове и външни устройства.

Поддържащ мултиплеър режим. По броя на едновременното работещи потребители, OS се разделят на:

единичен потребител (MS-DOS, Windows 3.x, ранни версии на OS / 2);

мултиплейър (UNIX, Windows NT).

Основната разлика между мултиплейър системи от един потребител е наличието на средства за защита на информацията на всеки потребител от неоторизиран достъп на други потребители. Трябва да се отбележи, че не всяка многозадачна система е мултиплеър, а не всяка система за един потребител не е непрекъсната.

Побезлив и неуморителен многозадачността. Най-важният споделен ресурс е времето на процесора. Методът на разпределение на времето на процесора между няколко едновременно съществуващи процеси в системата (или нишки) до голяма степен определя спецификата на операционната система. Сред многото съществуващи възможности за прилагане на многозадачност могат да бъдат разграничени две групи алгоритми:

нежизнеспособна многозадачност (Netware, Windows 3.x);

изместване на многозадачност (Windows NT, OS / 2, UNIX).

Основната разлика между многозадачните разстояния и неспокривателните изпълнения е степента на централизация на механизма за планиране на процесите. В първия случай механизмът за планиране на процесите е изцяло концентриран в операционната система, а във втория - разпределен между системните и приложните програми. Когато се извърши активното многозадачане, активният процес се извършва, докато той сам по собствена инициатива няма да плати управлението на операционната система, за да може процесът от опашката да бъде извън опашката. Когато се изменя многозадачността, решението за превключване на процесора от един процес в друг се взема от операционната система, а не самият активен процес.

Многопробна поддръжка. Важно свойство на операционните системи е възможността за паралелно изчисляване в рамките на една задача. Многоредовата операционна система споделя времето на процесора, но не между задачите, но между техните отделните клонове (нишки).

Многопроцесиране. Друго важно свойство на операционната система е отсъствието или наличието на многопроцесорни инструменти за обработка в нея - многопроцесора. Многопроцесорът води до усложненията на всички алгоритми за управление на ресурсите.

Днес той става общоприет чрез въвеждане в операционните функции на подкрепата за обработка на данни за многопроцесорна данни. Такива функции са налични в операционните системи на Sularis 2.x. Sun, Open Server 3.X Santa Crus Operations, OS / 2 фирма IBM, Windows NT, Microsoft и Netware 4.1 фирми на Novell.

Многопроцесорът може да бъде класифициран според метода за организиране на изчислителния процес в система с многопроцесорна архитектура: асиметрична операционна система и симетрична операционна система. Асиметричната операционна система е напълно изпълнена само на един от системните процесори, разпределяйки приложените задачи от други процесори. Симетричната операционна система е напълно децентрализирана и използва целия басейн на преработвателите, разделяйки ги между системни и приложни задачи.

Над характеристиките на операционната система, свързани с управлението само един вид ресурсен процесор. Важно влияние върху външния вид на операционната система като цяло, за възможността за използване в една или друга област, характеристиките и други подсистеми за управление на местни ресурси са подсистеми за управление на паметта, файлове, I / O устройства.

Спецификата на операционната система се проявява в това как тя изпълнява мрежовите функции: разпознаване и пренасочване към мрежа от искания към отдалечени ресурси, предаване на съобщения в мрежата, изпълнявайки отдалечени заявки. При прилагането на мрежови функции, възникна комплекс от задачи, свързани с разпределения характер на съхранението и обработката на данни в мрежата, възниква: справка за всички ресурси и сървъри в мрежата, като се обръщат към интерактивните процеси, осигуряване на прозрачност на достъпа, репликация на данни, копия, копия, Поддържащи данни.

2. 2 Характеристики на хардуерни платформи

Свойствата на операционната система пряко влияние са хардуерът, към който е ориентиран. От вид на оборудването се отличават операционни системи на персонални компютри, мини-компютри, мейнфрейми, клъстери и компютърни мрежи. Сред изброените видове компютри могат да възникнат както единични опции и многопроцесор. Във всеки случай, спецификата на хардуера, като правило, се отразява в спецификата на операционните системи.

Очевидно е, че голямата кола OS е по-сложна и функционална от компютърния компютър. Така, в операционната система, функциите на функцията за планиране на потока на изпълняваните задачи очевидно се изпълняват чрез използване на сложни приоритетни дисциплини и изискват по-голяма изчислителна сила, отколкото при персоналните компютри. Ситуацията е подобна и други функции.

Мрежовата операционна система има в своя състав средствата за съобщения между компютри над комуникационните линии, които са напълно ненужни в автономната операционна система. Въз основа на тези съобщения, мрежовата операционна система поддържа разделянето на компютърните ресурси между отдалечени потребители, свързани с мрежата. За да поддържате функции за съобщения, мрежовата операционна система съдържа специални софтуерни компоненти, които прилагат популярни комуникационни протоколи, като IP, IPX, Ethernet и др.

Многопроцесорни системи изискват специална организация от операционната система, с помощта на самата операционна система, както и приложенията, поддържани от нея, могат да бъдат извършени паралелно с отделни системни процесори. Паралелната работа на отделни части на операционната система създава допълнителни проблеми за разработчиците на операционната система, тъй като в този случай е много по-трудно да се осигури договореният достъп на индивидуалните процеси към общите системни таблици, премахване на ефекта от състезания и други нежелани последици от асинхронната работа.

Други изисквания са представени на операционни системи на клъстери. Клъстерът е слабо свързан набор от няколко изчислителни системи, които работят заедно за извършване на общи приложения и единния потребител на системата. Заедно със специалното оборудване за функционирането на клъстерни системи, софтуерната поддръжка е необходима и от операционната система, която се спуска главно за синхронизиране на достъпа до споделени ресурси, откриване на неуспехи и динамична реконфигурация на системата. Едно от първото развитие в областта на клъстерните технологии е решенията на цифровото оборудване, основано на вакс компютри. Наскоро това дружество приключва споразумение с Microsoft Corporation за развитието на технологията на клъстерите с помощта на Windows NT. Няколко компании предлагат Cunix-базирани клъстери.

Заедно с операционната система, фокусирана върху напълно дефиниран вид хардуерна платформа, има операционни системи, специално проектирани по такъв начин, че да могат лесно да се прехвърлят от един компютър с компютър на друг тип, така наречената мобилна операционна система. Най-впечатляващият пример за такава операционна система е популярната UNIX система. В тези системи, зависимите от хардуерните места са внимателно локализирани, така че при прехвърляне на системата до нова платформа, само те се пренаписват. Инструмент, който улеснява прехвърлянето на останалата част от операционната система, е да го напише на независим от машината език, например, на C, който е разработен за програмиране на операционни системи.

2. 3 Характеристики на зоните

Многозадачността OS се разделя на три вида в съответствие с критериите за развитие, използвани в тяхното развитие:

системи за обработка на партиди (например, OC),

разделяне на времето (UNIX, VMS),

системи в реално време (QNX, RT / 11).

Системите за обработка на партидите са предназначени да решават проблеми в основната изчислителна природа, които не изискват бързо получаване на резултати. Основната цел и критерият за ефективността на системите за обработка на партидите са максималният капацитет, т.е. решението на максималния брой задачи на единица време. За да се постигне тази цел в системите за преработка на партиди, се използва следната функционална схема: в началото на работата се формира пакетът за задачите, всяка задача съдържа изискване за системно ресурс; От този пакет от задачи се образува многопрограма, т.е. мнозина едновременно изпълнени задачи. За едновременно изпълнение са избрани задачи, които имат различни изисквания за ресурса, така че да се осигури балансирано зареждане на всички устройства на компютърната машина; Например, в многопрогрегална смес, едновременното присъствие на изчислителни задачи и задачи с интензивно вмъкване е за предпочитане. По този начин изборът на нова задача от пакета за задачи зависи от вътрешната ситуация сгъване в системата, т.е. е избрана "благоприятна" задача. Следователно, в такъв или, е невъзможно да се гарантира, че е възможно да се извърши една или друга задача за определен период от време. В системите за обработка на пакети, превключването на процесора от изпълнението на една задача да изпълни друг възниква само ако самата активна задача откаже процесора, например поради необходимостта от извършване на I / O операция. Ето защо една задача може дълго време да вземе процесора, което прави невъзможно изпълнението на интерактивни задачи. По този начин, взаимодействието на потребителя с компютърната машина, върху която е инсталирана система за обработка на пакети, тя се свежда до факта, че тя носи задачата, дава го диспечер-оператор и в края на деня след изпълнението на цялата задача на цялата задача Пакетът получава резултата. Очевидно е, че такава поръчка намалява ефективността на потребителя.

Системите за разделяне на времето са предназначени да коригират основната липса на системи за обработка на партидите - изолация на потребителския програмист от процеса на изпълнение на своите задачи. Всяка система за разделяне на потребителите е снабдена с терминал, от който може да проведе диалог с неговата програма. Тъй като в системите за разделяне на системата всяка задача се разпределя само на квантово време на процесора, нито една задача заема процесор за дълго време и времето за отговор е приемливо. Ако QUANTUM е избран, всички потребители, които едновременно работят по една и съща машина, съставляват впечатлението, че всеки от тях използва само колата. Ясно е, че системите за разделяне на времето имат по-малка честотна лента от системите за обработка на партидите, тъй като се предприемат всяка работеща задача, а не тази, която е "полезна" система, и освен това има режийни разходи за изчислителна сила за повече Често предавателен процесор със задача за задачата. Критерият за ефективността на системите за разделяне на времето не е максималната пропускателна способност, но удобството и ефективността на потребителя.

Системите в реално време се използват за управление на различни технически обекти, като машина, сателитна, научна експериментална инсталация или технологични процеси, като галванична линия, домейн процес и др. Във всички тези случаи има изключително допустимо време, през което една или друга програма, която контролира обекта, трябва, в противен случай може да възникне инцидент: сателитът ще излезе от зоната на видимост, експерименталните данни, идващи от сензорите, ще бъдат загубени , дебелината на галваничното покритие не може да съответства на нормата. Така критерият за ефективност на системите в реално време е тяхната способност да издържат на предварително определени интервали от време между стартирането на програмата и получаването на резултата (контролна експозиция). Този път се нарича време за реакция на системата, а съответното свойство на системата е реактивност. За тези системи многопрограмата е фиксиран набор от предварително разработени програми, а изборът на програмата за изпълнение се извършва въз основа на текущото състояние на обекта или в съответствие с графика на планираната работа.

Някои операционни системи могат да комбинират свойствата на системите от различни типове, например, част от задачите могат да бъдат изпълнени в режим на обработка на пакети, а частта е в реално време или във времето режим на разделяне. В такива случаи режимът на преработка на партиди често се нарича фонов режим.

2. 4 Характеристики на методите за строителство

При описването на операционната система често се посочват характеристиките на структурната му организация и основните понятия.

Тези основни понятия включват:

Методи за изграждане на система на системата - монолитно ядро \u200b\u200bили миноритарен подход. Повечето OS използват монолитно ядро, което е съставено като една програма, която работи в привилегирован режим и използва бързи преходи от една процедура в друга, която не може да бъде включена от привилегирования режим на потребителя и обратно. Алтернатива е да се изгради операционна система, базирана на микрохерна, която също работи в привилегирован режим и извършва само минимални функции за контролиране на оборудването, докато функциите на OS по-високо ниво се извършват от специализирани компоненти на OS - сървъри, работещи в потребителски режим. С тази конструкция, OS работи по-бавно, тъй като често е възможно да се превеждат между привилегирования и потребителя, но системата се получава по-гъвкава - функциите му могат да бъдат регулирани, модифицират или тесни, добавяне, модифициране или изключване на сървъри на потребителски режим . В допълнение, сървърите са добре защитени един от друг, като всеки потребителски процеси.

Изграждането на операционната система въз основа на обектно-ориентиран подход дава възможност да се използват всички свои предимства, добре доказани на нивото на приложението, вътре в операционната система, а именно: натрупването на успешни решения под формата на стандартни обекти, способност За да създадете нови обекти, базирани на механизма за наследяване, добра защита на данните поради тяхната капсулация във вътрешните структури на обекта, което прави данните недостъпни за неразрешено използване от външната страна, структурата на системата, състояща се от набор от добре дефинирани обекти .

Наличието на няколко среди на приложение прави възможно едно от същата OS едновременно да се изпълняват приложения, разработени за няколко операционни системи. Много съвременни операционни системи поддържат MS-DOS, Windows, UNIX (POSIX), OS / 2 или поне някои подгрупи от това популярно набиране едновременно. Концепцията за множествена приложна среда е най-просто въведена в операционната система, базирана на микрофия, над която работят различни сървъри, част от които се прилагат чрез приложна среда на определена операционна система.

Разпределената организация на операционната система ви позволява да опростите работата на потребителите и програмистите в мрежовите среди. В разпределената OS се изпълняват механизми, които позволяват на потребителя да представлява и възприема мрежата под формата на традиционен компютър с един процесор. Характерни особености на разпределената организация ОС са: наличието на единна референтна услуга за споделени ресурси, еднократна услуга, използвайки механизма за повикване на дистанционното производство (RPC) за прозрачното разпределение на софтуерните процедури за машини, мулти-партньорска обработка, която позволява Вие да паралелирате изчисленията в рамките на една задача и изпълнете тази задача веднага на няколко мрежови компютри, както и други разпределени услуги.

3. Съвременни концепции и технологии за проектиране на операционни системи, изисквания заXXI. век

Операционната система е основният мрежов софтуер, той създава среда за изпълнение на приложения и варира в много отношения, които полезни свойства използват тези приложения. В това отношение обмислете изискванията да бъдат удовлетворени от съвременната операционна система.

Очевидно е, че основното изискване за операционната система е възможността за извършване на основни функции: ефективно управление на ресурсите и предоставяне на удобен за потребителя интерфейс за потребителски и приложни програми. Съвременната операционна система, като правило, трябва да прилагат многопрограма, виртуална памет, суап, поддържане на многоцветния интерфейс, както и да изпълняват много други, абсолютно необходими функции. В допълнение към тези функционални изисквания, не се налагат по-малко важни пазарни изисквания за операционни системи. Тези изисквания включват:

· Разширяемост. Кодът трябва да бъде написан по такъв начин, че лесно можете да добавяте допълнения и промени, ако е необходимо, а не нарушавате целостта на системата.

· Преносимост. Кодът трябва да бъде лесно прехвърлен от процесора от същия тип към процесора на друг тип и от хардуерната платформа (която включва заедно с вида на процесора и метода на организиране на целия компютърен хардуер) от същия тип на хардуера платформа на друг тип.

· Надеждност и толерантност на грешки. Системата трябва да бъде защитена както от вътрешни, така и от външни грешки, неуспехи и неуспехи. Неговите действия трябва винаги да бъдат предвидими, а приложенията не трябва да могат да повредят операционната система.

· Съвместимост. Операционната система трябва да има средства за изпълнение на приложни програми, написани за други операционни системи. Освен това потребителският интерфейс трябва да бъде съвместим със съществуващите системи и стандарти.

· Безопасност. ОС трябва да има средства за защита на ресурсите на един потребители от други.

· Производителност. Системата трябва да има толкова добра скорост и време на реакция, колкото хардуерната платформа позволява.

Помислете за по-подробно някои от тези изисквания.

РазтегаемостДокато хардуерната част на компютъра е остаряла за няколко години, полезният живот на операционните системи може да бъде измерен с десетилетия. Един пример е UNIX OS. Ето защо операционните системи винаги са еволюционни с течение на времето и тези промени са по-значими от промените в хардуера. Промените на OS обикновено придобиват нови свойства. Например, поддържащи нови устройства, като CD-ROM, възможността за комуникация с нови мрежи тип, поддържащи обещаващи технологии, като графичен потребителски интерфейс или обектно-ориентирана софтуерна среда, използвайте повече от един процесор. Спестяване на целостта на кода, каквито и промени, допринесли за операционната система, е основната цел на развитието.

Разширяемостта може да бъде постигната чрез модулната структура на операционната система, в която програмите са изградени от набора от отделни модули, които взаимодействат само през функционалния интерфейс. Новите компоненти могат да бъдат добавени към операционната система чрез модулен път, те изпълняват работата си с интерфейси, поддържани от съществуващи компоненти.

Използването на обекти за представяне на системни ресурси също подобрява разширяването на системата. Обектите са абстрактни типове данни, за които могат да се извършват само тези действия, които са предвидени от специален набор от обектни функции. Обектите ви позволяват да управлявате системните ресурси равномерно. Добавянето на нови обекти не унищожава съществуващите обекти и не изисква промени в съществуващия код.

Отличните възможности за разширяване осигуряват подход към софтуера за структуриране на ОС, като използвате тип на клиент сървъра с помощта на микронуклеус технология. В съответствие с този подход подходите на ОС, като набор от привилегирована програма за управление и набор от неувиредени сървърни услуги. Основната част на операционната система може да остане непроменена, докато могат да се добавят нови сървъри или старите са подобрени.

Инструменти за дистанционно управление (RPC) също дават възможност на функционалността на операционната система. Новите програмни процедури могат да бъдат добавени към всяка мрежова машина и незабавно да запишете програмите за кандидатстване на други мрежови машини.

Някои операционни системи за подобряване на поддръжката на разтегателност, изтеглени драйвери, които могат да бъдат добавени към системата по време на нейната работа. Новите файлови системи, устройства и мрежи могат да бъдат поддържани чрез написване на драйвера на устройството, драйвер за файлове или транспортен драйвер и да го зареждате в системата.

ПреносимостИзискването за повтореността на кода е тясно свързано с разтегаемостта. Разширяемостта ви позволява да подобрите операционната система, докато преносимостта дава възможност за преместване на цялата система към машината, базирана на друг процесор или хардуерна платформа, което дава възможност за малки промени в кода. Въпреки че операционната система често се описва или като преносима, или като непоносима, преносимостта не е двоична държава. Въпросът не е дали системата може да бъде прехвърлена и колко лесно може да се направи. Писането на преносима операционна система е подобно на писането на всеки преносим код - трябва да следвате някои правила.

Първо, по-голямата част от кода трябва да бъде написан на езика, който е на разположение на всички машини, където искате да прехвърлите системата. Това обикновено означава, че кодът трябва да бъде написан на езика на високо равнище, за предпочитане стандартизиран, например в S. Програмата, написана на асемблера, не е преносима, освен ако не възнамерявате да го прехвърлите на машина с командната съвместимост с вашия.

Второ, трябва да се вземе предвид в коя физическа среда програмата трябва да бъде прехвърлена. Различното оборудване изисква различни решения при създаването на операционна система. Например, OS, изградена на 32-битови адреси, не може да бъде прехвърлена към машината с 16-битови адреси (освен с огромни трудности).

Трето, важно е да се сведе до минимум или, ако е възможно, да се изключат тези части от кода, които пряко взаимодействат с хардуера. Зависимостта от оборудването може да има много форми. Някои очевидни форми на зависимост включват директни манипулационни регистри и друг хардуер.

Четвърто, ако хардуерният зависим код не може да бъде напълно изключен, той трябва да бъде изолиран в няколко добре локализирани модула. Хардуерно-зависим код не трябва да се разпространява по цялата система. Например, можете да скриете хардуерната зависима структура в зададените от софтуера абстрактни данни. Други системни модули ще работят с тези данни, а не с оборудване, използвайки набор от някои функции. Когато операционната система бъде прехвърлена, само тези данни и функциите, които са манипулирани, се променят.

За лесна трансмисионна операционна система трябва да се изпълнят следните изисквания при разработването му:

· Преносим език на високо ниво. Повечето от прехвърлените операционни системи са написани в C (стандарт C (ANSI X3.159-1989). Разработчиците са избрани от това, защото е стандартизирана и защото C-компилаторите са широко достъпни. Асемблерът се използва само за тези части на системата, които трябва директно да взаимодействат с оборудването (например закъснение за прекъсване) или за части, които изискват максимална скорост (например целочислена аритметична точност). В този случай непоносим код трябва да бъде внимателно изолиран вътре в тези компоненти, където се използва.

· Изолиране на процесора. Някои части от OS OS трябва да имат достъп до процесора-зависими структури на данни и регистрите. В този случай кодът, който прави това, трябва да се съдържа в малки модули, които могат да бъдат заменени с подобни модули за други процесори.

· Изолационна платформа. Зависимостта от платформата е разликите между работните станции на различни производители, изградени върху същия процесор (например, MIPS R4000). Трябва да се въведе ниво на програмно ниво, абстракциониращо оборудване (кешове, I / O прекъсващи контролери и т.н.), заедно със слоя на програмите на ниско ниво, така че кодът на високо ниво не трябва да се променя при прехвърляне от една платформа към друг.

СъвместимостЕдин аспект от съвместимостта е способността на операционната система да изпълнява програми, написани за други операционни системи или за по-ранни версии на тази операционна система, както и за друга хардуерна платформа.

Трябва да споделите проблеми с двоичната съвместимост и съвместимостта на нивото на приложението. Бинарна съвместимост се постига, когато можете да вземете изпълнителната програма и да я стартирате, за да изпълните друга операционна система. Това изисква: съвместимост на ниво команда на процесора, съвместимост на нивото на системните повиквания и дори на нивото на библиотечните повиквания, ако те са динамично обвързващи.

Съвместимостта на нивото на изходните текстове изисква наличието на съответния компилатор като част от софтуера, както и съвместимост на нивото на библиотечните и системните повиквания. Това изисква прекомпилиране на съществуващите текстове на източника в нов модул.

Съвместимостта на нивото на изходните текстове е важно главно за разработчиците на приложения, които винаги са на разположение на изхвърлянето на тези текстове на източника. Но за крайните потребители, само двоичната съвместимост е от практическо значение, тъй като само в този случай те могат да използват един и същ търговски продукт, доставен под формата на двоичен изпълним код, в различни работни среди и различни машини.

Дали нова операционна система има двоична съвместимост или съвместимост на изходните текстове със съществуващите системи зависи от много фактори. Най-важното от тях е архитектурата на процесора, на която работи новата операционна система. Ако процесорът, към който се прехвърля операционната система, използва същия набор от команди (евентуално с някои допълнения) и същата гама адреси, тогава двоичната съвместимост може да бъде постигната доста проста.

Много по-трудно е да се постигне двоична съвместимост между процесорите въз основа на различни архитектури. За да може един компютър да изпълнява другите програми (например DOS програма на Mac), този компютър трябва да работи с машинни екипи, които първоначално са неразбираеми за него. Например, процесор от тип 680x0 на Mac трябва да изпълни двоичен код, предназначен за 80x86 процесор в компютъра. Процесорът 80x86 има свой собствен екип декодер, регистри и вътрешна архитектура. Процесорът 680x0 не разбира двоичния код 80x86, така че трябва да избере всяка команда, да го декодира, за да определи какво е предназначено и след това да извърши еквивалентна подпрограма, написана за 680x0. Тъй като 680x0 не е точно същите регистри, флагове и вътрешно аритметично логическо устройство, както в 80x86, тя трябва да имитира всички тези елементи, използвайки неговите регистри или памет. И трябва внимателно да възпроизведат резултатите от всяка команда, която изисква специално написани подпрограми за 680x0, гарантиращи, че състоянието на емулираните регистри и флагове след извършване на всяка команда ще бъде точно същото като на реалния 80x86.

Това е проста, но много бавна работа, тъй като микрокодът вътре в процесора 80x86 се изпълнява при много по-бързо ниво от външните външни команди на 680x0. По време на изпълнението на една 80x86 команда до 680x0, реалният 80x86 може да изпълнява десетки команди. Следователно, ако емулацията на процесора не е толкова бърза, за да компенсира всички загуби в емулация, след това програмите, които се извършват под емулация, ще бъдат много бавни.

Изходът в такива случаи е използването на така наречените приложни носители. Като се има предвид, че основната част от програмата, като правило, съставляват повикванията на функциите на библиотеката, средата на приложение симулира изцяло писмените функции на библиотеката, използвайки библиотеката на функциите на подобна цел, а останалите команди се подразбират поотделно.

Съответствието с POSIX стандартите също е средство за осигуряване на съвместимост на софтуерните и потребителските интерфейси. През втората половина на 80-те години правителствените агенции на САЩ започнаха да разработват POSIX като стандарти за доставеното оборудване при сключване на правителствени договори в компютърния регион. POSIX е "интерфейсът на преносимата OS базиран на UNIX." POSIX е колекция от международни стандарти на OS интерфейси в стила на UNIX. Използване на POSIX Standard (IEEE Standard 1003.1 - 1988) ви позволява да създавате програми за стил на UNIX, които могат лесно да бъдат прехвърлени от една система в друга.

БезопасностВ допълнение към стандарта POSIX, правителството на САЩ определи и изискванията за компютърна сигурност за приложения, използвани от правителството. Много от тези изисквания са желани свойства за всяка мултиплеър система. Правилата за сигурност Определете свойствата като защита на ресурсите на един потребител от други и установяване на квоти за ресурси, за да предотвратите на един потребител да предотвратява всички системни ресурси (като памет).

Осигуряването на защита на информацията от неоторизиран достъп е задължителна характеристика на мрежовите операционни системи. Най-популярните системи гарантират степента на сигурност на данните, съответстваща на ниво C2 в системата на стандартите на САЩ.

Основите на стандартите за безопасност са положени от "критерии за оценка на надеждните компютърни системи". Този документ, публикуван в Съединените щати през 1983 г. от Националния център за компютърна сигурност (NCSC - Национален център за компютърна сигурност) често се нарича оранжева книга.

В съответствие с изискванията на оранжевата книга на безопасно, такава система се счита, която "чрез специални механизми за защита контролира достъпа до информация по такъв начин, че само да има подходящи разрешения или процеси, които се изпълняват от тяхно име, могат да имат достъп до четене , пишете, създавате или изтривате информация. ".

Йерархията на нивата на сигурност, дадена в оранжевата книга, отбелязва най-ниското ниво на сигурност като г, и най-високо - като А.

· Класът D включва системи, чиято оценка разкрива тяхното несъответствие с изискванията на всички други класове.

· Основните свойства, характерни за С-системите, са: Наличие на подсистеми за счетоводство на сигурността и селективен контрол на достъпа. Нивото С е разделено на 2 сублайове: ниво C1, което защитава данните от потребителските грешки, но не и от действията на нападателите, и по-строгото ниво C2. На ниво С2, тайното влизане трябва да присъства, като предоставя идентификация на потребителя, като въведе уникално име и парола, преди да им бъде позволено достъп до системата. Селективният контрол на достъпа, изискван на това ниво, позволява на собственика на ресурса да определи кой има достъп до ресурса и какво може да направи с него. Собственикът го прави от предоставената потребител или потребителска група. Счетоводство и наблюдение (одит) - предоставят възможност за откриване и фиксиране на важни събития за сигурност или опит за създаване, достъп или изтриване на системни ресурси. Защита на паметта - е, че паметта се инициализира преди повторно използване. На това ниво системата не е защитена от потребителските грешки, но поведението му може да бъде контролирано от записи в списанието, оставено чрез наблюдение и одит.

Концепцията за операционната система

Операционната система (OS) е комплекс от системни и управленски програми, предназначени за най-ефективното използване на всички ресурси на компютърната система (Sun) (изчислителна система - взаимосвързаният набор от хардуер на компютърно оборудване и софтуер, предназначени за обработка на информация) и Лесен работа с него.

Целта на операционната система е организацията на изчислителния процес в изчислителната система, рационалното разпределение на изчислителните ресурси между индивидуалните твърди задачи; Предоставяне на многобройни инструменти за услуги, които улесняват процеса на програмиране и задачите за отстраняване на грешки. Операционната система изпълнява ролята на един вид интерфейс (интерфейсът е набор от оборудване и софтуер, необходими за свързване на периферни устройства към PEVM) между потребителя и слънцето, т.е. ОС предоставя на потребителя виртуалното слънце. Това означава, че операционната система до голяма степен генерира идея за възможностите на слънцето, удобството да работи с него, неговата производителност. Различни операционни системи по същите технически средства могат да предоставят на потребителя на потребителя различни възможности за организиране на изчислителен процес или автоматизирана обработка на данни.

В Sun Software операционната система заема основната позиция, защото осигурява планиране и контролиране на целия изчислителен процес. Всеки от софтуерния компонент е задължително да работи с OS.

В съответствие с условията за прилагане се отличават три режима на ОС: преработка на партиди, разделяне на времето и в реално време. В режим на обработка на пакети, операционната система последователно изпълнява събраната в пакета за задачи. В този режим потребителят няма контакт с компютъра, получавайки само резултатите от изчисленията. В режим на разделяне на времето на OS едновременно изпълнява няколко задачи, адаптиране към всеки потребител към компютъра. В операционната система в реално време осигурява контролни обекти в съответствие с получените входни сигнали. Времето за реакция на компютъра с реално време е върху смущаващия ефект, трябва да бъде минимален.



Етапи на разработване на операционни системи

Първи период (1945 -1955)

Известно е, че компютърът е изобретен от английската математика Чарлз Бабидиум в края на осемнадесети век. Неговата "аналитична машина" не може да спечели, защото технологиите от онова време не отговарят на изискванията за производство на части от точната механика, необходима за изчислителната технология. Известно е също, че този компютър не е имал операционна система.

Известен напредък в създаването на цифрови изчислителни машини след Втората световна война. В средата на 40-те години бяха създадени първите лампични устройства. По това време една и съща група хора участваха в дизайна и в експлоатация и в програмирането на компютърната машина. Това беше по-скоро изследователска работа в областта на изчислителната технология, а не използването на компютри като инструмент за решаване на практически задачи от други приложни области. Програмирането се извършва изключително в двигателя. Нямаше реч за операционните системи, всички задачи на организацията на изчислителния процес бяха разделени на ръка от всеки програмист от контролния панел. Нямаше друг системен софтуер, различен от библиотеките на математическите и сервизните подпрограми.

Втори период (1955 - 1965)

От средата на 50-те години започна нов период в разработването на компютърно оборудване, свързано с появата на новата техническа база - полупроводникови елементи. Компютрите на второ поколение станаха по-надеждни, сега те успяха непрекъснато да работят толкова дълго, за да могат да бъдат наложени на изпълнението на наистина практически важни задачи. През този период се наблюдава споделянето на персонала на програмистите и операторите, операторите и разработчиците на изчислителни машини.

Тези години се появяват първите алгоритмични езици и следователно, първите системни програми - компилатори. Цената на времето на процесора се е увеличила, което изисква намаляване на непроизвежданото време, прекарано между стартирането на програмите. Появиха се първите системи за обработка на партиди, които просто автоматизираха стартирането на една програма след друга и по този начин увеличава фактора на натоварване на процесора. Системите за обработка на партидите бяха прототип на съвременни операционни системи, те станаха първите системни програми, предназначени за управление на изчислителния процес. По време на прилагането на системите за преработка на партиди е разработена формализирана програма за управление на задачите, с която програмистът докладва на системата и оператора, какъв вид работа иска да изпълнява на компютъра. Комбинация от няколко задачи, като правило, под формата на тесте на пробиви, получи името на пакета за задачи.

Трети период (1965 - 1980 г.)

Следващият важен период на развитие на компютърни машини се отнася до 1965-1980. По това време преходът от отделни полупроводникови елементи на вида на транзисторите към интегрирани чипове, които дадоха много големи възможности за новото трето поколение компютри към интегралните схеми, възникнаха в техническата база данни.

За този период създаването на семейства на софтуер и съвместими машини също е характерно. Първото семейство софтуер и съвместими машини, изградени върху интегрални схеми, е серията от машини IBM / 360. Построен в началото на 60-те години, това семейство значително надвишава машините за второ поколение в съответствие с критерия за цената / производството. Скоро идеята за софтуер и съвместими автомобили се признава общо.

Изисква се съвместимост със софтуер и съвместимост на операционните системи. Такива операционни системи ще трябва да работят върху големи и малки изчислителни системи, с голям брой разнообразни периферни устройства в областта на търговската област и в областта на научните изследвания. Операционни системи, изградени с намерението да задоволят всички тези противоречиви изисквания, се оказаха изключително сложни "чудовища". Те се състоят от много милиони асемблерни линии, написани от хиляди програмисти, и съдържат хиляди грешки, причиняващи безкраен корекционен поток. Във всяка нова версия на операционната система бяха коригирани една грешки и бяха въведени други.

Въпреки това, въпреки зрелите размери и много проблеми, OS / 360, а другите три поколения машини на трето поколение машини наистина отговарят на повечето потребителски изисквания. Най-важното постижение на операционната система на това поколение е прилагането на многопрограма. Многопрограмата е начин за организиране на изчислителен процес, в който няколко програми се изпълняват алтернативно на един процесор. Докато една програма изпълнява I / O операция, процесорът не е празен, тъй като се е случило с последователно изпълнение на програмата (режим с едно софтуер) и извършва друга програма (режим многообелен режим). В същото време всяка програма е заредена в нейната област на RAM, наречена секция.

Други иновации - Spling (шлайна). Стенлинг по това време се определя като метод за организиране на изчислителен процес, в съответствие с който задачите бяха прочетени от ударната карта на темпото в темпото, в което се появяват в стаята на компютрния център, и след това, когато Следващата задача беше завършена, новата работа от диска беше заредена в освободения участък.

Наред с многопрограмата, изпълнението на системите за обработка на партиди, се появи нова система за разделяне. Изпълнение на многопрограми, използвано във времеви системи за разделяне, има за цел да създаде за всеки отделен потребител илюзията за единствената употреба на компютърната машина.

Основни мрежови комунални услуги.

Linux е мрежова операционна система. Това означава, че потребителят може да изпраща файлове и да работи не само на локалната си машина, но и използва отдалечен достъп, да получава и изпраща файлове, да изпълнява някои действия и на отдалечена машина. Обширният набор от мрежови комунални услуги прави процеса на работа на отдалечен компютър като удобно, както и на локалния компютър.

За да се гарантира сигурността при работа на отдалечен компютър, си струва да използвате SSH полезността (сигурна черупка). Разбира се, потребителят трябва да бъде регистриран в системата, където ще работи. В прозореца на емулатора на терминала потребителят трябва да въведе командата.

ssh. [Защитен имейл]

където login е потребителското име на потребителя на хост машината. Друг вариант е:

sSH Host -L user_login

Функциите в Excel се наричат \u200b\u200bпредварително дефинирани формули, с които се извършват изчисления в посочения ред за определени стойности. В този случай изчисленията могат да бъдат и прости и сложни.

Например, определението за средната стойност на петте клетки може да бъде описано по формулата: \u003d (А1 + А2 + А3 + А4 + А5) / 5 и може да бъде специална функция на SRVNA, която ще намали изразяването към следващия вид: srvnow (A1: A5). Както можете да видите, вместо да въвеждате във формулата на всички клетки, можете да използвате конкретна функция, като я насочите като аргумент към техния диапазон.

За да работи с функции в Excel на лентата, се намират отделно полагане на формула, върху която са разположени всички основни инструменти за работа с тях.

Можете да изберете необходимата категория на лентата в групата на функционалната библиотека във формула. След като кликнете върху стрелката, разположена до всяка от категориите, списъкът на функциите се разкрива и когато задържите курсора към някой от тях, прозорецът се появява с неговото описание.

Въвеждането на функции, както и формулата, започва с признаците на равенство. След като функцията идва, под формата на съкращение от големи букви, показващи неговата стойност. След това функционалните аргументи са посочени в скоби - данни, използвани за получаване на резултата.

Като аргумент, определен номер, независима връзка към клетката, цяла серия от препратки към стойностите или клетките, както и обхвата на клетките. В същото време някои функции аргументи са текст или цифри, други - време и дата.

Много функции могат да имат няколко аргумента наведнъж. В този случай всеки от тях е отделен от следващата точка със запетая. Например, функция \u003d производство (7; А1; 6; B2) разглежда продукта от четири различни номера, определени в скоби, и съответно съдържа четири аргумента. В този случай, в нашия случай, един аргументи са ясно посочени, а други са стойности на определени клетки.

Също така, като аргумент, можете да използвате друга функция, която в този случай се нарича вложени. Например, функция \u003d суми (А1: А5; SRVNAH (B5: B10)) обобщава стойностите на клетките в диапазона от А1 до А5, както и средната стойност на числата, поставени в клетки B5, B6 , B7, B8, B9 и B10.

Някои прости характеристики на аргументи може да не са въобще. Така че, използвайки функцията \u003d tdata () можете да получите текущото време и дата, без да използвате аргументи.

Не всички функции в ECXEL имат проста дефиниция, като функция на сумиране на сумирането на избраните стойности. Някои от тях имат сложно синтактично писане, както и изискват много аргументи, които трябва да бъдат правилните видове. Колкото по-трудно е функцията, толкова по-трудно е да се изготвят правилно. А разработчиците са взели предвид, включително помощник-асистент на потребителите за потребителите - магистър на функциите.

За да започнете да въвеждате функция, използвайки функционален съветник, кликнете върху иконата на функцията за вмъкване (FX), разположена отляво на низ с формула.

Също така, поставете функция може да бъде намерена на лентата от горната част на функционалната група в раздела "Формула". Друг начин да се обадите на магьосника на функциите е пряк път на клавишите Shift + F3.

След отваряне на асистент прозореца, първото нещо, което трябва да направите, е да изберете категория функция. За да направите това, можете да използвате полето за търсене или падането на списъка.

В средата на прозореца, списъкът на функциите на избраната категория се отразява, а по-долу - кратко описание на функцията, разпределена от курсора и сертификата за неговите аргументи. Между другото, целта на функцията често може да бъде определена от нейното име.

Като направите необходимия избор, кликнете върху бутона OK, след което ще се появи прозорецът на функциите.

График

Много често, числата в таблицата, дори сортирани с правилно, не позволяват пълна картина за резултатите от изчисленията. За да получите визуално представяне на резултатите, в г-жа Excel има възможността за изграждане на диаграми на различни видове. Това може да бъде едновременно редовна хистограма или график и листенна, кръгова или екзотична балонна диаграма. Освен това, в програмата е възможно да се създадат комбинирани графики от различни видове, като ги спестява като шаблон за по-нататъшна употреба.

Фигурата в Excel може да бъде поставена или на същия лист, където вече е разположена таблицата, и в този случай се нарича "вграден" или на отделен лист, който ще се нарича "списък на графиката".

За да създадете диаграма, базирана на таблични данни, първо подчертайте тези клетки, информацията, от която трябва да бъдат представени в графична форма. В този случай появата на диаграмата зависи от вида на избраните данни, които трябва да са в колони или линии. Заглавките на колоните трябва да са над стойностите и заглавията на струните - отляво от тях. \\ T

След това, на лентата в раздела за вмъкване в групата с диаграма, изберете желания тип и тип на диаграмата. За да видите кратко описание на тип или тип диаграми, трябва да забавите показалеца на мишката върху него

В долния десен ъгъл на блока на диаграма има малък бутон за създаване на диаграма, с която можете да отворите прозореца на вмъкване на график, който показва всички типове, типове и графични шаблони.

Също така обръщайте внимание на появата на допълнителен маркер на лентата, работете с графики, съдържащи още три раздела: дизайнер, оформление и формат.

В раздела Дизайнер можете да промените вида на диаграмата, да сменяте низ и колоните, да добавите или изтриете данните, да изберете неговото оформление и стил, и също така преместете диаграмата в друг лист или друг раздел Tabs.

В раздела Layout, команди са подредени да добавят или изтриват различни елементи на графиката, които могат лесно да бъдат форматирани с помощта на раздела Формат.

Разделът за диаграми се появява автоматично, когато маркирате диаграмата и изчезвате, когато работите с други елементи на документа.

Концепцията за операционната система. Основните етапи на разработване на операционни системи.

Като се има предвид еволюцията на операционната система, трябва да се има предвид, че разликата във времето на прилагане на някои принципи за организиране на индивидуалните операционни системи към цялостното им признаване, както и терминологичната несигурност, не позволява да се даде точна хронология на операционната система . Сега обаче е доста справедливо да се определят основните етапи по пътя на развитието на операционните системи.

Има и различни подходи за определяне на поколенията на операционната система. Известно е разделяне на операционната система за генериране в съответствие с поколенията на компютърни машини и системи [ 5 , 9 , 10 , 13 ]. Такова разделение не може да се счита за напълно задоволително, тъй като развитието на методите на организацията на ОС в рамките на едно поколение компютър, както е показано от опита на тяхното създаване, се случва в доста широк диапазон. Друга гледна точка не свързва генериране на операционна система с подходящи поколения по електронната поща. Например, е известно, че идентифицира дефиницията на поколенията на ОС на нивата на ЕММ входящия език, начините на използването на централни процесори, форми на работа на системи и др. [ 5 , 13 ].

Очевидно най-подходящото следва да се счита за разпределение на етапите на развитието на операционната система в рамките на отделни поколения на компютъра и въздухоплавателното средство.

Първият етап от разработването на системен софтуер може да се счита за използването на библиотечни програми, стандартни и сервизни подпрограми и макроси. Концепцията за библиотеките на подпрограмите е най-ранната и датите от 1949 г. 4 , 17 ]. С появата на библиотеките автоматичното средство за техния придружаване бяха разработени - изтегляне и редактори на връзки. Тези средства бяха използвани в компютъра от първо поколение, когато операционните системи не съществуват като такива.

Желанието за премахване на несъответствието между изпълнението на процесорите и скоростта на експлоатация на електромеханични I / O устройства, от една страна, и използването на достатъчно бързи задвижвания върху магнитни ленти и барабани (NML и NMB), и след това върху магнитно Дискове (NMD), от друга страна, доведоха до необходимостта от решаване на буферни задачи и блокиране на данни. Възникнаха специални методи за достъп, които бяха въведени в обекти на модули на редактори на връзки (впоследствие бяха използвани принципите на полибуферизация). Създадени са диагностични програми за поддържане на работата и улесняване на експлоатационните процеси на работа. По този начин е създаден основният системен софтуер.

С подобряването на работата на компютъра и растежа на тяхното изпълнение стана ясно, че съществуващият основен софтуер (софтуер) не е достатъчно. Има операционни системи за ранно партидна обработка - монитори. Като част от системата за обработка на пакети по време на изпълнението на всяка работа в пакета (предаване, сглобяване, изпълнение на готовата програма), нито част от системния софтуер не е в RAM, тъй като цялата памет е предоставена на текущата работа. След това се появиха системите на монитора, в които RAM е разделен на три области: фиксирана зона на мониторната система, област на потребителя и обща зона на паметта (за съхраняване на данни, които обектните модули могат да обменят).

Започна интензивно развитие на методите за управление на данните, такава важна функция на операционната система, като прилагането на I / O без участието на централния процес - така наречената смрад (от английската макара - едновременна периферна операция на линия).

Появата на нови хранителни продукти (1959-1963) - системи за прекъсване, таймери, канали - стимулираха по-нататъшното развитие на операционната система [ 4 , 5 , 9 ]. Изпълнителните системи възникват, които бяха набор от програми за разпространение на компютърни ресурси, връзки с оператора, управлявайки изчислителния процес и контрол на входа. Тези изпълнителни системи позволяват да се приложат доста ефективна форма на работа на изчислителната система - обработка на еднострома. Тези системи дадоха на потребителя на потребителя като контролни точки, логически таймери, способността за изграждане на програми за покритие, откриват нарушения по програмни ограничения, приети в системата, управление на файлове, събиране на счетоводна информация и др.

Въпреки това, обработката на еднострома, с увеличаване на работата на компютъра не може да осигури икономически приемливо ниво на работа на машините. Решението е многопрограма - начин за организиране на изчислителен процес, в който има няколко програми в паметта на компютъра, с един процесор и за началото или продължаването на сметката, една програма не изисква завършването на другите. В средата на многопрограмата, проблемът с разпределението и защитата на ресурсите е станал по-остър и труден.

Теорията за изграждането на операционни системи през този период е обогатена близо до плодотворни идеи. Изглеждат се различни форми на режими на работа с многопрограми, включително разделяне на времето - режимът, който осигурява работата на много крайната система. Концепцията за виртуална памет е създадена и развита и след това виртуални машини. Режимът на разделяне на времето позволи на потребителя да взаимодейства интерактивно със своите програми, тъй като е преди появата на системите за обработка на партиди.

Една от първите операционни системи, използващи тези най-нови решения, е операционната система MSR (основната мениджърска програма), създадена от Burroughs за своите компютри B5000 през 1963 година. В тази операционна система са изпълнени много концепции и идеи, впоследствие стандарт за много операционни системи:

    многопрограми;

    многопроцесорна обработка;

    виртуална памет;

    възможността за програми за отстраняване на грешки в изходния език;

    писане на операционната система на езика на високо равнище.

Системата за CTSS (съвместима система за споделяне на времето) е добре известна система за разделяне на времето - съвместима система за разделяне на времето, разработена в Масачузетския технологичен институт (1963) за IBM-7094 компютър [ 37 ]. Тази система е била използвана за развитие в същия институт заедно с Bell Labs и системите за разделяне на общите електрически системи на Мултиката на следващото поколение (мултиплексирана информация и изчислителна услуга). Трябва да се отбележи, че тази операционна система е написана главно на високо ниво на EPL (първата версия на PL / 1 езиковата компания IBM).

Едно от най-важните събития в историята на операционните системи се счита, че се появява през 1964 г. семейството на компютрите, наречени система / 360 на компанията IBM, а по-късно - система / 370 [ 11 ]. Това беше първата реализация на концепцията за семейни и информационни съвместими компютри в света, които по-късно станаха стандартни за всички фирми за компютърна индустрия.

Трябва да се отбележи, че основната форма на компютърна употреба, както в системите за разделяне на системата, така и в системите за обработка на партиди, се превърна в многократен режим. В същото време не само операторът, но всички потребители са получили възможността да формулират своите задачи и да управляват изпълнението си от терминала. Тъй като терминалните комплекси скоро станаха възможни да се поставят на значителни разстояния от компютъра (благодарение на телефонните връзки на модема), се появиха системи за отдалечено въвеждане на задачи и данни за работа. ОС добавя модули, които прилагат комуникационни протоколи [ 10 , 13 ].

По това време имаше значителна промяна в разпространението на функции между хардуерния и компютърен софтуер. Операционната система става "неразделна част от компютъра", сякаш продължаването на оборудването. Процесорите се появяват привилегировани (надзорен орган в OS / 360) и потребител (задача в OS / 360) режими на работа, мощна система за прекъсване, защита на паметта, специални регистри за бързо превключване на програмата, инструменти за поддръжка на виртуални памет и др.

В началото на 70-те години се появява първата мрежова операционна система, която позволява не само разпръснати потребители, както в системите за дистанционна работа, но и организират разпределеното съхранение и обработка на данни между компютри, свързани чрез електрически връзки. Arpanet Mo USA е известно. През 1974 г. IBM обяви създаването на собствената мрежова архитектура на SNA за своите мейнфремери, която осигурява взаимодействието на типа "терминален терминал", "терминален компютър", "компютърен компютър". В Европа технологията за изграждане на мрежи за превключване на пакети, базирани на протоколи X.25, е активно развита.

До средата на 70-те години, заедно с мейнфрейм, мини-компютрите бяха широко разпространени (PDP-11, Nova, HP). Архитектурата на мини-компютрите беше много по-лесна, много функции на мулти-програмните мейнфрейми бяха съкратени. Операционните системи на мини-компютър започнаха да се специализират (RSX-11M - разделението на времето, RT-11 - OC в реално време) и не винаги мултиплеър.

Важен етап в историята на мини-компютрите и като цяло в историята на операционните системи е създаването на UNIX OS. Публикувано от тази система Кен Томпсън (Кен Томпсън), един от специалистите в компютрите в Bell Labs, които са работили по проекта Multics. Всъщност, неговата UNIX е съкратена версия на мултиката. Първоначалното име на тази система е Unics (Unipleked Information и изчислителна услуга - примитивна информация и компютърна услуга). Така че шегата се нарича тази система, тъй като мултиците (мултиплексираната информация и изчислителна услуга) е мултиплексна информация и компютърна услуга. От средата на 70-те години масовото използване на UNIX OS, написано с 90% в езика на C, е широко разпространено от C-компилаторите, направени от UNIX уникален OC преносим и тъй като е доставен с изходните кодове, той стана първият отворен операционна система. Гъвкавост, елегантност, мощна функционалност и откритост й позволиха да вземе стабилна позиция във всички класове компютри - от лични до супер компютри.

Наличността на мини-компютри служи като стимул за създаване на локални мрежи. В най-простия LAN компютри, свързани чрез серийни портове. Първото приложение на мрежата за UNIX OS е UUCP програма (Unix в програма UNIX Copy) - се появява през 1976 година.

По-нататъшно развитие на мрежовите системи с TCP / IP стак: През 1983 г. той е приет от Mo USA като стандарт и използван в мрежата ARPANET. През същата година Arpanet беше разделен на Милнет (за американските военни) и новия Arpanet, който се наричаше интернет.

Всичките осемдесет години се характеризират с появата на все по-съвършени версии на UNIX: Sun Os, HP-UX, IRIX, AIX и др. За решаването на тяхната съвместимост, POSIX и XPG стандартите, които определят тези системи за заявления.

Друго важно събитие за историята на операционните системи е появата на лични компютри в началото на 80-те години. В резултат на това те служеха като мощен тласък за разпространението на локални мрежи, като поддържащите мрежови функции бяха предпоставка за компютър. Въпреки това, приятелският интерфейс и мрежовите функции се появяват на компютъра, а не веднага 13 ].

Най-популярната версия на ранния етап на развитие на персоналните компютри е MS-DOS на Microsoft - еднострома, еднопотребителска операционна система с интерфейс за командния ред. Много функции, които осигуряват удобство на работа на потребителя, в това или предоставени допълнителни програми - командира на Norton, PC инструменти и др. Най-голямото въздействие върху развитието на софтуера на компютъра е осигурено от операционната среда на Windows, първата версия на които се появяват през 1985 година. Мрежовите функции също бяха внедрени с използване на мрежови черупки и се появиха в MS-DOS версия 3.1. В същото време се появяват продукти на Microsoft Network - MS-Net, а по-късно - LAN мениджър, Windows за работна група и след това Windows NT.

Друг начин отиде Novell: Неговият софтуер е операционна система с вградени мрежови функции. Netware е разпространен като операционна система за централния сървър на локалната мрежа и поради специализацията на функциите на файловия сървър осигурява висока скорост на отдалечен достъп до файлове и повишена сигурност на данните. Тази операционна система обаче има специфичен програмен интерфейс (API), който затруднява разработването на приложения.

През 1987 г. се появява първата многозадачна операционна система за персонални компютри - OS / 2, разработена от Microsoft с IBM. Това беше добре обмислена система с виртуална памет, графичен интерфейс и възможност за изпълнение на DOS приложения. За нея са създадени и получени LAN мениджър (Microsoft) и LAN сървър (IBM). Тези черупки бяха по-нисши от производителността към мрежовия файлов сървър и консумират повече хардуерни ресурси, но имаха важни предимства. Те позволяват да изпълняват всички програми на сървъра, разработени за OS / 2, MS-DOS и Windows, освен това е възможно да се използва компютърът, върху който са работили като работна станция. Неуспешната пазарна съдба на OS / 2 не позволява на LAN-Manager и LAN-сървър системи да улавят забележим пазарен дял, но принципите на работа на тези мрежови системи до голяма степен са намерили своето изпълнение в 90-те години - MS NT.

През 80-те години бяха приети основните стандарти за комуникационни технологии за местни мрежи: през 1980 г. - Ethernet, през 1985 г. - токен пръстен, в края на 80-те години -FDDI (интерфейс с данни за данни), разпределен интерфейс на предаване на данни за оптични канали, двойно пръстен с маркер. Това позволи да се осигури съвместимост на мрежовата операционна система на по-ниските нива, както и стандартизиране на операционни системи с мрежови адаптерни драйвери.

За персонални компютри са използвани не само специално проектирани операционни системи (MS-DOS, Netware, OS / 2) (MS-DOS, Netware, OS / 2), но също така и адаптират съществуващата операционна система, по-специално UNIX. Най-известната система от този тип е UNIX версията на операцията Santa Cruz (SCO Unix).

През 90-те години почти всички операционни системи, заемащи забележимо място на пазара, станаха мрежа. Мрежовите функции са вградени в ядрото на OS, като е неразделна част. Инструментите за мултиплексиране се използват в стековете за протокола за мултиплексиране на OS, за сметка на които компютрите могат да поддържат едновременна работа с хетерогенни сървъри и клиенти. Специализирана операционна система се появи, например, мрежова операционна система на Cisco System IOS, работеща в рутери. През втората половина на 90-те години всички производители на OS засилиха поддръжката за работа с интерфейси. В допълнение към стека TCP / IP протокол, се използват комуналните услуги, които прилагат популярните интернет услуги: Telnet, FTP, DNS, Web и др.

Специално внимание бе отделено на последното десетилетие и в момента се плаща на корпоративни мрежови операционни системи. Това е една от най-важните задачи в обозримо бъдеще. Корпоративната операционна система трябва да работи добре и устойчиво в големи мрежи, които са характерни за големи организации (предприятия, банки и т.н.), като се разделят в много градове и, вероятно в различни страни. Корпоративната операционна система трябва лесно да взаимодейства с OS на различни видове и да работи на различни хардуерни платформи. Сега лидерите в класа на корпоративната операционна система са MS Windows 2000/2003, UNIX и Linux системи, както и Novell Netware 6.5.

Ще разгледаме историята на разработването на изчислителни, а не операционни системи, защото хардуерът и софтуерът се развиха заедно, като осигуряват взаимно влияние един на друг. Появата на нови технически способности доведе до пробив в областта на създаването на удобни, ефективни и сигурни програми и нови идеи в програмната област стимулираха търсенето на нови технически решения. Именно тези критерии - удобство, ефективност и безопасност - изиграха ролята на фактори на естествения подбор в еволюцията на изчислителните системи.

В първия период на развитие (1945-1955) EUM е било лампата без операционни системи. Първите стъпки в развитието на електронни изчислителни машини бяха предприети в края на Втората световна война. В средата на 40-те години бяха създадени първите лампични устройства и принципът на програмата, съхраняван в паметта на машината (Джон фон Нойман, юни 1945 г.). По това време една и съща група хора участваха в дизайна и в експлоатация и в програмирането на компютърната машина. Това беше по-скоро изследователска работа в областта на компютърната технология, а не редовно използване на компютрите като инструмент за решаване на практически задачи от други приложни зони. Програмирането се извършва изключително в двигателя. Нямаше реч за операционните системи, всички задачи на организацията на изчислителния процес бяха разделени на ръка от всеки програмист от контролния панел. Зад дистанционното управление може да бъде само един потребител. Програмата се зарежда в паметта на колата в най-добрия случай от палубата на картите и обикновено използва панела за превключване.

Изчислителната система едновременно извършва само една операция (входно-изходна или действителна изчисление). Програмите за отстраняване на грешки се извършват от контролния панел чрез изучаване на състоянието на паметта и машинната регистрация. В края на този период се появява първият системен софтуер: през 1951-1952. Има примери за първите компилатори от символични езици (Fortran et al.), А през 1954 г. Нат Рочестър разработва асемблер за IBM-701.

Основната част от времето за изготвяне на стартирането на програмата и самите програми бяха извършени строго последователно. Такъв начин на работа се нарича последователна обработка на данни. Като цяло, първият период се характеризира с изключително висока цена на изчислителните системи, техните малки количества и ниска ефективност на употреба.

От средата на 50-те години започнаха втория период В развитието на компютърната технология, свързана с появата на новата техническа база - полупроводникови елементи. Използването на транзистори вместо често счупени електронни лампи доведе до увеличаване на надеждността на компютрите. Сега автомобилите могат непрекъснато да работят достатъчно дълго, за да можете да зададете практически важни задачи. Консумацията на електрическите изчислителни машини е намалена, охладителните системи се подобряват. Намаляване на компютърните размери. Цената на експлоатацията и поддръжката на компютърното оборудване намалява. Започна използването на компютърни търговски фирми. В същото време има бързо развитие на алгоритмични езици (Lisp, Cobol, Algol-60, PL-1 и др.). Появяват се първите истински компилатори, редактори на линкове, библиотеки от математически и сервизни подпрограми. Процесът на програмиране е опростен. Изчезва необходимостта да се вземе целия процес на разработване и използване на компютри на същите хора. През този период персоналът е разделен на програмисти и оператори, специалисти в експлоатация и разработчици на компютърни машини.

Програмата променя процеса на работа на програмата. Сега потребителят носи програма с входните данни под формата на палуба на перфох-ролката и показва необходимите ресурси. Такава палуба се нарича задачи. Операторът зарежда задачата в паметта на машината и започва да я изпълнява. Полученият изход се отпечатва върху принтера и потребителят ги връща след някои (доста дълго) време.

Промяната на исканите ресурси причинява спиране на изпълнението на програмата, в резултат на това, процесорът често е неактивен. За да се подобри ефективността на използването на компютърна задача с подобни ресурси, започнете да събирате заедно, създавайки пакет от задачи.

Първата се появява системи за обработка на партидикоето просто автоматизира пускането на една програма от пакета след друга и по този начин увеличава фактора за натоварване на процесора. При прилагането на системите за обработка на партиди беше разработена формализирана програма за управление на задачите, с която програмистът докладва на системата и оператора, какъв вид работа иска да изпълнява на компютъра. Системите за обработка на партиди се превърнаха в прототип на съвременни операционни системи, те бяха първите системни програми, предназначени за управление на изчислителния процес.

Следващия важен период на развитие Компютърните машини се отнасят до началото на 60-те години - 1980 г. По това време преминаването от отделни полупроводникови елементи като транзистори към интегрирани чипове, настъпили в техническата база. Компютърното оборудване става по-надеждно и евтино. Сложността и броят на задачите, решени от компютрите, растат. Изпълнението на процесорите се увеличава.

Увеличаването на ефективността на използването на времето на процесора е затруднено от ниската скорост на механичните I / O устройства (бързият читател Perflocart може да обработва 1200 перфокари в минута, принтерите са отпечатани до 600 линии в минута). Вместо директното четене на пакета за задачите с перфокари, започва да използва предварителното си запис, първо на магнитната лента и след това на диска. Когато данните са необходими по време на процеса на задача, те се четат от диска. По същия начин, изходът първо се копира в системния буфер и записан на лентата или диска и се отпечатва само след завършване на задачата. Първоначално действителните I / O операции бяха извършени в офлайн режим, т.е. използвайки други, по-прости, отделни компютри. В бъдеще те започват да изпълняват един и същ компютър, който произвежда изчисление, което е в он-лайн режим. Тази техника се нарича кюфритие (Намаляване на едновременната периферна работа на линия) или изтегляне на данни. Въвеждането на помпено оборудване към пакетните системи направи възможно комбинирането на действителните I / O операции на една задача с изпълнението на друга задача, но изисква развитието на прекъсването, за да уведоми процесора за края на тези операции.

Магнитните ленти са серийни устройства за достъп, т.е. информацията е прочетена от тях в реда, в който е записан. Появата на магнитен диск, за който процедурата за четене на информация не е важна, т.е. устройствата за директен достъп доведоха до по-нататъшното развитие на изчислителните системи. Когато обработвате пакет за задачи на магнитна лента, поръчката за стартиране на задачите бе определена по реда на техния вход. Когато обработвате пакет за задачи на магнитен диск, той има възможност да избере следващата задача. Пакетните системи започват да се ангажират планиране на задачи: В зависимост от наличието на исканите ресурси, спешност на изчисленията и др. Сметката избира тази или тази задача.

По-нататъшно подобряване на ефективността на процесора беше постигната с многопрограмиране. Идеята за многопрограма е както следва: досега една програма изпълнява I / O операция, процесорът не се вписва, тъй като се случи с режим на едноизби ниво и извършва друга програма. Когато свързването на I / O завършва, процесорът се връща към изпълнението на първата програма. Тази идея прилича на поведението на учителя и учениците на изпита. Докато един студент (програма) е по глас отговор на въпроса (I / O операция), учителят (процесор) слуша друг отговор на учениците (изчисления). Естествено, тази ситуация изисква няколко ученици в стаята. По същия начин, многопрограмата изисква присъствието на няколко програми в паметта едновременно. В същото време всяка програма е заредена в района на RAM, наречена раздели не трябва да засяга изпълнението на друга програма (учениците седят на отделни маси и не се подсказват).

Появата на многопрограма изисква истинска революция в структурата на изчислителната система. Хардуерната поддръжка се играе със специална роля (много хардуерни иновации се появяват на предишния етап на еволюцията), най-съществените характеристики на които са изброени по-долу.

- Прилагане на защитни механизми . Програмите не трябва да имат независим достъп до разпределението на ресурсите, което води до появата привилегировани и безпристрастно екипи. Привилегированите команди, като I / O команди, могат да бъдат изпълнени само от операционната система. Казва се, че работи в привилегирован режим. Контролът на прехода от програмата за кандидатстване към операционната система е придружен от контролирано смяна на режим. В допълнение, това е защита на паметта, която ви позволява да изолирате конкурентните потребителски програми един от друг и OS от потребителски програми.

- Наличието на прекъсвания . Външните прекъсвания са уведомени за операционната система, която е възникнала асинхронно събитие, например, е завършено I / O операция. Вътрешните прекъсвания (сега те се наричат \u200b\u200bизключителни ситуации) възникват, когато програмата доведе до ситуация, която изисква интервенция на операционната система, като например подразделение до нула или опит за нарушаване на защитата.

- Развитие на паралелизма в архитектурата . Директният достъп на паметта и организацията на I / O каналите позволиха да се освободи централният процесор от рутинните операции.

Не по-малко важно при организирането на многопрограма на ролята на операционната система. Той отговаря за следните операции:

Организиране на интерфейса между програмата за кандидатстване и операционната система, използвайки системни повиквания;

Организиране на опашка от задачите в паметта и разпределението на процесора към една от задачите изискваше планирането на използването на процесора;

Преминаването от една задача към друго изисква спестяване на съдържанието на регистрите и структурите на данни, необходими за изпълнение на задачата, с други думи, контекст, за да се гарантира правилното продължаване на изчисленията;

Тъй като паметта е ограничен ресурс, имате нужда от стратегии за управление на паметта, т.е. е необходимо да се рационализират процесите на поставяне, подмяна и вземане на проби от информация от паметта;

Организиране на съхранение на информация за външни медии под формата на досиета и достъп до конкретен досие само за определени категории потребители;

Тъй като програмите може да се наложи да произвеждат санкциониран обмен на данни, е необходимо да им се осигури комуникации;

За правилния обмен на данни е необходимо да се разрешат конфликтни ситуации, които възникват при работа с различни ресурси и осигуряват координация с програми за техните действия, т.е. Поддържа система за синхронизация.

Системите с многопрограми осигуряват възможност за по-ефективно използване на системни ресурси (например процесор, памет, периферни устройства), но те остават пакет за дълго време. Потребителят не може директно да взаимодейства с задачата и да бъде снабден с всички възможни ситуации, използващи контролни карти. Програмите за отстраняване на грешки все още заемат много време и изискваха проучването на многостепенния печат на съдържанието на паметта и регистрите или използване на печат на грешки.

Появата на електронни лъча показва и преосмисля възможностите за прилагане на клавиатурата, зададоха решението на този проблем. Логическо разширяване на системите за съхранение на стоманени системи, или системи за разделяне на времето. В тях процесорът превключва между задачите не само за времето на I / O операциите, но и просто след определено време. Тези превключвания се случват толкова често, че потребителите могат да взаимодействат с техните програми по време на тяхното изпълнение, което е интерактивно. В резултат на това се появява възможността за едновременно функциониране на няколко потребители на една компютърна система. Всеки потребител трябва да има поне една програма за памет. За да се намалят ограниченията за броя на работните потребители, е въведена идеята за непълна намиране на изпълнимната програма в RAM. Основната част от програмата е на диска и фрагментът, който трябва да се извърши в момента, може да бъде зареден в RAM, а ненужната - валцована обратно към диска. Тя се изпълнява с помощта на механизъм на виртуална памет. Основното предимство на такъв механизъм е да се създаде илюзия за неограничен RAST RAM.

В системите за разделяне на времето, потребителят има възможност за ефективно отстраняване на грешки в програмата в интерактивния режим и да записва информация на диска, без да използва перфокалните карти и директно от клавиатурата. Външният вид на онлайн файловете доведе до необходимостта от развитие на развитието файлови системи.

При паралелно вътрешно развитие на изчислителните системи се наблюдава и тяхната външна еволюция. Преди началото на този период, изчислителните комплекси обикновено бяха несъвместими. Всяка от тях разполага със собствена операционна система, нейната системна система и т.н. Като резултат, програма, която успешно работеше на един тип машини, беше необходимо напълно да се пренапише и актуализира, за да се изпълни на компютри от друг тип. В началото на третия период се появи идеята за създаване на семейства на софтуер съвместими машини, работещи под контрола на една и съща операционна система. Първото семейство на софтуер съвместими компютриИзградени върху интегрирани чипове, серията IBM / 360 серия е станала. Проектиран в началото на 60-те години, това семейство значително е надвишило машините за второ поколение по критерий за цените / изпълнението. Той е последван от PDP компютрите, които са несъвместими с линията IBM, и най-добрият модел в него стана PDP-11.

Силата на "едно семейство" беше едновременно слабост. Широките възможности на тази концепция (наличието на всички модели: от мини-компютри до гигантски машини; изобилие от различни периферни устройства; различна обстановка; различни потребители) запечатват сложна и обемиста операционна система. Милиони от асемблерните линии, написани от хиляди програмисти, съдържаха много грешки, които предизвикаха непрекъснат поток от публикации за тях и корекционни опити. Само в операционната система OS / 360 съдържа повече от 1000 добре известни грешки. Въпреки това, идеята за стандартизация на операционните системи Тя беше широко въведена в потребителското съзнание и по-късно придобива активно развитие.

Следващия период в еволюцията Компютърните системи са свързани с появата на големи интегрални схеми (бис). Вети години (от 1980 г. до момента) Налице е рязко увеличение на степента на интеграция и намаляване на цената на чиповете. Компютърът, който не се различава в архитектурата от PDP-11, на цената и лекотата на работа, е станал достъпна за отделен човек, а не отдел на предприятието или университета. Ерата на персоналните компютри се случи. Първоначално персоналните компютри са предназначени да бъдат използвани от един потребител в един софтуер режим, което доведе до разграждане на архитектурата на тези компютри и техните операционни системи (по-специално изчезнали необходимостта от защита на файловете и паметта, планирането на задачите и т.н. .).

Компютрите започнаха да се използват не само от специалисти, които изискват разработването на "приятелски" софтуер.

Въпреки това, увеличаването на сложността и разнообразието на задачите, решени на персонални компютри, необходимостта от подобряване на надеждността на тяхната работа доведе до възраждането на почти всички характеристики, характерни за архитектурата на големите изчислителни системи.

В средата на 80-те години започнаха да растат бързо компютърни мрежи, включително лична работа мрежови или разпределени операционни системи.

В мрежови операционни системи Потребителите могат да имат достъп до ресурсите на друг мрежов компютър, само те трябва да знаят за своята наличност и да могат да го направят. Всяка машина в мрежата работи на своята локална операционна система, която се различава от операционната система на автономния компютър чрез наличие на допълнителни средства (софтуерна поддръжка за мрежови интерфейсни устройства и достъп до отдалечени ресурси), но тези допълнения не променят структурата на операционната система.

Разпределена система, напротив, прилича на обикновена автономна система. Потребителят не знае и не трябва да знае къде се съхраняват файлове - на местна или отдалечена машина - и където се извършват неговите програми. Той може да не знае изобщо, свързан с компютъра си към мрежата. Вътрешната структура на разпределената операционна система има значителни разлики от автономните системи.

В бъдеще автономните операционни системи ще наричаме класически операционни системи.

След преглед на етапите на разработване на изчислителни системи, можем да разпределим шест основни функциикоито извършват класически операционни системи в процеса на еволюцията:

Планиране на задачи и използване на процесора;

Предоставяне на програми с комуникации и синхронизация;

Управление на паметта;

Управление на файловата система;

Управление на входа;

Сигурност

Всяка от горните функции обикновено се прилага като подсистема, която е структурен компонент на операционната система. Във всяка операционна система тези функции, разбира се, бяха реализирани по свой собствен начин в различни томове. Те първоначално не са измислени като компоненти на операционни системи и се появяват в процеса на развитие, тъй като изчислителните системи стават все по-удобни, ефективни и безопасни. Еволюцията на изчислителните системи, създадена от човека, отиде по този път, но никой не е доказал, че това е единственият възможен път на тяхното развитие. Операционните системи съществуват, защото в момента съществуването им е разумен начин да се използват изчислителни системи.