- Что входит в ядро
- Что находится в оперативной памяти
- Средства экономии памяти. Виртуальная память
- Файловая система Unix
- Внутренняя структура файловой системы Unix
- Формат индексного описателя файла
Все системные действия выполняет ядро операционной системы Unix. Ядро - обычный выполняемый файл, расположен в файле /unix или /stand/unix или /vmunix или /vmlinuz (в зависимости от конкретной реализации). Можете посмотреть размер этого файла - не маленький. При начальной загрузке системы ядро целиком загружается в оперативную память, и в дальнейшем резидентно находится в ней, выполняя все необходимые работы.
Что входит в ядро.
ДРАЙВЕРЫ УСТРОЙСТВ. И тех, которые есть, и тех, которых нет, но могут быть, а так же и такие, которые никогда вам не понадобятся.
УПРАВЛЯЮЩИЕ ПОДПРОГРАММЫ: части кода, ответственные за обеспечение работы пользовательских программ - разделение времени и прочих ресурсов системы.
СЛУЖЕБНЫЕ ТАБЛИЦЫ И ДАННЫЕ ЯДРА: таблицы текущих процессов, открытых файлов, управляющие структуры...
СИСТЕМНЫЕ ВЫЗОВЫ. (То, что MS-DOSе называется "21 прерывание" - можно считать некоторой аналогией/пародией на системные вызовы.) С точки зрения программиста это обычная си-шная функция, только выполняет она системно-зависимые действия, например: прочитать данные из файла, установить сетевое соединение, создать каталог, и т.д. и т.п. Все системные вызовы ( а всего их более 1500 штук ) вкомпилированы в тело ядра unix. Пользовательские программы, вызывающие функции, являющиеся системными вызовами, на самом деле содержат только jump'ы на соответствующие адреса памяти в ядре. В пользовательскую программу системные вызовы не влинковываются.
Что находится в оперативной памяти.
ЯДРО ОПЕРАЦИОННОЙ СИСТЕМЫ.
БУФЕРНЫЙ КЭШ. Часть оперативной памяти резервируется под кэширование чтения и записи на диск. Любая операция чтения с диска приводит к тому, что прочитанные с блоки помещаются в буферный кэш, а из него уже передаются запросившим данные программам. Если блок попал в кэш, то все последующие обращения к нему будут получать образ блока из кэша, причем не зависимо, от того - та же самая программа, обращается к блоку, или какая-либо другая. Кэшируется так же и запись на диск, опять же, разделяемая между всеми выполняемыми программами.
ПРОЦЕССЫ. Процессом в Unix'е называется выполняющаяся программа
Средства экономии памяти. Виртуальная память.
РЕЕНТЕРАБЕЛЬНОСТЬ КОДА. Когда одна и та же программа(выполняемый файл) запущена в нескольких экземплярах, то в оперативную память загружается только одна копия выполняемого ассемблерного кода на всех. Каждый выполняемый процесс использует один и тот же текст программы, просто у каждого процесса имеется свой собственный указатель на текущий оператор.
РАЗДЕЛЯЕМЫЕ БИБЛИОТЕКИ. (В Windows есть похожее понятие DLL - динамически подгружаемая библиотека). Некоторое количество часто выполняемых функций (например printf, да и много других) оформляется в виде специальным образом подготовленной библиотеки (SHARED LIBRARY). При компиляции программы, использующей разделяемые библиотеки, эти функции не линкуются внутрь кода программы. Они "выдергиваются" из библиотеки на стадии выполнения программы. Этим мы экономим место на диске и в оперативной памяти: в программах отсутствует код разделяемых функций, а в оперативной памяти эта функция присутствует в одном экземпляре на всех.
SWAPING. Каждый Unix-процесс функционирует в своем собственном 32-х битном виртуальном адресном пространстве, не пересекающемся с другими. Адресное пространство процесса может быть большим, чем физическая оперативная память. Виртуальная память поддерживается с помощью PAGING'а - разрешения виртуальных адресов в физические "на лету", с подкачкой отсутствующих страниц памяти со swap-области на жестком диске.
На самом деле SWAPING'а как такового в Unix'е нет, вместо него применяется гораздо более гибкий PAGING. (swaping - по определению, это ПОЛНАЯ выгрузка программы на swap-область с целью освобождения места в оперативной памяти).
Область памяти, занятая программой разделена на три части: TEXT (выполняемые коды программы), DATA (статические данные программы), STACK (динамические данные). Когда операционка освобождает место в памяти за счет TEXT'а, то она не занимается сбросом его на диск. Она сразу помечает его как свободный. Действительно, когда потребуется загрузить TEXT обратно в память, его можно будет взять из самого выполняемого файла с программой. Такая экономия имеет один побочный эффект. Файл программы, которая в данный момент выполняется, невозможно уничтожить. Операционная система сообщит в этом случае: "text file busy", и откажется выполнять удаление.
БИТ НАВЯЗЧИВОСТИ. (sticky bit). Выполняемая программа может иметь дополнительный атрибут. Так называемый "бит навязчивости". Когда такая программа заканчивает выполнение, операционка (по возможности) старается не занимать память, в которой находился текст программы. Соответственно, повторный ее запуск произойдет очень быстро - ведь программа все еще загружена в память, ее не требуется зачитывать с диска. Нужно просто передать на нее управление.
Файловая система Unix.
Файловая система в Unix - "деревянная", состоит из файлов и каталогов. На каждом разделе диска создается собственная независимая файловая система. Отдельные файловые системы "сцепляются" вместе, в единое общее дерево директорий. Такая операция называется "монтированием". Выглядит это примерно так:
mount -F ufs /dev/dsk/m197_c0d0s5 /home1 mount -F ufs /dev/dsk/m197_c0d0s4 /usr df
Получить доступ к файлам "несмонтированной" файловой системы невозможно. Порочная пракика MS-DOSа - сколько разделов, столько и "дисков" ( a: b: c: d: e: ... k: l: m: n:) в Unix не применяется. В Unix всегда есть ровно одно общее дерево каталогов, и, по большому счету, пользователям совершенно все равно, на каком именно диске или разделе диска расположены его файлы /usr/spool/moshkow или /home1/moshkow/bin/mcopy ...
Файловая система Unix кэшируется буферным кэшем. Операция записи на диск выполняется не тогда, когда это приказывает выполняемый процесс, а когда операционная система сочтет нужным это сделать. Это резко поднимает эффективность и скорость работы с диском, и повышает опасность ее использования. Выключение питания на "горячей", работающей Unix-машине приводит к разрушениям структуры файловой системы.
При каждой начальной загрузке Unix проверяет - корректно ли была выключена машина в прошлый раз, и если нет - автоматически запускает утилиту fsck (File System Check) - проверку и ремонт файловых систем..
Внутренняя структура файловой системы Unix.
Раздел диска, в котором создана файловая система, разбит на три части.
СУПЕРБЛОК. Занимает 1 Kb. Содержит служебную информацию:
Тип файловой системы,
Размер
Начало списка свободных блоков.
. . . что-то еще
ОБЛАСТЬ INOD-ов. Занимает примерно 8% общего размера раздела. inode - Index-node - описатель файла. Он содержит всю информацию о файле, за исключением имени файла, и собственно данных файла. В inod'е хранится:
тип файла (файл, каталог, именованный канал, специальный файл)
кто владелец
права(атрибуты) файла
время модификации/создания файла
адреса блоков, из которых состоит файл
что-то еще ...
ОБЛАСТЬ ДАННЫХ. В этой области расположены блоки с данными фай лов. Незанятые блоки провязаны в СПИСОК СВОБОДНЫХ БЛОКОВ
Файлы бывают двух основных типов. ФАЙЛ, КАТАЛОГ.
ФАЙЛ - он и есть файл.
КАТАЛОГ - файл фиксированного формата: состоит из строчек с именами файлов, входящих в каталог
имя_файла1 Номер_Инода1 имя_файла2 Номер_Инода2 . . .
Чтобы получить доступ к файлу по имени, операционная система
- находит это имя в каталоге, содержащем файл,
- берет Номер_Инода файла,
- по номеру находит inod в области inod'ов,
- из inod'а берет адреса блоков, в которых расположены данные файла,
- по адресам блоков считывает блоки из области данных.
Все.
Формат индексного описателя файла.
Область инодов разбита на 64-х байтные структуры - inod'ы. В inod'е хранится:
Тип файла (файл/каталог/специальный файл/fifo/socket)
Атрибуты (права доступа)
Владелец файла
Группа-владелец файла
Времена создания, модификации, последнего доступа к файлу
Длина файла
Адрес 1-го блока файла
Адрес 2-го блока файла
...
Адрес 10-го блока файла
Адрес блока косвенной адресации (блока с 256 адресами блоков)
Адрес блока 2-й косвенной адресации (блока с 256 адресами блоков с адресами)
Адрес блока 3-й косвенной адресации (блока с адресами блоков с адресами блоков с адресами)
Точный формат структуры файловой системы см. man fs
Другие работы по теме:
1. Введение в предмет
Целью курса является изучение принципов и освоение практических навыков параллельного программирования с использование технологии mpi
Выход в большой сетевой мир
Летом 1990 года начала действовать общедоступная компьютерная сеть Relcom. Поначалу это была небольшая по масштабам сеть, объединившая разработчиков и пользователей отечественных Unix-систем.
UNIX-время
Эта статья о формате кодирования времени; об утилите см.: time (Unix). Для термина «Time» см. другие значения. UNIX-время POSIX-время (англ. Unix time) — система описания моментов во времени, принятая в UNIX и других POSIX-совместимых операционных системах.
Деннис Ритчи - автор языка С. Кто он сейчас?
Язык Си - это один из универсальных языков программирования высокого уровня, который считается языком системного программирования. Он удачно сочетает в себе свойства и средства языков высокого и низкого уровней.
Считаем время выполнения скрипта
Вы наверняка замечали на некоторых сайтах внизу страницы надпись, что мол скрипт выполнен или страница создана за столько-то секунд. И сейчас мы сделаем это средствами PHP.
Операционная система Unix
История создания, назначение ОС UNIX. Функциональные характеристики: управление процессами, памятью и файлами, коммуникационные средства и программный интерфейс. Особенности архитектуры ОС UNIX. Способы управления процессами и условия эксплуатации.
Файловая система Unix
Иерархическая структура файловой системы Unix. Согласованная обработка массивов данных, возможность создания и удаления файлов, буферный кэш. Защита информации, трактовка периферийных устройств как файлов. Внутренняя структура файловой системы Unix.
Виды программного обеспечения, операционной система
Среди множества прикладных программ -- общего назначения и специализированных -- мы выбираем те, что помогут выполнить нужную нам работу. Но есть программа, без которой компьютер вообще не сможет работать.
Права доступу до файлів в ОС Unix
Міністерство освіти України Львівський державний університет ім. І. Франка Факультет прикладної математики та інформатики Звіт про виконання практичного завдання з курсу
Linux Essay Research Paper Introduction TOPIC
Linux Essay, Research Paper Introduction ? TOPIC: Can Linux succeed in a Windows world? Linux is a Unix-language-based computer platform and is described as being slimmer, faster, more reliable
Telnet Essay Research Paper TelnetPURPOSE OF THIS
Telnet Essay, Research Paper Telnet PURPOSE OF THIS REPORT Before gophers, hypertext, and sophisticated web browsers, telnet was the primary means by which computer users connected their machines with other
Hacking Essay Research Paper In the following
Hacking Essay, Research Paper In the following file, all references made to the name Unix, may also besubstituted to the Xenix operating system. Brief history: Back in the early sixties, during the development of thirdgeneration computers at MIT, a group of programmers studying the potential ofcomputers, discovered their ability of performing two or more taskssimultaneously.
Hacking Essay Research Paper Imagine this you
Hacking Essay, Research Paper Imagine this, you are driving along the road and suddenly you see something spectacular. Now imagine that you are not allowed to deviate from your course to
History Of The Internet Essay Research Paper
History of the Internet The Internet as we know today was not a concept that was quickly enacted when it was first thought up. It was a revolutionary process that was the result of visionary people who painstakingly brought forth the World Wide Web. These individuals saw a promising potential in allowing computers to share information on research and development in scientific and military fields.
Linux Vs Nt Essay Research Paper Comparing
Linux Vs Nt Essay, Research Paper Comparing any network operating system is really like comparing an apple to an orange. To judge between the underlying functionality of each operating system geared towards different networking environments is too broad of a subject to come to a reasonable conclusion.
Programming Under The Wizard
’s Spell Essay, Research Paper The computer is a tool that has become indispensable to the modern family and company. In flourishing so successfully the computer has passed from incredibly complex and unusable to anyone
Dennis Ritchie Essay Research Paper Overview
Dennis Ritchie Essay, Research Paper Overview While at AT&T Bell Laboratories, Dennis Ritchie, along with Ken Thompson, developed the UNIX computer operating system for minicomputers.
The Computer Mouse Essay Research Paper The
The Computer Mouse Essay, Research Paper The Computer Mouse The computer mouse is a common pointing device, popularized by its inclusion as standard equipment with the Apple Macintosh. With the rise in
Asynchronous Transfer Mode Networking Atm Essay Research
Paper Asynchronous Transfer Mode (ATM) Networking Asynchronous Transfer Mode (ATM) is, and will be for many years to come, the top of the line in networking technology. Since the creation of the Network (the ARPAnet (Advanced Research Project Agency Network)) scientists and engineers have strived to achieve the fastest information exchange speeds combined with the most cost-efficient hardware and software.
Pbs Essay Research Paper PROCESS BASED SECURITY
Pbs Essay, Research Paper PROCESS BASED SECURITY, WHAT IS IT AND HOW IT WILL CHANGE YOUR COMPUTER?S LIFE This note is for the purpose of explaining a new way to implement operating system security called process-based security. First, an explanation of traditional operating system security is given. Next, an explanation of process-based security is given.
Dhl Migration Essay Research Paper DHL Worldwide
Dhl Migration Essay, Research Paper DHL Worldwide Express migration from legacy system to DBMS Introduction DHL Worldwide Express is the world s largest and most experienced international air express network with service to more than 675,000 destinations in the world. DHL maintains its position as the world s leading international network by continually expanding and upgrading its network of offices, hubs, services, and Information technology, and by offering superior service through a well-trained and dedicated work force with total number of 228 countries, 3002 stations, 63,552 employees, 18,576 vehicles, 252 aircraft, and 35 hubs.
Firewalls Essay Research Paper The term firewall
Firewalls Essay, Research Paper The term firewall has seen limited use since the late 1980s to describe a device to block unwanted network traffic while allowing other traffic to pass. The first published description of a “modern” firewall including use of that name was in ‘Practical Unix Security’ written in 1990 and published in 1991.
Unix The Alpha And The Omega Essay
, Research Paper Since it began to escape from AT&T’s Bell Laboratories in the early 1970’s, the success of the UNIX operating system has led to many different versions: recipients of the (at that time free) UNIX system code all began developing their own different versions in their own, different, ways for use and sale.
Linux And Windows NT Essay Research Paper
Forget the browser wars. This year’s big nerd battle is the server shootout between Linux and Windows NT – and it’s not just a bunch of geeks nit-picking. While both offer more affordable platforms for Web service than in
Current Information Technology Environment Essay Research Paper
Current IT Environment: As a company that will be operating exclusively in the medical field we need to take a look at the predecessors or forerunners to our company to see what IT systems they used to make them successful. Of course we will only use this information as a model to develop and adapt our own model of IT that will be tailor made for our business.
Unix Essay Research Paper UNIX was the
Unix Essay, Research Paper ?UNIX was the first operating system designed to run on ?dissimilar? computers by converting most hardware specific commands in machine language into an independent programming language called ?C,?? Jon Wolfe writes in the Nashville Business Journal. (Wolfe 29) UNIX was the basis of AT&T?s telephone system and the government?s wide area network system.
Where Did UNIX Come From And Why
Are There Different Versions Of UNIX? Essay, Research Paper Where Did UNIX Come From and Why Are There Different Versions Of UNIX? The first efforts at developing a multi-user, multi-tasking operating system
Основні роботи операційної системи UNIX Підтримка мережі UNIX
Основні роботи операційної системи UNIX. Підтримка мережі UNIX В даний час UNIX використовується на найрiзноманiтнiших апаратних платформах – вiд персональних робочих станцiй до потужних серверiв з тисячами користувачiв. Це пов’язано з тим, що UNIX – багатозадачна багатокористувацька система, що володiє широкими можливостями.