Язык программирования c#: краткая история, возможности и перспективы

Краткая история первого персонального компьютера

Первый массовый персональный компьютер

В 1975 году компания, базировавшаяся в Альбукерке, MITS (Micro Instrumentation and Telemetry Systems) на основе микропроцессора Intel 8080 выпустила микрокомпьютер Altair 8800, который «взорвал» рынок. Самый первый компьютер в мире массового производства можно было купить в уже собранном виде за 621 доллар или заказать через журнал Popular Electronics в виде «супового набора», то есть деталей для сборки. В таком виде Altair 8800 стоил 439 долларов. Разработчик ПК Генри Эдвардс Робертс, американский предприниматель и инженер, планировал реализовать пару сотен устройств среди фанатов электроники. Однако за первый месяц продаж к покупателям ушло несколько тысяч компьютеров.

Маркетинговый механизм заработал, и прогресс уже невозможно было остановить. В том же году в Лос-Анджелесе открылся первый компьютерный магазин, где можно было приобрести в том числе Altair 8800. Вскоре магазины начали появляться как грибы после дождя. Но это уже другая история, а что касается компании MITS и ее детища, то это был, по признанию современников, «абсолютный, мгновенный, безумный успех». Его составляющими были удачная системная шина Altair, которая стала стандартом де-факто в виде шины S-100 для будущих поколений массовых персональных компьютеров. Также сыграли свою роль открытость архитектуры Altair 8800 и его достаточно низкая стоимость. Компьютерщики-энтузиасты разработали для ПК богатейшие периферию и софт, а также платы расширения, превратив Altair 8800 в полноценную серьезную машину. Есть даже сведения, что для компьютера MITS была создана первая в мире цветная видеокарта.

Графические операционные системы компьютера

К разработке графической операционной системы для ПК типа IВМ РС компания  Microsoft приступила в 1981 году, и новая графическая ОС появилась в 1995 году, заменив МS-DOS с последней графической оболочкой Windows 3.11. Графическую операционную систему назвали  Microsoft Windows 95.

Далее последовали всё более и более совершенствующиеся графические ОС Windows.  Такие как Windows 98, NT, ME, 2000, XP, 7, 8.

Операционная система компьютера

В настоящее время новые аппаратные средства при их изготовлении производителями остаются совместимыми с Windows.  И их установка на компьютер обеспечивает нормальную работу всех остальных устройств компьютера и всех программ. Компания Windows разработала plud-and-play стандарт устройств, автоматически подключающихся к компьютеру. Операционная система самостоятельно распознаёт все установленные устройства и начинает с ними работать.

ОС Windows получили наибольшее распространение на рынке графических операционных систем для компьютеров, совместимых с ПК типа IBM PC.

Управление файлами

Файл – именованная область внешней памяти, предназначенная для считывания и записи данных.

Файлы хранятся в памяти, не зависящей от энергопитания. Исключением является электронный диск, когда в ОП создается структура, имитирующая файловую систему.

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

Файловая система включает:Файловая система включает:

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

Задачи, решаемые ФС, зависят от способа организации вычислительного процесса в целом. Самый простой тип – это ФС в однопользовательских и однопрограммных ОС. Основные функции в такой ФС нацелены на решение следующих задач:

  • Именование файлов.
  • Программный интерфейс для приложений.
  • Отображения логической модели ФС на физическую организацию хранилища данных.
  • Устойчивость ФС к сбоям питания, ошибкам аппаратных и программных средств.

Задачи ФС усложняются в однопользовательских многозадачных ОС, которые предназначены для работы одного пользователя, но дают возможность запускать одновременно несколько процессов. К перечисленным выше задачам добавляется новая задача — совместный доступ к файлу из нескольких процессов.

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

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

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

Термины «файловая система» и «система управления файлами» необходимо различать: файловая система определяет, прежде всего, принципы доступа к данным, организованным как файлы. А термин «система управления файлами» следует употреблять по отношению к конкретной реализации файловой системы, т.е. это комплекс программных модулей, обеспечивающих работу с файлами в конкретной ОС.

Пример

  • Система, разработанная для первых ПК называлась просто FAT (сейчас ее называют просто FAT-12) . Ее разрабатывали для работы с дискетами, и некоторое время она использовалась для работы с жесткими дисками.
  • Потом ее усовершенствовали для работы с жесткими дисками большего  объема, и эта новая реализация получила название FAT–16. это название используется и по  отношению к СУФ самой MS-DOS.
  • Реализация СУФ для OS/2  называется super-FAT (основное отличие – возможность поддерживать для каждого файла расширенные атрибуты).
  • Есть версия СУФ и для Windows 9x/NT и т.д. (FAT-32).

Из практики все пользователи компьютера знают, что подразумевает под собой понятие «программное обеспечение». Однако, иногда не лишне очень кратко повторить теорию.

Программное обеспечение (далее ПО) является одним из видов обеспечения вычислительной системы, наряду с другими, не менее важными, составляющими.

Как создается ПО? Программист пишет инструкцию с помощью языка программирования. Она указывает компьютеру, как действовать и что делать. Инструкция пишется на языке, понятном компьютеру.

Развитие индустрии ПО делится на три этапа, каждый из которых длился десятилетия.

Известно, что первую программу написала Ада Лавлейс для разностной машины Чарльза Бэббиджа, но ее разработки остались теоретическими, поскольку машина так и не была достроена. Важным шагом в сторону прогресса был переход к архитектуре Джона фон Неймана под руководством Дж.Р. Уомерзли при участии Алана Тьюринга на компьютере, которому было дано название «Марк 1».

В 1950-е годы, спустя несколько лет, появляются первые высокоуровневые языки программирования. Джон Бэкус создал FORTRAN, а Грейс Хоппер – COBOL. Подобные разработки упростили написание прикладного программного обеспечения, которое писала тогда каждая фирма, приобретающая вычислительную машину.

Сам термин «программное обеспечение» вошел в широкий обиход с начала 1960-х годов. Тогда же началось становление индустрии программного обеспечения как самостоятельной отрасли. Первой компанией по разработке ПО стала «Computer Sciences Corporation», которая была основана Роем Наттом и Флетчером Джоунсом в 1959 году.

С появлением первых фирм, специализирующихся на разработке систем автоматизированного проектирования, журнал «Business Week» в ноябре 1966 года обратился к теме индустрии программного обеспечения. Статья называлась «Software Gap – а Growing Crisis for Computers». В ней рассказывалось как о перспективах такого вида бизнеса, так и о кризисе, связанном с нехваткой программистов. Программные продукты того времени служили для автоматизации общих для бизнеса задач, таких как начисление заработной платы сотрудникам или автоматизация бизнес-процессов предприятий средней величины. Стоимость такого ПО варьировалась от пятисот до ста тысяч долларов.

Предпосылками зарождения массового рынка ПО стало появление в 1970-х годах первых персональных компьютеров. Изначально программы распространялись через торговые центры в «коробочной» форме или по почте. Стоили они порядка 100–500 долларов. Массовое тиражирование позволило снизить стоимость ПО только лишь к середине 1990 годов. Бизнес при этом приобрел сходство с бизнесом звукозаписывающих компаний.

Стоит отметить, что сейчас пользователь вместе с программным обеспечением получает лицензию, которая предоставляет право использовать продукт при условии выполнения положения о лицензировании. Это сделано для того, чтобы ограничить возможности пользователя передавать продукт другим пользователям или изменять код.

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

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

По мнению редакции портала новостей «Центропресс», сфера программного обеспечения на данный момент является одним из наиболее динамично развивающихся направлений мирового интеллектуального развития, поэтому профессия программиста является популярным выбором среди молодежи.

Первое поколение

Ламповые ЭВМ стали первыми вычислительными машинами, выпуск которых начался в начале 50-х годов прошлого столетия. Примерно в то время люди начале массово узнавать, что такое ЭВМ.

В Советском Союзе представителем таких машин стал МЭСМ. Руководил разработкой данного компьютера Лебедев. Вскоре на его основе был разработан новый представитель того поколения ЭВМ — БЭСМ. Для серийного производства данная машина получила некоторые улучшения. Она была названа БЭСМ-2.

В Соединенных Штатах о том, что такое ЭВМ, знали также многие. Представителем первого поколения электронных вычислительных машин стал «Эдвак». Однако он значительно уступал по параметрам отечественному компьютеру. Связано это было с тем, что БЭСМ-2 применял новые принципы построения. Советская машина могла совершать около десяти тысяч операций в секунду.

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

Представители таких машин отличались огромными габаритами и высоким потреблением энергии. Цена машины являлась неподъемной для простых пользователей. Кроме этого, управлять ими мог только специально обученный оператор ЭВМ, так как все программы были сложны для понимания. Поэтому использовались они лишь учеными для каких-либо научно-технических задач.

Вскоре появились первые языки программирования: символическое кодирование и автокоды.

Пятое поколение компьютеров (1990-…)

Термин «пятое поколение компьютеров» считается спорным. История предыдущих четырех поколений показывает, что усовершенствования происходили за счет увеличения количества элементов на единицу площади. По этой логике от компьютеров пятого поколения ожидались параллельные вычисления — взаимодействие огромного количества процессоров.

В начале $80$-х Япония объявила правительственную программу по разработке компьютеров нового типа. Разработчики делали ставку на параллельные вычисления, многопроцессорность и переход от процедурных языков программирования к языкам, основанным на логике. По мнению специалистов использование таких языков должно было бы сделать программы самообучаемыми и тем самым приблизить человечество на шаг к реализации искусственного интеллекта.

Одновременно в СССР была предпринята попытка создания многопроцессорного компьютера «Марс».

Замечание 2

Однако, оказалось, что параллельная работа нескольких процессоров не дает той высокой производительности, которая ожидалась. Разработанные образцы быстро устаревали. Что же касается языков, основанных на логике, выяснилось, что они не позволяют создавать программы необходимого уровня сложности без использования обычных процедурных подходов.

Поэтому многие специалисты считают, что пятое поколение компьютеров не состоялось как таковое, а для дальнейшего совершенствования нужны принципиально новые технологии. Другие утверждают, что все-таки можно называть пятым поколением реализацию параллельных вычислений и облачных технологий.

Что такое файловая система

Обычно вся информация записывается, хранится и обрабатывается на различных цифровых носителях в виде файлов. Далее, в зависимости от типа файла, кодируется в виде знакомых расширений – *exe, *doc, *pdf и т.д., происходит их открытие и обработка в соответствующем программном обеспечении. Мало кто задумывается, каким образом происходит хранение и обработка цифрового массива в целом на соответствующем носителе. 

Операционная система воспринимает физический диск хранения информации как набор кластеров размером 512 байт и больше. Драйверы файловой системы организуют кластеры в файлы и каталоги, которые также являются файлами, содержащими список других файлов в этом каталоге. Эти же драйверы отслеживают, какие из кластеров в настоящее время используются, какие свободны, какие помечены как неисправные.

Запись файлов большого объема приводит к необходимости фрагментации, когда файлы не сохраняются как целые единицы, а делятся на фрагменты. Каждый фрагмент записывается в отдельные кластеры, состоящие из ячеек (размер ячейки составляет один байт). Информация о всех фрагментах, как части одного файла, хранится в файловой системе.

Файловая система связывает носитель информации (хранилище) с прикладным программным обеспечением, организуя доступ к конкретным файлам при помощи функционала взаимодействия программ API. Программа, при обращении к файлу, располагает данными только о его имени, размере и атрибутах. Всю остальную информацию, касающуюся типа носителя, на котором записан файл, и структуры хранения данных, она получает от драйвера файловой системы.

На физическом уровне драйверы ФС оптимизируют запись и считывание отдельных частей файлов для ускоренной обработки запросов, фрагментации и «склеивания» хранящейся в ячейках информации. Данный алгоритм получил распространение в большинстве популярных файловых систем на концептуальном уровне в виде иерархической структуры представления метаданных (B-trees). Технология снижает количество самых длительных дисковых операций – позиционирования головок при чтении произвольных блоков. Это позволяет не только ускорить обработку запросов, но и продлить срок службы HDD. В случае с твердотельными накопителями, где принцип записи, хранения и считывания информации отличается от применяемого в жестких дисках, ситуация с выбором оптимальной файловой системы имеет свои нюансы.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Что такое файл

При этом предназначение этих данных могло быть принципиально любым. А сами файлы могли располагаться на любых носителях, имеющих способность эти файлы хранить (будь то магнитные носители, магнито-оптические, оптические и т.п.).

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

До появления понятия файлов такое соседство принципиально различных программ и данных было невозможно. Теперь файлы стали доступны для всех пользователей. И только с помощью специальных мер позволялось этот доступ ограничить

Эти ограничения позволяли настраивать программные системы с целью обеспечения сохранности и конфиденциальности особо важной информации

Третье поколение компьютеров (1970-1980гг)

В $1959$ году Джек Килби предложил технологию изготовления гибридных интегральных схем. Чуть позже Робертом Нойсом была запатентована технология изготовления монолитной интегральной схемы, которая позволяла разместить на площади $10 \ мм^2$ десятки тысяч транзисторов. Теперь один кристалл мог выполнять такую же работу, как и тридцатитонный ЭНИАК. С конца $60$-х эти технологии стали применяться при производстве компьютеров.

Рисунок 3.

Модели «IBM 360» компании IBM стали первыми компьютерами этого поколения. В СССР примерно в это же время начался серийный выпуск компьютеров модели ЕС (единой системы). Новое поколение компьютеров хорошо зарекомендовало себя для решения проектных задач.

Недостатки файловой системы

Что особенно важно, операционные системы, которые позволяют управлять компьютерами, тоже стали представлять из себя набор файлов, организованных специальным образом. Такие «открытые» операционные системы стали доступны обычным пользователям, не имеющим представления о программировании

У многих программистов старой закалки это вызывало шок, так как они прекрасно понимали, что

Такие «открытые» операционные системы стали доступны обычным пользователям, не имеющим представления о программировании. У многих программистов старой закалки это вызывало шок, так как они прекрасно понимали, что

Для этого достаточно было специально или случайно удалить 1-2 важных файла, и все.

Некоторые современные пользователи этого не знают и не понимают. Поэтому, не задумываясь о последствиях, они иногда разрушают операционную систему, которую затем можно восстановить только с привлечением специалистов – системных программистов, или путем переустановки операционной системы с исходного носителя. И, тем не менее, открытые системы стали повседневной реальностью. В настоящее время никто не переживает из-за того, что любой пользователь может одним-двумя кликами вывести из строя Windows или какие-то приложения этой операционной системы.

Правда, такого рода «деструктивное поведение» стало основой работы современных вирусов – специально создаваемых программ, которые занимаются разрушением программного обеспечения и (или) данных, хранящихся в компьютерах. Но это уже, как говорится, другая история.

Именно файловая организация MS DOS, а впоследствии Windows и других операционных систем способствовала широчайшему распространению персональных компьютеров дома и на работе, без которых сегодня не представляется современный менеджмент, обучение, производство, торговля, индустрия развлечений и др.

Вычислительные машины пятого поколения

Если говорить о перспективах — то это, безусловно, развитие и внедрение новейших технологий: сверхбольших интегральных схем, магнитно-оптических элементов, даже элементов искусственного разума.

Самообучаемые электронные системы — вот обозримое будущее, называемое пятым поколением в развитии компьютеров.

Человек стремится стереть барьер в общении с компьютером. Очень долго и, к сожалению, неудачно работала над этим Япония, но это уже тема совершенно другой статьи. На данный момент все проекты находятся только в разработке, но с современными темпами развития – это недалекое будущее. Настоящее время – время, когда вершится история!

Поделиться.

Направления развития компьютеров

Нейрокомпьютеры можно отнести к шестому поколению ЭВМ. Несмотря на то, что реальное применение нейросетей началось относительно недавно, нейрокомпьютингу как научному направлению пошел седьмой десяток лет, а первый нейрокомпьютер был построен в 1958 году. Разработчиком машины был Фрэнк Розенблатт, который подарил своему детищу имя Mark I.

Теория нейронных сетей впервые была обозначена в работе МакКаллока и Питтса в 1943 г.: любую арифметическую или логическую функцию можно реализовать с помощью простой нейронной сети. Интерес к нейрокомпьютингу снова вспыхнул в начале 80-х годов и был подогрет новыми работами с многослойным перцептроном и параллельными вычислениями.

Нейрокомпьютеры — это ПК, состоящих из множества работающих параллельно простых вычислительных элементов, которые называют нейронами. Нейроны образуют так называемые нейросети. Высокое быстродействие нейрокомпьютеров достигается именно за счет огромного количества нейронов. Нейрокомпьютеры построены по биологическим принципу: нервная система человека состоит из отдельных клеток — нейронов, количество которых в мозгу достигает 1012, при том, что время срабатывания нейрона — 3 мс. Каждый нейрон выполняет достаточно простые функции, но так как он связан в среднем с 1 — 10 тыс. других нейронов, такой коллектив успешно обеспечивает работу человеческого мозга.

Представитель VI-го поколения ЭВМ — Mark I

В оптоэлектронных компьютерах носителем информации является световой поток. Электрические сигналы преобразуются в оптические и обратно. Оптическое излучение в качестве носителя информации имеет ряд потенциальных преимуществ по сравнению с электрическими сигналами:

  • Световые потоки, в отличие от электрических, могут пересекаться друг с другом;
  • Световые потоки могут быть локализованы в поперечном направлении нанометровых размеров и передаваться по свободному пространству;
  • Взаимодействие световых потоков с нелинейными средами распределено по всей среде, что дает новые степени свободы в организации связи и создания параллельных архитектур.

В настоящее время ведутся разработки по созданию компьютеров полностью состящих из оптических устройств обработки информации. Сегодня это направление является наиболее интересным.

Оптический компьютер имеет невиданную производительность и совсем другую, чем электронный компьютер, архитектуру: за 1 такт продолжительностью менее 1 наносекунды (это соответствует тактовой частоте более 1000 МГц) в оптическом компьютере возможна обработка массива данных около 1 мегабайта и больше. К настоящему времени уже созданы и оптимизированы отдельные составляющие оптических компьютеров.

Оптический компьютер размером с ноутбук может дать пользователю возможность разместить в нем едва ли не всю информацию о мире, при этом компьютер сможет решать задачи любой сложности.

Биологические компьютеры — это обычные ПК, только основанные на ДНК-вычислений. Реально показательных работ в этой области так мало, что говорить о существенных результатах не приходится.

Молекулярные компьютеры — это ПК, принцип действия которых основан на использовании изменении свойств молекул в процессе фотосинтеза.  В процессе фотосинтеза молекула принимает различные состояния, так что ученым остается только присвоить определенные логические значения каждом состояния, то есть «0» или «1». Используя определенные молекулы, ученые определили, что их фотоцикл состоит всего из двух состояний, «переключать» которые можно изменяя кислотно-щелочной баланс среды. Последнее очень легко сделать с помощью электрического сигнала. Современные технологии уже позволяют создавать целые цепочки молекул, организованные подобным образом. Таким образом, очень даже возможно, что и молекулярные компьютеры ждут нас «не за горами».

История развития компьютеров еще не закончена, помимо совершенствования старых, идет и разработка совершенно новых технологий. Пример тому  квантовые компьютеры — устройства, работающие на основе квантовой механики. Полномасштабный квантовый компьютер — гипотетическое устройство , возможность построения которого связана с серьезным развитием квантовой теории в области многих частиц и сложных экспериментов; эта работа лежит на передовом крае современной физики. Экспериментальные квантовые компьютеры уже существуют; элементы квантовых компьютеров могут применяться для повышения эффективности вычислений на уже существующей приборной базе.

Управление памятью

Рассмотрим управление памятью в операционных системах подробнее.

Виртуальное адресное пространство процесса

Типы адресов:

  • Символьные имена — идентификаторы переменных и команд в программе, присваиваемые программистом.
  • Виртуальные адреса — условные адреса, присваиваемые транслятором.
  • Физические адреса — номера ячеек оперативной памяти, в которых находятся переменные и команды.

Символьные метки:

  1. Метки операторов заменяют для программиста адреса, по которым команды находятся в памяти.
  2. Имена переменных заменяют адреса, по которым данные находятся в памяти.
  3. Имя программы заменяет адрес, по которому первая команда программы находится в памяти.

Физическая память

Физическая память представляет собой упорядоченное множество ячеек реально существующей оперативной памяти, каждая из которых пронумерована, и к ней можно обратиться, используя порядковый номер.

Количество ячеек физической памяти ограничено и фиксировано.

Виртуальное адресное пространство

Совокупностью виртуальных адресов процесса называют виртуальным адресным пространством.

У процессов одинаков диапазон виртуальных адресов, но виртуальные пространства различны, так как отображаются на разные физические адреса.

Максимально возможным виртуальным адресным пространством считают потенциально возможный размер виртуального адресного пространства процесса, который определяется архитектурой компьютера.

Как правило, изначальное неизвестно количество памяти, которое потребуется программе для работы. Поэтому на каждую программу выделяется максимально возможное адресное пространство.

Назначенным виртуальным адресным пространством называют размер виртуального адресного пространства, который необходим процессу для работы и реально используется в текущий момент.

Размер назначенного адресного пространства может меняться во время выполнения процесса.

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

Память бывает разделяемая и неразделяемая.

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

Неразделяемая память это закрытая область для хранения собственных данных процесса.

На рисунке выше разделимый участок оперативной памяти отмечен серым цветом.

Для каждого процесса виртуальное адресное пространство делиться на две части:

  1. Системная часть – одинакова для всех процессов и содержит ядро операционной системы и разделяемые различными объектами процессы.
  2. Пользовательская часть – индивидуальна для каждого процесса и содержит коды и данные прикладной программы.

Системная часть разделяется на вытесняемую и не вытесняемую.

По сути: если памяти не хватает, то вытесняемая память переходит из оперативной памяти на жесткий диск. Как я писал ранее это очень любимая тема Windows 10.

Подведем итог. В операционной система подсистема управления памятью решает следующие задачи:

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

Обычно мы слышим такой термин как файл подкачки. так вот, файл подкачки это ни что иное как виртуальная память. То есть это метод организации вычислительного процесса при котором некоторые данные временно выгружаются на жесткий диск. Теперь если вы увидите надпись «Файл подкачки» знайте что это такое.

Допустим, у нас есть три процесса, они находятся в оперативной памяти и занимают ее полностью. Пользователь запускает четвертый процесс, памяти для него не хватает. Операционная система выгружает первый процесс в виртуальную память. Этот самый файл подкачки на жестком диске. Когда оперативная память освобождается, четвертый процесс загружается обратно в нее.

Информационные революции в истории

В истории развития цивилизации произошло несколько информационных революций — преобразований социальных общественных отношений вследствие изменений в области обработки, сохранения и передачи информации.

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

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

Третья (конец XIX в.) революция с открытиями в области электричества, благодаря чему появились телеграф, телефон, радио, устройства, которые позволяют оперативно передавать и накапливать информацию в любом объеме.

Четвертая (с семидесятых годов XX в.) революция связана с изобретением микропроцессорной технологии и появлением персонального компьютера. На микропроцессорах и интегральных схемах создаются компьютеры, компьютерные сети, системы передачи данных (информационные коммуникации).

Этот период характеризуют три фундаментальные инновации:

  • переход от механических и электрических средств преобразования информации к электронным;
  • миниатюризация всех узлов, устройств, приборов, машин;
  • создание программно-управляемых устройств и процессов.

Структура операционной системы компьютера:

  • Ядро ОС – преобразует команды программ в машинные коды, понятные компьютеру.
  • Драйверы – программы, предназначенные для взаимодействия компьютера с аппаратными устройствами.
  • Интерфейс – программная оболочка для общения пользователя с компьютером.

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

За работу с запросами пользователя отвечает часть ОС – командный процессор. Операционная система должна выполнить любые команды пользователя, оперирующие файлами, будь то команды перемещения, удаления, копирования, либо команды обмена файлами между устройствами.

Все устройства компьютера подсоединяются к нему через системную шину. Это и монитор, и клавиатура, и принтер, и дисководы, и различного рода манипуляторы, и другие. Для управления работой всего многообразия устройств современного компьютера для каждого устройства создаются специальные программы, понимающие как команды устройства, так команды процессора, – драйверы.

Пользовательский интерфейс современных ОС является графическим. Это позволяет пользователю вводить команды, указывая при помощи графических манипуляторов (например, мышью)  на требуемый объект на экране, не прибегая к вводу команд с клавиатуры.

Неотъемлемой частью операционной системы являются утилиты, или служебные сервисные программы – программы обслуживания дисков, программы-архиваторы, программы работы в сетях и т.д.

К услугам пользователя предоставлена справочная система ОС, которая даёт возможность получения сведений как о работе операционной системы, так и по каждой её части.

Итог¶

Начав с базовой архитектуры и небольшой истории развития компьютера, мы разобрали причины появления такого комплекса программ как операционная система и выделили главную её цель – обеспечение согласованного доступа к ресурсам компьютера множеству пользователям этих ресурсов, а также управление как самими ресурсами, так и пользователями.

Рассмотрели основные механизмы реализации этой цели: Scheduler (планировщик), Inter Process Communication (межпроцессное взаимодействие), Memory manager (управление памятью) и другие.

Ряд абстракций, которые вводит ОС: Process (процесс), Thread (поток исполнения), File (файл).

Ух, и вот наконец-то я закончил писать этот материал. Надеюсь, вам было интересно и полезно.

Если вы хотите как-то дополнить материал, дать критику по его содержанию или структуре – пожалуйста, пишите в Issue данного репозитория поднимая ту или иную тему для обсуждения и доработки.

Также, вы можете сделать Fork данного репозитория и после внести свои дополнения с помощью Pull Request

Спасибо за внимание!

Понравилась статья? Поделиться с друзьями:
Setup Pro
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: