System library windows что это

Файлы библиотеки Microsoft Windows — Microsoft Windows library files

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

Содержание

Внутренние компоненты

HAL.DLL — это файл библиотеки режима ядра, и его нельзя использовать любой программой пользовательского режима. NTDLL.DLL используется только некоторыми программами, но это зависимость большинства библиотек Win32, используемых программами.

HAL.DLL

Уровень аппаратной абстракции Windows (HAL) реализован в hal.dll . HAL реализует ряд функций, которые по-разному реализуются на разных аппаратных платформах, которые в данном контексте относятся в основном к чипсету . Другие компоненты в операционной системе могут затем вызывать эти функции одинаковым образом на всех платформах, независимо от фактической реализации.

Например, реакция на прерывание на машине с Advanced Programmable Interrupt Controller (APIC) совершенно иная, чем на машине без него. Для этой цели HAL предоставляет единственную функцию, которая работает со всеми видами прерываний от различных наборов микросхем, так что другие компоненты не должны беспокоиться о различиях.

HAL загружается в адресное пространство ядра и работает в режиме ядра, поэтому подпрограммы в HAL не могут быть вызваны приложениями напрямую, и никакие API пользовательского режима не соответствуют непосредственно подпрограммам HAL. Вместо этого HAL предоставляет услуги главным образом исполнительной системе и ядру Windows, а также драйверам устройств режима ядра. Хотя драйверы для большинства оборудования содержатся в других файлах, обычно с типом файла .sys , некоторые драйверы ядра скомпилированы в hal.dll .

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

В системах x86 на установочном носителе есть несколько разных файлов HAL. Процедура установки Windows определяет, какие из них подходят для текущей платформы, и копирует их на жесткий диск, при необходимости переименовывая в hal.dll . Среди критериев для этого выбора: наличие ACPI -совместимой BIOS, наличие APIC , а также наличие и включение нескольких процессоров. (Несколько ядер многоядерного ЦП и даже «логические процессоры», реализованные гиперпоточным ЦП, все считаются «процессорами» для этой цели.) На На платформах x86-64 и Itanium существует только один возможный hal.dll для каждой архитектуры ЦП.

NTDLL.DLL

NTDLL.DLL экспортирует Windows Native API . Собственный API — это интерфейс, используемый компонентами пользовательского режима операционной системы, которые должны работать без поддержки со стороны Win32 или других подсистем API. Большая часть этого API реализована в NTDLL.DLL и на верхнем краю ntoskrnl.exe (и его вариантов), и большинство экспортируемых символов в этих библиотеках имеют префикс Nt , например NtDisplayString . Собственные API-интерфейсы также используются для реализации многих «API-интерфейсов ядра» или «базовых API-интерфейсов», экспортируемых KERNEL32.DLL. Подавляющее большинство приложений Windows не вызывают NTDLL.DLL напрямую.

Утверждается, что приложения, которые связаны непосредственно с этой библиотекой, используют собственную подсистему ; основная причина их существования — выполнение задач, которые должны выполняться в начале последовательности загрузки системы, прежде чем подсистема Win32 станет доступной. Очевидным, но важным примером является создание процесса подсистемы Win32, csrss.exe . До того, как существует процесс csrss.exe, никакие процессы Win32 не могут быть созданы, поэтому процесс, который его создает (Smss.exe, «диспетчер сеанса»), должен использовать собственную подсистему. Сам csrss.exe является таким приложением.

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

В отличие от приложений Win32 , собственные приложения создают экземпляры внутри кода среды выполнения ядра (ntoskrnl.exe ), поэтому у них должна быть другая точка входа (NtProcessStartup , а не (w) (Win) MainCRTStartup , как в приложении Win32), получить их аргументы командной строки через указатель на структуру в памяти, управлять собственной памятью с помощью API кучи Rtl (API кучи Win32 являются просто оболочками — никакой реальной разницы в этом нет) и возвращать выполнение с вызовом NtTerminateProcess (в отличие от ExitProcess ). Общей библиотекой, связанной с собственными приложениями, является nt.lib, которая содержит код запуска для собственных приложений, аналогично тому, как среда выполнения C предоставляет код запуска для приложений Win32.

Читайте также:  Screensavers on linux mint

Хотя большая часть API не документирована, собственные приложения могут быть построенным с использованием Windows Driver Development Kit ; многие антивирусное программное обеспечение и другие поставщики служебных программ включают собственные приложения в свои продукты, обычно для выполнения некоторых задач во время загрузки, которые невозможно выполнить в пользовательском пространстве .

Win32 API

Каждая из библиотек в этом разделе реализует различные подмножества Win32 API.

KERNEL32.DLL

KERNEL32.DLL предоставляет приложениям доступ к большинству базовых API Win32, таких как управление памятью , ввод / вывод (I / O) операции, процесс и поток создание и функции синхронизации. Многие из них реализованы в KERNEL32.DLL путем вызова соответствующих функций в родном API , предоставляемом NTDLL.DLL.

GDI32.DLL

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

Первоначально GDI поддерживал 16 и 256 цветов EGA / VGA видеокарты и монохромные принтеры. Функциональность расширилась с годами и теперь включает поддержку таких вещей, как шрифты TrueType , альфа-каналы и несколько мониторов .

USER32.DLL

USER32. DLL реализует компонент ПОЛЬЗОВАТЕЛЯ Windows, который создает стандартные элементы пользовательского интерфейса Windows, такие как рабочий стол, окна и меню, и управляет ими. Таким образом, это позволяет программам реализовывать графический пользовательский интерфейс (GUI) , который соответствует внешнему виду Windows. Программы вызывают функции из Windows USER для выполнения таких операций, как создание окон и управление ими, получение оконных сообщений (которые в основном представляют собой вводимые пользователем данные, такие как события мыши и клавиатуры, но также и уведомления от операционной системы), отображение текста в окне и отображение сообщений. коробки.

Многие функции в USER32.DLL вызывают функции GDI, экспортированные GDI32.DLL, чтобы выполнить фактическую визуализацию различных элементов пользовательского интерфейса. Некоторые типы программ также будут вызывать функции GDI напрямую для выполнения операций рисования нижнего уровня в окне, ранее созданном с помощью функций USER32.

COMCTL32.DLL

COMCTL32.DLL реализует широкий спектр стандартных элементов управления Windows, таких как диалоговые окна «Открыть файл», «Сохранить» и «Сохранить как», индикаторы выполнения и представления списков. Он вызывает функции из USER32.DLL и GDI32.DLL для создания и управления окнами для этих элементов пользовательского интерфейса, размещения в них различных графических элементов и сбора пользовательского ввода.

COMDLG32.DLL

COMDLG32.DLL , библиотека общих диалоговых окон, реализует широкий спектр диалоговых окон Windows, предназначенных для выполнения того, что Microsoft считает «общими прикладными задачами». Начиная с выпуска Windows Vista, Microsoft считает, что диалоговые окна «Открыть» и «Сохранить как», предоставляемые этой библиотекой, не рекомендуются и заменяются «API диалога общих элементов».

WS2_32.DLL

WS2_32.DLL реализует Winsock API, который предоставляет сетевые функции TCP / IP и обеспечивает частичную несовместимость с другими сетевыми API. wsock.dll и wsock32.dll — более старые версии для совместимости с Win3.11 и Win95.

ADVAPI32.DLL

ADVAPI32.DLL предоставляет вызовы безопасности и функции для управления реестром Windows .

NETAPI32.DLL

NETAPI32.DLL предоставляет функции для запросов и управление сетевыми интерфейсами.

OLE32.DLL

другие API

SHSCRAP.DLL

SHSCRAP.DLL является частью механизма связывания и внедрения объектов (OLE) . В нем реализована поддержка файлов обрезков оболочки , которые автоматически создаются при перетаскивании выбранного содержимого из OLE-совместимого приложения в окно проводника или рабочий стол, но вы также можете использовать Object Packager создать их. Затем их можно перетащить в другое приложение с поддержкой OLE.

Эта функция была удалена из Windows Vista (и, следовательно, более поздних версий), чтобы повысить безопасность и избавить операционную систему от обычно неиспользуемых функций. Файлы записки (.shs) использовались вирусами, потому что они могут содержать широкий спектр файлов (включая исполняемый код), а расширение файла не отображается, даже если параметр «Скрывать расширения файлов из известных типов файлов» отключен. Функциональность может быть восстановлена ​​путем копирования записей реестра и DLL из системы Windows XP .

WINMM.DLL

WINMM.DLL предоставляет доступ к исходному аудио API WinMM .

IMM32.DLL

IMM32 отвечает за вызов и взаимодействие с редактором метода ввода .

библиотеки времени выполнения

MSVCRT.DLL, MSVCP * .DLL и CRTDLL.DLL

MSVCRT.DLL — это стандартная библиотека C для компилятора Visual C ++ (MSVC) с версии 4.2 до 6.0. Он предоставляет программы, скомпилированные этими версиями MSVC, с большинством стандартных функций библиотеки C. К ним относятся манипуляции со строками, выделение памяти, вызовы ввода / вывода в стиле C и другие. MSVCP * .DLL — соответствующая библиотека C ++.

Он поставляется с версиями Windows, начиная с Windows 95 OSR2.5, для использования другими компонентами Windows; более ранние версии поставлялись с библиотекой CRTDLL.DLL . В более старых версиях Windows программы, связанные с MSVCRT.DLL, должны были установить совместимую копию в папке System32, но это способствовало возникновению DLL Hell , потому что многие установщики не смогли проверить версию библиотеки на соответствие установленной версии. перед заменой.

Версии MSVC до 4.0 и от 7.0 до 13.0 использовали разные имена DLL для каждой версии (MSVCR20.DLL, MSVCR70.DLL, MSVCR71.DLL, MSVCP110.DLL и т. Д.). Для установки соответствующей версии требуются приложения, и Microsoft предлагает для этой цели пакеты Visual C ++ Redistributable , хотя в Windows обычно уже установлена ​​одна версия.

Читайте также:  Патч ттл для windows

В версии 14.0 большая часть среды выполнения C / C ++ была перенесена в новую DLL, UCRTBASE.DLL. Однако программы C / C ++, использующие UCRTBASE.DLL, вынуждены связываться с другой новой DLL, VCRuntime, имя которой продолжает изменяться с каждой версией MSVC (например, VCRUNTIME140.DLL).

Исходный код для библиотек времени выполнения включен в Visual C ++ для справки и отладки (например, в C: \ Program Files \ Microsoft Visual Studio 11.0 \ VC \ crt \ src ). Теперь код доступен на GitHub .

Эта библиотека времени выполнения используется программами, написанными на Visual C ++ и некоторых других компиляторах (например, MinGW ). Некоторые компиляторы имеют свои собственные библиотеки времени выполнения.

Что такое system libraries

Библиоте́ка (от англ. library ) в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО).

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

Термин «библиотека подпрограмм», по всей видимости, одними из первых упомянули Уилкс М., Уиллер Д., Гилл С. в качестве одной из форм организации вычислений на компьютере [1] [2] . Исходя из изложенного в их книге, под библиотекой понимался набор «коротких, заранее заготовленных программ для отдельных, часто встречающихся (стандартных) вычислительных операций» [3] .

Содержание

Библиотеки для компилируемых языков [ править | править код ]

Динамические библиотеки [ править | править код ]

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

Расширения файлов динамических библиотек в разных ОС.

Расширение ОС Расшифровка Примечание
so UNIX англ. shared object
dylib Mac OS англ. dynamic library
library AmigaOS Хранятся в логическом томе Libs:
dll Microsoft Windows, OS/2 англ. dynamic link library

В зависимости от назначения различают:

  • библиотеки, используемые одной программой и содержащие критические для работы программы функции. Недостаток: при отсутствии библиотеки программа не сможет работать;
  • библиотеки, используемые одной программой и содержащие дополнительные функции. Например, библиотеки плагинов используются для расширения функциональности программы;
  • библиотеки общего пользования (англ. shared library ). Содержат функции, используемые несколькими программами. Могут загружаться в адресное пространство ОС (англ. system library ) для экономии памяти: одна копия библиотеки будет использоваться несколькими процессами.

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

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

Статические библиотеки [ править | править код ]

Статическая библиотека — файл с исходным кодом или объектный файл, предназначенный для вставки в программу на этапе компоновки.

Библиотеки, распространяемые в виде исходного кода, преобразуются компилятором в объектные файлы. Затем компоновщик соединяет объектные файлы библиотек и объектные файлы вашей программы в один исполняемый файл.

Например, в исходных текстах распространяются:

  • библиотеки для языка Fortran;
  • библиотека Boost для языка C++.

Библиотеки, распространяемые в виде объектных файлов, уже готовы к компоновке. Компоновщик выполняет соединение объектных файлов библиотек и объектных файлов вашей программы во время создания исполняемого файла.

Расширения объектных файлов статических библиотек в разных ОС.

Расширение ОС
« a » UNIX
« lib » Microsoft Windows

Стандартные библиотеки многих компилируемых языков программирования (Fortran, Pascal, C, C++ и других) распространяются в виде объектных файлов.

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

Библиотеки для интерпретируемых языков [ править | править код ]

Библиотека — файл, содержащий либо код на интерпретируемом языке, либо байт-код для виртуальной машины.

Например, библиотеки для языка Python могут распространяться либо в виде файлов с исходным кодом (расширение « py »), либо в виде файлов с байт-кодом [4] (расширение « pyc », буква «c» от англ. compiled ).

См. также [ править | править код ]

Примечания [ править | править код ]

  1. Wilkes M. V., Wheeler D. J., Gill S. Preparation of programs for an electronic digital computer. — Addison-Wesley, 1951.
  2. ↑ Уилкс М., Уиллер Д., Гилл С. «Составление программ для электронных счётных машин». Издательство иностранной литературы, 1953
  3. ↑Волченскова, Надежда Ивановна, Технология многомашинной реализации и жизнеобеспечения библиотек подпрограмм вычислительной математики на языке Фортран, автореферат к диссертации, 1984
  4. ↑Компиляция файлов python. Документация языка Python на сайте docs.python.org.

Литература [ править | править код ]

Николай Джосьютис. C++ Стандартная библиотека. Для профессионалов = The C++ Standart Library. A Tutorial and Reference. — СПб. : Питер, 2004. — 730 с. — ISBN 5-94723-635-4.

Англо-русский словарь по вычислительной технике и информационным технологиям – 4-е изд. . Сергей Орлов .

Смотреть что такое «system library» в других словарях:

system library — sisteminė biblioteka statusas T sritis automatika atitikmenys: angl. system library vok. Systembibliothek, f rus. библиотека системных программ, f; системная библиотека, f pranc. bibliothèque de système, f … Automatikos terminų žodynas

Читайте также:  Установить гимп для линукс

Library of Congress — For the 1945 documentary film, see Library of Congress (film). Library of Congress … Wikipedia

Library science — is an interdisciplinary science incorporating the humanities, law and applied science to study topics related to libraries, the collection, organization, and dissemination of information resources, and the political economy of information.… … Wikipedia

Library and Archives Canada — building in Ottawa, Ontario, Canada. Type National Library and National Archives Established … Wikipedia

System Center Virtual Machine Manager — Developer(s) Microsoft Corporation Stable release SCVMM 2008 R2 / 2010 Development status Released Operating system Windows Server 2008 R2 … Wikipedia

System software — is any computer software which manages and controls computer hardware so that application software can perform a task. Operating systems, such as Microsoft Windows, Mac OS X or Linux, are prominent examples of system software. System software… … Wikipedia

System Simulation Ltd — System Simulation (SSL) is a software engineering company specialising in text and multimedia information systems, based in Covent Garden, central London, England, and founded in 1970. [ [http://www.alacrastore.com/storecontent/bir/865873 System… … Wikipedia

Library@esplanade — (Chinese: 滨海表演艺术图书馆) is a public library managed by Singapore s National Library Board. It is located on the third floor of Esplanade Theatres on the Bay at Marina Centre, sited within Singapore s Downtown Core. library@esplanade is Singapore s… … Wikipedia

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

Api-ms-win-crt-runtime-l1-1-0.dll v.1.1.0

В Windows 7, 8 и 10 существует специальная библиотека “api-ms-win-crt-runtime-l1-1-0.dll” которая является одной из ключевых, без которой попросту не смогут работать другие динамические библиотеки.

Microsoft Silverlight v.5.1

Microsoft Silverlight – программная платформа, предназначенная для запуска в современных интернет приложениях, очень схожее с Adobe Flash, позволяющая воспроизводить и просматривать мультимедийные мат.

Microsoft XNA Framework Redistributable v.4.0

Microsoft XNA Framework Redistributable – Набор необходимых библиотек и классов для разработки и запуски игр в операционной системе Windows, на текущий момент не используется в современных играх, но д.

OpenAL v.2.0.7.0

OpenAL – это бесплатное программное приложение, созданное в рамках программного обеспечения и доступное Creative Labs для Windows.

RuntimePack v.19.6.5

RuntimePack – Это сторонняя сборка всех необходимых для Windows компонентов и DLL библиотек. В нее входят такие пакеты как Microsoft Visual C++, OpenAL, NET Framework, NVIDIA PhysX, DirectX, Java Plat.

All in One Runtimes v.2.4.7

All in One Runtimes – это программное обеспечение, устанавливающее самые необходимые системные компоненты, библиотеки, в операционной системе Windows. Благодаря этому вы можете значительно сэкономить .

Microsoft Visual C++ Redistributable Package v.14.20

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

Microsoft .NET Framework v.4.8

Пакет .NET Framework 4.8 распространяется бесплатно, и более ранние его версии уж включены в операционную систему по умолчанию.

Microsoft .NET Framework v.3.0

.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных .

Microsoft .NET Framework v.2.0

.NET Framework 2.0 – Это программная среда, необходимый компонент для работы приложений разработанных с этой самой среде, и которые попросту не смогут запуститься в Windows.

Botmek – это популярный макросный эмулятор клавиатуры и мышки, обладающей массой полезных технически.

PhpStorm – это комплексная интегрированная среда разработки, основанная на платформе IntelliJ IDEA.

Easeus Todo Backup

Easeus ToDo Backup Free – это профессиональный инструмент, который поможет защитить важные файлы, п.

В Windows 7, 8 и 10 существует специальная библиотека “api-ms-win-crt-runtime-l1-1-0.dll” которая яв.

FBackup — простая программа для резервного копирования файлов, содержащих важную информацию. Она поз.

Paragon Backup & Recovery

Paragon Backup & Recovery – это мощный инструмент для создания резервных копий и восстановления данн.

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

Disk2vhd – Простой бесплатный инструмент, который позволяет без труда создать и перенести установлен.

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

Opera – это универсальный и быстрый веб-браузер для windows компьютеров и других операционных систем.

Brave Browser – это современный бесплатный веб-браузер, с упором на защиту конфиденциальности при се.

Mozilla Firefox Quantum

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

Mozilla Firefox browser

Mozilla Firefox (огненный лис) – Это бесплатный веб браузер «открытого» сообщества представлен для в.

Viber (Вайбер) на PC компьютер Windows 7, 8, 10. Скачайте последнюю версию мессенджера Вайбер для ко.

Google Chrome (Гугл Хром) – это совершенно бесплатный браузер с открытым исходным кодом, созданный к.

Яндекс Браузер – Современный веб браузер, от одноименной Российской АйТи компании, представленный ещ.

Оцените статью