Объявление одномерного массива и задание его начальных значений, при   //этом размер массива автоматически будет равен 4. 8 страница



Разделение времени и многозадачность

Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.

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

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

Разделение полномочий

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

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

Реальный масштаб времени

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.

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

 

5.3. Операционная система DOS.

DOS (англ. Disk Operating System — дисковая операционная система, ДОС) — семейство операционных систем для персональных компьютеров. Ориентированно на использование дисковых накопителей, таких как жёсткий диск и дискета.

Существовали операционные системы с таким названием для больших ЭВМ производства IBM и их клонов в 1960-80-х годах.

DOS для IBM PC-совместимых компьютеров

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

DOS имеет консольную систему ввода/вывода и поддерживает три стандартных потока: stdin, stdout и stderr.

DOS — 16-битная операционная система, работающая в реальном режиме, поэтому для расширения возможностей и преодоления ограничений реального режима были созданы так называемые расширители DOS. Они запускают программы в защищённом 32-битном режиме и эмулируют исходные сервисы операционной системы. Обычно они поддерживают стандарт DOS Protected Mode Interface (DPMI). Самый известный и широко используемый (в компьютерных играх) расширитель — DOS/4GW.

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

DR-DOS (Novell DOS, Caldera DR-DOS) — выпущена Digital Research в 1991 году, перекуплена компанией Novell в 1993 году, затем компанией Caldera.

MS-DOS — выпущена компанией Microsoft в 1981 году.

PC DOS — выпущена компанией IBM в 1981 году.

PTS-DOS — выпущена компанией ФизТехСофт в 1991 году или ранее.

Paragon DOS Pro (первоначальное название — PT$-DOS). Ветка PTS-DOS, выпущенная компанией Paragon Software после того, как её основатели, включая ведущего разработчика PTS-DOS, ушли из ФизТехСофт, основав собственную компанию. Последние версии этой ветки включают поддержку FAT32.

FreeDOS — выпущена в 1994 году. Свободная ДОС, изначально называлась PD-DOS.

FreeDOS-32 — свободная 32-битная ДОС. Не требует расширителей для запуска 32-битных приложений. Планируется избавиться и от других ограничений ДОС (поддержка других файловых систем, многозадачности и т. п.).

 

MS-DOS (англ. Microsoft Disk Operating System — дисковая ОС от Microsoft) — коммерческая операционная система фирмы Microsoft для персональных компьютеров. MS-DOS — самая известная ОС из семейства DOS, ранее устанавливаемая на большинство IBM PC-совместимых компьютеров. Со временем она была вытеснена ОС семейства Windows 9x и Windows NT.

MS-DOS была создана в 1981 году и, в ходе её развития, было выпущено восемь крупных версий (1.0, 2.0 и т. д.) и два десятка промежуточных (3.1, 3.2 и т. п.), пока в 2000 году Microsoft не прекратила её разработку. Это был ключевой продукт фирмы, дававший ей существенный доход и маркетинговый ресурс, в ходе развития Microsoft от разработчика языка программирования до крупной компании, производящей самое разнообразное программное обеспечение.

Последняя официальная версия 6.22. Однако существует версия 7.1 в виде ядра Windows 98, которая загружается на начальном этапе загрузки системы.

 

Минимальный набор файлов операционной системы MS-DOS:

IO.SYS — расширение BIOS

MSDOS.SYS — обработка прерываний

COMMAND.COM — командный процессор (поддержка интерфейса коммандной строки).

Строго говоря, COMMAND.COM не является необходимым. Его можно заменить любым другим приложением, способным выполнять нужные вам команды. Делается это добавлением в CONFIG.SYS строки shell=c:\my\myprog.com. В своё время сторонними разработчиками было выпущено множество командных процессоров. Наиболее распространённый — NDOS.COM (лицензированный 4DOS) из пакета Norton Utilities фирмы Symantec.

Файлы конфигурации:

CONFIG.SYS — конфигурирование системы и загрузка драйверов устройств на этапе инициализации MSDOS.SYS

AUTOEXEC.BAT — стартовый пакетный файл. Выполняется при запуске COMMAND.COM во время загрузки MS-DOS.

Некоторые файлы и их функциональное назначение

ANSI.SYS — расширенный драйвер консоли (экрана и клавиатуры).

HIMEM.SYS — драйвер дополнительной (extended memory) и HMA-памяти.

EMM386.EXE — драйвер расширенной памяти (expanded memory).

RAMDRIVE.SYS — драйвер электронного диска.

KEYB.COM — драйвер переключения языковых раскладок клавиватуры.

KEYBOARD.SYS — файл с описаниями языковых раскладок клавиатуры, оформленный как драйвер.

COUNTRY.SYS — Файл с таблицами локализации, алфавитами сортировки.

DISPLAY.SYS — драйвер дисплея; в частности, загружает локализованные шрифты.

*.CPI — загружаемые шрифты кодовых страниц экрана и клавиатуры.

MODE.COM — программа настройки ряда параметров экрана и портов ввода-вывода системы: последовательного, параллельного и т. д.

 

5.4. Что понимается под файлом.

Файл (англ. file — папка, скоросшиватель) — концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков:

фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл);

определённое логическое представление и соответствующие ему операции чтения/записи.

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

Первому случаю соответствуют операции чтения/записи потока и/или массива (то есть последовательные или с доступом по индексу), второму — команды СУБД. Промежуточные варианты — чтение и разбор всевозможных форматов файлов.

В отличие от переменной, файл (в частности, его имя) имеет смысл вне конкретной программы. Работа с файлами — по крайней мере, в «простейшем» представлении — реализуется средствами операционных систем, а до их появления реализовывалась их предшественниками — мониторами и библиотеками подпрограмм.

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

области данных (необязательно на диске);

устройства (как физические, так и виртуальные);

потоки данных (в частности, вход или выход процесса);

сетевые ресурсы;

объекты операционной системы.

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

Файловая система

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

 

Фа́йловая систе́ма (англ. file system) — регламент, определяющий способ организации, хранения и именования данных на носителях информации. Она определяет формат физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имени файла, максимальный возможный размер файла, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.

Файловая система связывает носитель информации, с одной стороны, и API для доступа к файлам — с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, магнитной ленте или блоке флеш-памяти) он записан. Всё, что знает программа — это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

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

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

 

C:

\Program files

\CDEx

      \CDEx.exe

      \CDEx.hlp

      \mppenc.exe

\Мои документы

\Wiki.txt

\Tornado.jpg

D:

\Music

\ABBA

      \1974 Waterloo

      \1976 Arrival

          \Money, Money, Money.ogg

         \1977 The Album

(Иерархическая файловая система Windows/DOS)

 

/usr                                 

/bin                             

    /arch                       

    /ls                        

    /raw                

/lib                          

    /libhistory.so.5.2          

    /libgpm.so.1               

/home                               

/lost+found                     

    /host.sh                   

/guest                    

    /Pictures                  

         /example.png       

    /Video                    

         /matrix.avi           

         /news               

              /lost_ship.mpeg   

(Иерархическая файловая система Unix и UNIX-подобных операционных системах)

Обратите внимание на использование слешей в файловых системах Windows, UNIX и UNIX-подобных операционных системах (В Windows используется обратный слеш «\», а в UNIX и UNIX-подобных операционных системах простой слеш «/»).

 

Имя файла

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

В FAT16 и FAT12 размер имени файла ограничен 8 символами (3 символа расширения).

В VFAT ограничение 255 байт.

В FAT32, HPFS имя файла ограниченно 255 символами

В NTFS имя ограничено 254 символами Unicode

В ext2/ext3 ограничение 255 байт.

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

Для MS-DOS в имени файла допустимы только заглавные буквы, цифры. Не допустим пробел, знак вопроса, звёздочка, символы больше/меньше, символ вертикальной черты.[1]. При вызове системных функций именами файлов в нижнем или смешанном регистре, они приводятся к верхнему регистру.

Для Microsoft Windows в имени файла разрешены заглавные и строчные буквы, цифры, некоторые знаки препинания, пробел. Запрещены символы «>», «<», «|», «?», «*», «/», «\», «:», «"».

Для GNU/Linux (с учётом возможности маскировки) разрешены все символы, кроме «/» и нулевого байта.

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

Расширение имени файла

Расширение имени файла (часто расширение файла или расширение) как самостоятельный атрибут файла существует в файловых системах FAT16, FAT32,NTFS, используемых операционными системами MS DOS, DR DOS, PC DOS, MS Windows и используется для определения типа файла.Оно позволяет системе определить, каким приложением следует открывать данный файл. По умолчанию в операционной системе Windows расширение скрыто от пользоватея. В остальных файловых системах расширение — условность, часть имени, отделённая самой правой точкой в имени.

Атрибуты

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

READ ONLY - только для чтения - в файл запрещено писать

SYSTEM – системный - критический для работы операционной системы файл

HIDDEN – скрытый - файл скрывается от показа, пока явно не сказано обратное

ARCHIVE - архивный(требующий архивации) - файл изменён после резервного копирования или не был скопирован программами резервного копирования

Для файла могут быть определены следующие временные метки:

Время создания

Время модификации

Время последнего доступа

Владелец и группа файла

В некоторых файловых системах предусмотрено указание на владельца файла, и группу владельца.

Права доступа

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

В UNIX-подобных операционных системах для файлов обычно выделяют три типа прав:

Право на запись

Право на чтение

Право на выполнение

Каждое право задаётся раздельно для владельца, для группы и для всех остальных. ACL позволяют расширить этот список.

В операционных системах Windows NT при работе с файловой системой NTFS права доступа задаются явно для пользователей или групп (или наследуются от вышестоящих объектов). Права в себя включают:

Право на чтение

Право на запись

Право на исполнение

Право на удаление

Право на смену атрибутов и владельца

Право на создание, удаление подпапок (для папок)

Право на чтение прав доступа

Каждое право может быть задано как разрешением, так и запретом, запрет имеет больший приоритет, чем разрешение.

 

Операции с файлом

Условно можно выделить два типа операций с файлом - связанные с его открытием, и выполняющиеся без его открытия. Операции первого типа обычно служат для чтения/записи информации или подготовки к записи/чтению. Операции второго типа выполняются с файлом как с "объектом" файловой системы, в котором файл является мельчайшей единицей структурирования.

Операции, связанные с открытием файла

В зависимости от операционной системы те или иные операции могут отсутствовать.

Обычно выделяют дополнительные сущности, связанные с работой с файлом:

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

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

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

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

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

Операции

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

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

Запись — в файл помещаются данные.

Чтение — данные из файла помещаются в область памяти.

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


Дата добавления: 2019-01-14; просмотров: 241; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!