Who - кто работает с системой ?




диалоговый пакетный

(пошаговое управление в темпе (отложенный счет)

пользователя) авт. управл.заданиями

           
     
 
 


граф. язык команды ОС язык программир. Shell

(граф.образы

команд ОС)

предмет изучения в данном курсе -

-интерфейс пользователя

 

 

Тема 3. ВИДЫНТЕРФЕЙСОВ ПОЛЬЗОВАТЕЛЯ ОС UNIX

 

Интерфейсы пользователя – средства пользователя для управления ресурсами ВС и вычислительными заданиями. Место интерфейсов видно на явно выраженной слоистой структуре UNIX-подобной ОС:

 

 

 
 

 


Каждый слой ПО имеет свой интерфейс с соседним (вышележащим или нижележащим) слоем.

Управляющие программы ОС осуществляют управление на физическом уровне управление устройствами, данными, прерываниями.

Разновидности интерфейсов пользователя:

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

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

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

 

 

Тема 4. ОБОБЩЕННЫЕ ПРИНЦПЫПОСТРОЕНИЯ СОВРЕМЕННЫХ ОС

 

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

 

1 принцип – единый язык написания программных модулей ОС и обрабатывающих программ язык «СИ». Использование единого языка обеспечивает важнейшее свойство UNIX-подобных ОС – переносимость или возможность работы ос на различных АП. Но в случае ОС нельзя добиться полной переносимости, т.к. любая ОС включает программные модули, управляющие непосредственно устройствами на уровне архитектуры аппаратных платформ. (например – драйверы устройств, модули ядра ОС). Поэтому в случае UNIX – окололо 80% программных модулей ОС написано на языке «СИ», а около 20% - на языках конкретной архитектуры АП (язык - ассемблер).

 

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

 

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

 

4 принцип – независимость прикладных и системных программ от вида внешних устройств для хранения информации, ввода - вывода информации и размещения данных. Так. например, в UNIX-системах (включая линию DOS) устройства представляются как файлы, т.е. и обращение к ним осуществляется как к файлам – по их именам. Имена могут быть логическими и системными, последние используются системой по умолчанию (когда пользователь не указывает имя в явном виде логическое имя). Например: 0 –системное имя стандартног устройства ввода данных (клавиатуры), 1 –системное стандартного устройства вывода данных (экрана терминала пользователя), 2 – устройство для вывода листинга обрабатывающих программ.

Например в DOS используются следующие логические имена: PRN, LPT, CON,COM (устройства вв-выв),A:,B(дисководы):и.т.д.

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

 

$pr fil3 – заявка на печать будет поставлена в очередь к некоторому системному принтеру (или принтеру сети)

 

$ [0] > fil4 – ввод с файла клавиатуры в файл fil4,или

$ > fil4 - то же, но системное имя файла клавиатуры не указано

 

$ cat fil5 [>1] – вывод в сист. файл 1 – экран, можно не указывать

$ cat fil5 - то же.

 

Для нестандартных устройств в UNIX необходимо знать и использовать полные системные маршрутные имена соответствующих файлов этих устройств, например

/dev/rmt/cot3dobest - файл (системный буфер) магнитной ленты.

Для работы с нестандартными устройствами могут использоваться как стандартные так и не стандартные (специальные) команды UNIX.

 

5 принцип – иерархическая структура ОС с с четко определенными функциями слоев программного обеспечения ОС и четкими интерфейсами между слоями ПО.

 

6 принцип – стандартизация на уровне архитектуры ОС. Базовыми понятиями архитектуры являются понятия «процесс» - собственно задачи шагов заданий и «ресурс», т.е. что выделяется процессу для выполнения этих задач. Процесс – это образ задачи шага задания в ОП компьютера. Процесс представлен в памяти в виде таблицы – дескриптора процесса. Дескриптор включает:

исполняемый текст программы задачи

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

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

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

 

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

Стандарт Windows – стандарт на графический интерфейс (MSDOS7, OS/2, X Window, Windows NT, Windows 2000)

Стандарт MSX - стандарт на командный интерфейс ОС персональных компьютеров (MS DOS 6, MS DOS, PC DOS IBM, TD DOS Toshiba)

Стандарт Posix на командный и программный интерфейс UNIX-подобных ОС.

Стандарт на программный интерфейс OS/360/370/390 – ОС многопроцессорных супер-ЭВМ (Main Frames)- (S/390, Open VMS, ОС ЕС).

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

 

Тема 5. СОСТАВ ОС UNIX

Свойства UNIX-подобных ОС:

- ОС разделения времени;

- допускают мультипроцессорную. параллельную обработку заданий;

- гибкость к конфигурации и архитектуре АП;

- совместимость по прикладным программам;

- многозадачность;

- многочисленность командных утилит и неограниченные возможности их наращивания;

- многопользовательские ОС;

- открыты для модификаций и развития;

- динамически расширяемые функциональные возможности ядра (в основном за счет инсталирования драйверов устройств).

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

……..

           
   
     
 

 


TTY 1 TTY 2 TTY 3…………….TTY n

       
 
   
 

 


УТИЛИТЫ

ОС

ЯДРО

 

 

       
   
АП
 
 

 

 


ЯДРО ОС UNIX составляют следующие управляющие программы.

Файловая система. Существенным отличием современных версий ОС UNIX от классической структуры является наличие виртуальной файловой системы (например в Linux), позволяющей одновременно работать с файловыми системами различных типов (Ext2, Proc, VFAT и др.). Файловые системы размещаются на устройствах памяти с блочным принципом обмена информации и используют буферную КЭШ-память магазинного типа.

Подсистема управления процессами включает:

- средства межпроцессного взаимодействия (IPC –InterProcessCommunication -сигналы, семафоры,программные каналы, сокеты, ОБЩИЕ ОБЛАСТИ ФИЗИЧЕСКОЙ ПАМЯТИ);

- супервизор управления памятю, реализующий концепцию виртуальной памяти и наиболее эффективно использующий ресурсы физической памяти ВС. Каждый процесс выполняется в своем собственном защищенном адресном пространстве размером в 4 Гбайта (для Linux);

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

Подсистема управления устройствами обеспечивает управление всеми устройствами компьютера (кроме процессора и оперативной памяти). Подсистема включает драйверы устройств с посимвольным принципом передачи информации (com-порт, параллельный порт) и устройств с блочным принципом обмена информацией (жесткий диск, CD ROM).

Прикладные и системные программы взаимодествуют с ядром посредством системных вызовов.

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

 

УТИЛИТЫОС UNIX реализуют внешние команды. Утилита – это исполняемый файл со своим именем (имя команды), который может храниться как в системной области памяти ОС, так и в области памяти, выделяемой пользователю. Содержимое этой памяти описывается в соответствующих каталогах. Число утилит может быть увеличено практически без ограничений. Тем самым обеспечивается расширяемость командного языка ОС. Вызываются утилиты для исполнения по своему имени (имени команды).

 

ОБОЛОЧКИ ОС UNIX (shell) интерпретируют имя введенной команды и вызывают для исполнения соответствующую утилиту. В UNIX может быть инсталировано одновременно несколько оболочек, например для каждого имеющегося терминала пользователей. Строго говоря каждый отдельный терминал может обслуживаться несколькими оболочками, даже оболочками разных типов, обеспечивающих отличающиеся возможности для пользователей (различную СРЕДУ работы пользователя). Эта особенность структуры ОС UNIX обеспечивает одновременную работу многих пользователей, в том числе и работу в составе компьютерных сетей.

Так, в частности, для UNIX разработаны и имеют хождение множество типов оболочек. И каждая из них имеет свои возможности настройки среды. Наиболее распространены следующие оболочки:

- sh -shell Bourne – первая базовая широкоиспользуемая оболочка,

размещается в файле /usr/old/bin/sh;

- csh - Californiy shell (Berkly) –развитие sh - /usr/bin/csh;

- ksh – Korn shell (Berkly) sh+csh (по сути это стандарт Posix)

/usr/bin/ksh.

 

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

Функции shell:

- интерпретирeет командные строки и передает управление ядру ОС;

- формирует характеристики среды (набор глобальных переменных среды);

- выдает приглашение на ввод очередной команды;

- генерирует имена файлов;

- присваивает и подставляет значения переменных;

- подставляет результаты выполнения команд;

- выполняет перенаправления ввода-вывода и реализует конвейеры команд;

- обеспечивает программирование на собственном языке shell и пр...

При входе в систему команда login после ввода пароля запускает программу оболочки. Прежде всего оболочка отыскивает в начальном каталоге пользователя запускающий файл (/еtc/.profil), содержащий команды, выполняющиесяся автоматически при входе в систему, и переменные среды. Таким образом осуществляется адаптация системы к конкретным функциям, используемому оборудованию и решаемым задачам. Такие файлы по существу являются “сценариями оболочки”(shell scripts).

Список разрешенных оболочек размещается в файле /etc/shells. Оболочку можно заменить с испоьзованием специальной команды - chsh.

Обобщенный формат командной строки всех типов shell:

 

$ ком1 [ - опции ] [аргументы /параметры];ком2 … [ENTER]

 

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

Здесь - $ -стандартноен приглашение для ввода команды в ksh и sh (в csh - %)

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

 

Например:

$ls;pwd

 

Здесь командная строка содержит две команды – вывод на экран листинга и полного маршрутного имени текущего каталога.

ВНИМАНИЕ: все элементы командной строки набираются только маленькими символами.

 

Оболочки UNIX обрабатывают два вида команд:

- внешние – каждой из них соответствует своя утилита, путь поиска которой при интерпретации команды определяется переменной среды оболочки – PATH;

- внутренние – встроенные команды в саму оболочку.

 

Оболочка при некорректном использовании команд предоставляет возможность вывести полную информацию о команде на экран:

 

$man [- опции] < команда >

 

[SPACE] – переход на след. страницу справочника;

[ENTER] – переход на следующую строку текущей страницы;

[q] – выход из справочника в shell/

 

Тема 6. СРЕДА для РАБОТЫПОЛЬЗОВАТЕЛЯ

 

Оболочка shell создает среду работы пользователя. Начальная среда “по умолчанию” устанавливается при выполнении конфигурационного файла /etc/.profile, который формируется администратором системы и выполняется автоматически при авторизации пользователя в системе для всех пользователей. Пользователям этот файл недоступен, но может быть временно изменена его копия для отдельных пользователей с целью формирования необходимой индивидуальной среды на один текущий сеанс работы.Среда индивидуально может быть настроена посредством присвоения требуемых значений соответствующим переменным среды.

Практически во всех ОС среда работы пользователя может быть настроена на выполнение конкретного класса вычислительных заданий.

Например, в DOS функции настройки среды выполняются при инициализации ОС с помощью файла директив, описывающего требуемую среду, - CONFIG.SYS и с помощью исполнительного командного файла AUTOEXEC.BAT.

В UNIX возможности настройки среды значительно шире.

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

 

Примеры переменных среды:

LOGNAME – входное имя пользователя;

TERM- описывает тип терминала;

HOME – маршрутное имя начального каталога;

PATH – альтернативные пути поиска утилит введенных команд;

PS1 – текст приглашения и т.д..

 

Для настройки среды используется команда shell:

«= » - присвоить значение указанной переменной.

 

Пример формирования новой среды:

$ SHELL=/usr/bin/ksh

$HOME=/home/lev

$EDITOR=vi

$TERM=70092

………..

$PS1=”hello” (по умолчанию для sh,ksh = ”$”)

$PATH=/ / / / /;/ /;/ / /

Проверить текущие параметры среды можно с помощью команды вывода на экран значений глобальных переменных:

 

$ env [ENTER]

SHELL=

HOME=

………..

$

 

Имена системных переменных используют большие буквы.

 

Сменить оболочку можно и с помощью команды:

 

Например:

$chsh ksh

 

 

Тема 7. РЕГИСТРАЦИЯ ПОЛЬЗОВАТЕЛЯ В СИСТЕМЕ

 

В отличие от персональной операционной системы, с много-

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

 

Информация о всех зарегистрированных пользователях содержится в файле /etc/passwd. При авторизации в файл добавляется строка, в общем случае содержащая имя пользователя, зашифрованный пароль длиной 13 символов, неотрицательные числовые идентификаторы пользователя и группы пользователей, к которой он отнесен, тип группы, полное имя личного каталога пользователя, имя программного файла для запуска родительского интерпретатора shell.

Например, для пользователя с входным именем lev регистрационная строка может иметь вид:

 

lev:код_пароля:210:14:USER:/home/user/lev:/usr/bin/ksh

 

Пароль может быть назначен администратором или изменен самим пользователем с помощью специальной команды:

 

$ passwd [входное_имя]

 

Личный секретный пароль содержит от 6 до 8 символов, в число которых должно входить не менее двух букв и одной цифры.

После авторизации пользователь при каждом входе в систему

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

от интерпретатора shell на ввод команды:

 

login: lev

Password: <набор_пароля>

””””””””””””””””””””””””””””””””””””””””””””””””””

UNIX System V Release 3.1 Version DN010192 U01

””””””””””””””””””””””””””””””””””””””””””””””””””

$ <ввод_команды>

 

< сеанс работы с системой >

 

<Ctrl*D> или exit

 

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

 

Команда просмотра текущих идентификаторов:

 

id – выводит идентификаторы пользователя и его группы для данного сеанса связи:

$id [*]

uid=303 (user3) gid=300 (class)

210(lev) 14(user)

$

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

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

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

Идентификаторы групп – в файле /etc/group.

 

Тема 8. ГРУППА КОММУНИКАЦИОННЫХ КОМАНД

 

Рассматриваемая группа команд позволяет организовать

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

Для уточнения реквизитов адресата можно воспользоваться

командой:

who - кто работает с системой?

$ who

””””””””””””””””””””””””””””””””””””

lev tty4i Feb 11 18:47

petr11 tty12 Feb 11 16:00

”””””””””””””””””””””””””””””””””””””

$

 

Команда who в каждой строке своего сообщения выводит имя

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

 

$ who am i

””””””””””””””””””””””””””””””””””””

lev tty4i Mar 11 18:47

””””””””””””””””””””””””””””””””””””

$

 

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

пользователь-отправитель может воспользоваться командой:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: