Программы которые связывают ПК и компьютер

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

Есть специальные приложения, созданные на основе популярных социальных сетей (Одноклассники, Вконтакте, Агент Майл.ру), а есть такие, которые уже сами стали социальными сетями (Инстаграм, Телеграм, Твиттер). Есть и программы, которые связывают людей посредством номеров телефонов, за счёт чего можно найти в таком приложении человека из своего списка контактов.

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

Самый странный ремонт ПК

У каждого мессенджера свои особенности: если Skype известен своей многофункциональностью, то Telegram прославился своей защищённостью, а Viber — сбалансированностью. В Instagram текстовые сообщения уступают фотографиям и коротким видеозаписям, Twitter вынуждает сжимать речь до смысла, а если вы поклонник Counter-Strike, World of Tanks или иной популярной многопользовательской игры, то вам непременно понравится TeamSpeak, который обладает большим функционалом по сравнению с Discord.

Большое разнообразие современных мессенджеров позволяет вам выбрать что-то для себя.

О программе Очень популярная в наше время социальная сеть ВКонтакте обладает довольно широким функционалом и вполне качественным официальным приложением, которое можно установить на свой смартфон. […]

Описание Windows Package Manager (он же winget) — специально разработанный для Виндоус консольный менеджер, позволяющий автоматизировать обновление и установку программного обеспечения при помощи команд Windows […]

Описание Мессенджеры в наши дни — удобный, простой и доступный способ связи. Был бы интернет — и можно связываться со знакомыми, находящимися в любой точке […]

Описание Mozilla Thunderbird — кросплатформенный, мощный и очень эффективный почтовый клиент, назначение которого — работа с электронной почтой. Скачать Mozilla Thunderbird бесплатно можно с нашего […]

Как я упаковываю игровые компьютеры kritos PC

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

Особенности Несмотря на то, что создано достаточно программ, предназначенных для виртуального общения, но разработчики постоянно предлагают что-то еще. Например, вы можете OoVoo скачать бесплатно на […]

Особенности Для того, чтобы не тратить огромные суммы на связи, многие предпочитают общаться через интернет. Но для этого нужны специальные программы. Есть пользователи, которые для […]

Особенности WebcamMax — приложение, с помощью которого можно добавлять различные видеоэффекты при работе с вебкамерой, в видеочаты и видеозаписи. Доступно более 1000 спецэффектов. Для того, […]

Особенности Если вам кажется, что основных функций в популярной социальной сети Одноклассники маловато, то значит настала пора вам скачать OkTools. Это специальный плагин, который сделает […]

Особенности TeamSpeak — утилита, которая позволит вам общаться через интернет или локальную сеть при использовании технологии VoIP. Программа состоит из двух частей: клиентской и серверной. […]

Особенности Discord — мессенджер, который позволяет совершать голосовое и текстовое общение. И в этом плане он во многом напоминает такие популярные утилиты, как TeamSpeak и […]

Особенности Для любителей командных компьютерных игр существует своя программа, которая позволит обеспечить общение геймерам. И в числе этих программ стоит отметить RaidCall. Если вы скачаете […]

Особенности Люди по всему миру пользуются Скайпом для осуществления звонков. Ведь этот способ позволяет общаться вне зависимости от того, где находится ваш абонент. Такой вариант […]

Особенности VKSaver — простой удобный инструмент для скачивания музыкальных и видеофайлов из соцсети ВКонтакте. Для того, чтобы загрузить на компьютер любую музыку или фильм, размещенный […]

Особенности Среди программ, которые позволяют скачивать видео и аудио из популярной социальной сети «Вконтакте», стоит отметить утилиту ВК Мьюзик. Любой желающий может скачать VKMusic бесплатно […]

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

Особенности Если вы являетесь активным пользователем этой популярной сети, то стоит отказаться от браузера. Ведь сейчас можно скачать ВКонтакте бесплатно, получив отдельное приложение, которое более […]

Особенности Многие пользователи для того, чтобы иметь возможность общаться с друзьями, делать звонки, отправлять аудио, видео и текстовые сообщения, используют Mail.ru Агент. И сейчас можно […]

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

Особенности Сайт ok.ru — ждет своих пользователей. А вот если вы захотели установить приложение для Android, iOS и WinPhone — то это тоже вполне возможно. И […]

Особенности В линейке программ, позволяющих осуществлять обмен текстовыми, аудио-, фото и видео материалами, есть софт WhatsApp Messenger. Сейчас есть возможность установить эту утилиту для устройств, […]

Особенности Инстаграм — приложение, которое распространяется бесплатно. Многие пользователи предпочитают скачать Instagram бесплатно на компьютер, чтобы иметь возможность обмениваться видео и фотографиями. Кроме того, данная […]

Особенности Твиттер — популярная социальная сеть, которая позволяет каждому пользователю завести свой микроблог. Причем сделать это можно как на компьютере, если скачать Twitter для Windows […]

Особенности Мессенджер Вконтакте — специальная программа, которая расширяет круг вашего общения. Данный софт можно установить на настольных системах Mac OS. Кроме того есть много желающих […]

Особенности Многие для обмена текстовыми сообщениями уже скачали Miranda IM на компьютер и установили этот бесплатный мессенджер. Несмотря на то, что программа не требует много […]

Источник: soft-for-free.ru

Как я связал компьютеры и пользователей с портами сетевых устройств в программе для мониторинга Network MACMonitor

Я разработчик программы для мониторинга сети Network MACMonitor.

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

image

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

Читайте также:
Как сделать установщик программы delphi

Мне виделось два варианта решения этой задачи:

  1. Написать Windows агент и опрашивать его с помощью программы Network MACMonitor;
  2. Использовать Windows Management Instrumentation (WMI).

У варианта с Windows агентом есть ряд минусов, которые для меня были существенными:

  • разработка безопасного протокола сетевого взаимодействия Windows агента c программой Network MACMonitor;
  • необходимость предварительной установки агента на компьютеры;
  • использование другого языка программирования (я пишу на Java), так как считаю Java не подходящим для написания агента: в связи с достаточно большим потреблением виртуальной памяти и необходимостью установки JRE на все компьютеры.

Из-за всех вышеперечисленных минусов я решил остановиться на варианте с использованием WMI.

Разработка WMI клиента

Так как программа Network MACMonitor написана на Java я попытался найти готовую кроссплатформенную Java библиотеку, которая реализует функциональность WMI клиента. И тут меня ждало разочарование — такой библиотеки нет.

Все существующие библиотеки — это либо обертки над Windows утилитами, либо (библиотека j-Interop) требуют дополнительной манипуляции с реестром (смена владельца и разрешений на ветки реестра) для активации WMI через удаленный реестр. Поскольку для Java полностью рабочей библиотеки не оказалось я решил найти библиотеку либо WMI клиента, написанного на любом другом языке программирования. И нашел один WMI клиент для Linux. Скачав и проверив его работу, я понял, что опрос Windows компьютеров из-под Linux возможен.

Раз это возможно, я решил написать свою библиотеку на чистом Java, которая бы позволила опросить компьютер по WMI.

Для написания библиотеки необходима была четкая документация по работе протокола WMI. Оказалось, что такая документация есть и она находится в свободном доступе.

Подготовку к написанию библиотеки я начал с рассмотрения сетевого стека протокола WMI.

Протокол Спецификации
Windows Management Instrumentation (WMI) MS-WMI, MS-WMIO
Distributed Component Object Model (DCOM) MS-DCOM
Remote Procedure Call (RPC) MS-RPCE
Transmission Control Protocol (TCP)
Internet Protocol (IP)

Для корректной работы WMI необходимо, чтобы все уровни стека были реализованы.

Поскольку WMI на Java не реализован, я перешел к следующему протоколу в стеке — DCOM. И тут мне повезло. Хотя вышеупомянутая библиотека j-Interop не реализует функциональность WMI, но DCOM функциональность в ней реализована. Значит осталось написать реализацию WMI протокола, то есть написать реализацию спецификаций MS-WMI и MS-WMIO.

Начал я с реализации спецификации MS-WMIO, которая отвечает за формат кодирования данных в сетевых пакетах протокола WMI. Из спецификации я узнал, что при кодировании данных используется расширенная спецификация синтаксиса Бэкуса-Наура (ABNF, RFC 5234). В спецификации MS-WMIO полностью описан формат кодирования с использованием ABNF.

Известно, что если есть грамматика, описанная в ABNF, то возможно создать парсер этой грамматики. В интернете я нашел генератор парсеров ABNF для Java и на вход подал ему грамматику, взятую из спецификации.

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

Но как проверить, что парсер написан корректно, если пока не реализована спецификация MS-WMI, которая отвечает за функционирование протокола WMI? Тут мне помог Wireshark – анализатор сетевого трафика. Сделав запросы WMI стандартными средствами Windows (wbemtest), предварительно отключив шифрование, я получил сетевые пакеты и сохранил их в бинарные файлы. Эти файлы уже возможно было использовать в качестве тестовых данных для парсера.

Когда парсер был протестирован и были исправлены найденные ошибки, я приступил к реализации спецификации MS-WMI, которая описывает работу протокола WMI.

Спецификация MS-WMI делится на серверную и клиентскую. Мною была частично реализована клиентская часть, в объеме необходимом для опроса компьютера по WMI. В этой части мне также понадобился Wireshark, но уже для анализа последовательности сетевых пакетов при WMI опросе.

Попытка получения необходимых данных с помощью WMI

После написания WMI библиотеки, стала задача ее использования в программе Network MACMonitor. Возник вопрос: какие данные следует получать с компьютеров? Я подумал, что нужно получить имя компьютера, домен, операционную систему, время включения, mac адреса, ip адреса, активных пользователей, которые работают за компьютером.

Но возникла очень важная проблема: как однозначно идентифицировать компьютер при WMI опросе? Я рассмотрел следующие варианты:

  • mac адрес, возможна смена, возможна неуникальность;
  • имя компьютера и домен (рабочая группа), возможна смена, неуникальность (для рабочей группы);
  • серийный номер жесткого диска, где установлена операционная система, необходимы права администратора при WMI опросе, уникальность не проверял, но подозреваю, что возможна неуникальность;
  • серийный номер материнской платы, возможна неуникальность, причем достаточно часто;
  • идентификатор компьютерной системы (свойство UUID WMI класса Win32_ComputerSystemProduct), возможна неуникальность, причем достаточно часто;
  • время установки операционной системы, лучший из всех вариантов, но возможна неуникальность при клонировании системы, либо при разворачивании из образа.

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

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

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

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

Нашел что это можно сделать с помощью класса Win32_SessionProcess, который связывает экземпляры классов Win32_LogonSession с Win32_Process. Если ссылка на сессию присутствует в списке экземпляров класса Win32_SessionProcess (есть хотя бы один процесс с идентификатором этой сессии), то она активна. Далее возник вопрос о том, как связать сессию с пользователем. Это можно сделать, используя класс Win32_LoggedOnUser, который связывает экземпляры классов Win32_LogonSession и Win32_UserAccount. Осталось только получить экземпляры класса Win32_UserAccount, которые предоставляют подробную информацию о пользователе.

image

Но тут меня ждало разочарование. При удаленном использовании WMI оказалось, что при попытке получения экземпляров класса Win32_UserAccount, возможно получить только локальных пользователей компьютера. То есть получилось, что стандартными средствами WMI, невозможно узнать какие пользователи активны на компьютере.

Разработка WMI провайдера.

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

Читайте также:
К сетевым операционным системам относятся следующие пакеты программ

Были описаны два новых WMI класса: NMBY_InstallInfo – для идентификации компьютера и NMBY_LogonSession – для определения активных пользователей компьютера.

image

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

К провайдеру были поставлены дополнительные требования:

  • работа на системе без .NET;
  • работа на операционной системе Windows XP и выше;
  • возможность получения информации с использованием неадминистративной учетной записи.

Поэтому провайдер был написан на C++ с использованием WinApi.

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

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

Итог

В итоге с помощью программы Network MACMonitor стало возможно:

  • связать пользователей c компьютерами;

image

  • связать компьютеры с портами сетевых устройств;

image

  • связать порты сетевых устройств с компьютерами и пользователями;

image

  • просмотреть историю регистрации пользователей на компьютерах.

Источник: habr.com

Как осуществляется взаимодействие прикладных программ и Windows?

Любая операционная система, будь то Windows, MacOS X или Linux, работает по одному и тому же принципу: она автоматически загружается после включения компьютера и управляет работой всех его компонентов (центральным процессором, видеокартой и жесткими дисками).

Именно «операционка» обеспечивает работу всех прикладных программ, позволяя, например, текстовому редактору распечатывать документы, а браузеру – отображать веб-страницы.

Операционные системы на первых персональных компьютерах – MS DOS и ее клоны – управлялись командной строкой: пользователь должен был набирать все команды и запускать их на выполнение нажатием клавиши [Enter]. Однако с тех пор все радикально изменилось.

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

Как работает Windows?

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

1. на самом нижнем уровне располагается ядро ОС – его еще называют «сердцем операционной системы». «Нижний» в данном контексте означает близость к аппаратным компонентам ПК, с которыми ядро взаимодействует напрямую. Оно осуществляет общее управление всеми происходящими в Windows процессами – например, определяет, сколько вычислительной мощности процессора нужно выделить той или иной программе. Windows всегда старается так распределить системные ресурсы, чтобы параллельно работающие приложения получали их в достаточном количестве;

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

3. подсистема Win32 – располагается на третьем уровне и предоставляет прикладным программам важнейшие интерфейсы.

4. программные интерфейсы (API) – располагаются на последнем уровне и отвечают за доступность различных технологий Windows, используемых, например, более ранними версиями программ или играми.

Как осуществляется взаимодействие прикладных программ и Windows?

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

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

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

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

Если программе требуется записать файл на диск, она обращается к функции сохранения данных Windows. Приложение дает указание операционной системе: «Сохрани файл AБВГД на жесткий диск!», а Windows принимает эту команду и проделывает всю необходимую для записи файла работу: находит на жестком диске свободную область, резервирует это место под будущий файл и затем записывает туда информацию. Кроме того, система информирует программу о результате операции: прошло ли создание файла успешно или же возникли какие-либо проблемы.

Как видите, Windows выступает «посредником» между программой и устройствами компьютера. Самый известный программный интерфейс называется DirectX – он служит для поддержки различных графических режимов в играх.

Программы, разработанные для Windows, в большинстве случаев не будут работать под другими ОС (например, Linux или Mac OS); заметим, что и обратное тоже верно (то есть программа для Mac OS не будет работать под управлением Windows). Основная причина этого кроется в том, что в системах используются уникальные API, на работу с которыми рассчитаны прикладные программы.

Сколько версий Windows существует?

Их очень много – больше дюжины. Microsoft подразделяет все операционные системы Windows на две категории:

1. пользовательские – в их число входят такие ОС, как Windows 98, XP и Vista – предназначены для домашнего или офисного использования. Наиболее распространенной является Windows XP, а самой новой – Windows Vista.

2. серверные – такие системы, как Windows Server 2003 или 2008, существуют в нескольких версиях, отличающихся производительностью. Они устанавливаются на серверы, которые выполняют обслуживание многопользовательской сети.

С момента выпуска Windows XP компания Microsoft стала разделять операционную систему на несколько версий:

— Home Edition – это стандартная версия Windows XP, которая обычно предустанавливается на новые компьютеры;

— Professional – в этой версии имеются дополнительные сетевые функции, которые, однако, вряд ли пригодятся большинству индивидуальных пользователей;

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

В самой новой версии Windows – Vista – не так-то просто выбрать подходящий вариант системы – их целых шесть:

— Home Basic – самая простая версия ОС, предназначенная для работы с фотографиями, видеофильмами и музыкой. Кроме того, в нее включены такие стандартные программы, как Internet Explorer и Почта Windows.

— Home Premium – эта версия предустановлена на большинстве новых компьютеров. От версии Basic ее отличает наличие элегантного Aero-интерфейса, а также дополнительные функции для работы с мультимедийным содержимым.

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

— Ultimate – эта версия сочетает в себе возможности версий Home Premium и Business. Она задумана как система для профессионалов, которые используют компьютер для решения бизнес-задач, но при этом не отказываются и от работы с мультимедийным контентом.

— Enterprise – эта версия доступна для предприятий и компаний, заключивших с Microsoft специальный договор. По сути, она представляет собой расширенный вариант Business Edition.

Когда появилась Windows?

В апреле 1983 года компания Microsoft впервые представила так называемый Interface Manager, разработанный ей для собственной операционной системы MS-DOS. С помощью него можно было одновременно запускать на компьютере несколько программ, например, текстовый редактор и табличный процессор. На жаргоне программистов эти отдельно исполняемые программы стали называться окнами – так вскоре родилось название «Windows», и с таким именем появилась в 1985 году первая версия Windows – 1.0.

Читайте также:
Программа изи мерч как работает

Вы уже привыкли к тому, что после запуска системы на экране монитора появляется Рабочий стол с расположенными на нем ярлыками. А вот при запуске Windows 1.0 на экране можно было видеть только содержимое жесткого диска. Чтобы запустить программу, пользователь должен был сначала перейти в нужную папку на диске, затем найти в ней файл программы и только потом запустить его двойным щелчком мыши или нажатием клавиши Enter на клавиатуре.

Windows 1.0 поставлялась на двух дискетах и состояла из 90 файлов, общий объем которых равнялся 2 Мб. С выходом каждой новой версии запросы системы к занимаемому ей месту на диске росли: для Windows Vista уже требуется около 12 Гб дискового пространства и состоит она из примерно 73 тысяч файлов, то есть эта ОС в 6000 раз объемнее, чем Windows 1.0.

Что умеет Windows?

В составе операционных систем Windows XP и Vista имеется множество утилит, которые нужны в повседневной работе. Вот наиболее важные из них:

1. с помощью Проигрывателя Windows Media, Фотогалереи и Media Center легко и удобно просматривать фотографии и фильмы, а также слушать музыку. Программы Movie Maker и DVD Maker помогут смонтировать фильм из отдельных видеоклипов и записать его на оптический диск;

2. заниматься веб-серфингом вы можете с помощью встроенного в систему браузера Internet Explorer. Для приема и отправки электронных сообщений предназначены Outlook Express или почтовый клиент Windows Mail в Vista;

3. для управления файлами и папками как нельзя лучше подойдет Проводник Windows, а сохранить текущие настройки и файлы на случай непредвиденных сбоев системы позволит утилита «Восстановление системы»;

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

5. Прочие полезные утилиты – программа звукозаписи, текстовый редактор, калькулятор и графический редактор – также входят в состав стандартной поставки Windows. В Vista имеются и средства для распознавания голоса, которые позволяют управлять компьютером с помощью голосовых команд (пока только в англоязычной версии ОС).

Singularity

За закрытыми дверями лабораторий Microsoft идет процесс создания «с нуля» абсолютно новой операционной системы, оснащенной другим ядром. Она будет лишена недостатков предыдущих версий Windows, и как результат, ей потребуется заметно меньше памяти для работы: 20 Мб против 300 или 500 Мб Windows Vista.

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

Что такое Windows?

Любая операционная система, будь то Windows, MacOS X или Linux, работает по одному и тому же принципу: она автоматически загружается после включения компьютера и управляет работой всех его компонентов (центральным процессором, видеокартой и жесткими дисками).

Именно «операционка» обеспечивает работу всех прикладных программ, позволяя, например, текстовому редактору распечатывать документы, а браузеру – отображать веб-страницы.

Операционные системы на первых персональных компьютерах – MS DOS и ее клоны – управлялись командной строкой: пользователь должен был набирать все команды и запускать их на выполнение нажатием клавиши [Enter]. Однако с тех пор все радикально изменилось.

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

Как работает Windows?

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

1. на самом нижнем уровне располагается ядро ОС – его еще называют «сердцем операционной системы». «Нижний» в данном контексте означает близость к аппаратным компонентам ПК, с которыми ядро взаимодействует напрямую. Оно осуществляет общее управление всеми происходящими в Windows процессами – например, определяет, сколько вычислительной мощности процессора нужно выделить той или иной программе. Windows всегда старается так распределить системные ресурсы, чтобы параллельно работающие приложения получали их в достаточном количестве;

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

3. подсистема Win32 – располагается на третьем уровне и предоставляет прикладным программам важнейшие интерфейсы.

4. программные интерфейсы (API) – располагаются на последнем уровне и отвечают за доступность различных технологий Windows, используемых, например, более ранними версиями программ или играми.

Как осуществляется взаимодействие прикладных программ и Windows?

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

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

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

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

Если программе требуется записать файл на диск, она обращается к функции сохранения данных Windows. Приложение дает указание операционной системе: «Сохрани файл AБВГД на жесткий диск!», а Windows принимает эту команду и проделывает всю необходимую для записи файла работу: находит на жестком диске свободную область, резервирует это место под будущий файл и затем записывает туда информацию. Кроме того, система информирует программу о результате операции: прошло ли создание файла успешно или же возникли какие-либо проблемы.

Как видите, Windows выступает «посредником» между программой и устройствами компьютера. Самый известный программный интерфейс называется DirectX – он служит для поддержки различных графических режимов в играх.

Программы, разработанные для Windows, в большинстве случаев не будут работать под другими ОС (например, Linux или Mac OS); заметим, что и обратное тоже верно (то есть программа для Mac OS не будет работать под управлением Windows). Основная причина этого кроется в том, что в системах используются уникальные API, на работу с которыми рассчитаны прикладные программы.

Источник: infopedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru