Узнаем сокет процессора: разбирая и не разбирая компьютер
Содержание:
- Интерфейсы двух производителей
- Принципы сокетов¶
- LGA 2011
- Порты
- Производители материнских плат: кто есть кто
- Как узнать, какой сокет у процессора
- Почему они все разные
- Номер socket
- Сокет: что это такое, его значение для функционирования ПК
- SELECT
- Как правильно установить процессор
- Классификация сокетов
- Сокеты Intel
- Как определить сокет на процессоре
- LGA 1151
- Пример использования локальных сокетов
- Чем сокеты отличаются друг от друга?
- Краткая справка о сокетах
- Что такое материнская плата компьютера — зачем она нужна
Интерфейсы двух производителей
Существуют два производителя CPU для компьютеров – Intel и Amd, многим известно. Эти компании между собой конкурируют. Кто из них лучше, обсудим в статье «Выбираем между производителями Amd или Intel», так что подписывайтесь на обновления, чтобы ничего не пропустить.
У этих компаний имеются разные типы процессорных интерфейсов с разным наименованием и разным количеством контактов, пример представлен ниже.
Socket‘s у компании Intel:
Название | В описаниях | Год появления |
T | LGA 775 | 2004 г. |
H | LGA 1156 | 2009 г. |
H2 | LGA 1155 | 2011 г. |
H3 | LGA 1150 | 2013 г. |
H3 | LGA 1151 | 2015 г. |
R4 | LGA 2066 | 2017 г. |
H3 | LGA 1151v2 | 2017 г. |
В нынешнее время Socket T или H3 не указывают в характеристиках, вместо этого они обозначены, например, как Socket 775 или 1151 и т.д. Количество контактов указано цифрой после “LGA”.
Socket‘s у компании Amd:
Название | Контактов | Год появления |
AM2 | 940 | 2006 г. |
AM2+ | 940 | 2007 г. |
AM3 | 938 | 2009 г. |
AM3+ | 942 | 2011 г. |
FM2 | 904 | 2012 г. |
FM2+ | 904 | 2014 г. |
AM4 | 1331 | 2016 г. |
TR4 | 4094 | 2017 г. |
У них наименование в характеристиках не изменилось. FM2 или AM3+ как был, так и остался.
Конечно видов много. Но нам главное с вами знать, как их подбирать друг к другу, для того чтобы не наделать великих дел (ошибок).
Принципы сокетов¶
Каждый процесс может создать слушающий сокет (серверный сокет) и привязать его
к какому-нибудь порту операционной системы (в UNIX непривилегированные
процессы не могут использовать порты меньше 1024). Слушающий процесс обычно
находится в цикле ожидания, то есть просыпается при появлении нового
соединения. При этом сохраняется возможность проверить наличие соединений на
данный момент, установить тайм-аут для операции и т.д.
Каждый сокет имеет свой адрес. ОС семейства UNIX могут поддерживать много
типов адресов, но обязательными являются INET-адрес и UNIX-адрес. Если
привязать сокет к UNIX-адресу, то будет создан специальный файл (файл сокета)
по заданному пути, через который смогут сообщаться любые локальные процессы
путём чтения/записи из него (см. Доменный сокет Unix). Сокеты типа INET
доступны из сети и требуют выделения номера порта.
LGA 2011
Сокет LGA 2011 был выпущен в 2011 году после LGA 1155 в качестве сокета для процессоров высшего класса Sandy Bridge-E/EP и Ivy Bridge E/EP. Гнездо разработано для шести ядерных процессоров и для всех процессоров линейки Xenon. Для домашних пользователей будет актуальной материнская плата X79. Все остальные платы рассчитаны на корпоративных пользователей и процессоры Xenon.
В тестах процессоры Sandy Bridge-E и Ivy Bridge-E показывают довольно неплохие результаты, производительность больше на 10-15%.
Поддерживаемые процессоры:
- Haswell-E Core i7 — 5820K, 5930K, 5960X;
- Ivy Bridge-E Core i7 — 4820K, 4930K, 4960X;
- Sandy Bridge-E Core i7 — 3820, 3930K, 3960X, 3970X.
Это были все современные сокеты процессоров intel.
Порты
Порт определен, чтобы разрешить задачу одновременного взаимодействия с несколькими приложениями. По существу с его помощью расширяется понятие IP-адреса. Компьютер, на котором в одно время выполняется несколько приложений, получая пакет из сети, может идентифицировать целевой процесс, пользуясь уникальным номером порта, определенным при установлении соединения.
Сокет состоит из IP-адреса машины и номера порта, используемого приложением TCP. Поскольку IP-адрес уникален в Интернете, а номера портов уникальны на отдельной машине, номера сокетов также уникальны во всем Интернете. Эта характеристика позволяет процессу общаться через сеть с другим процессом исключительно на основании номера сокета.
За определенными службами номера портов зарезервированы — это широко известные номера портов, например порт 21, использующийся в FTP. Ваше приложение может пользоваться любым номером порта, который не был зарезервирован и пока не занят. Агентство Internet Assigned Numbers Authority (IANA) ведет перечень широко известных номеров портов.
Обычно приложение клиент-сервер, использующее сокеты, состоит из двух разных приложений — клиента, инициирующего соединение с целью (сервером), и сервера, ожидающего соединения от клиента.
Например, на стороне клиента, приложение должно знать адрес цели и номер порта. Отправляя запрос на соединение, клиент пытается установить соединение с сервером:
Если события развиваются удачно, при условии что сервер запущен прежде, чем клиент попытался с ним соединиться, сервер соглашается на соединение. Дав согласие, серверное приложение создает новый сокет для взаимодействия именно с установившим соединение клиентом:
Теперь клиент и сервер могут взаимодействовать между собой, считывая сообщения каждый из своего сокета и, соответственно, записывая сообщения.
Производители материнских плат: кто есть кто
При выборе материнской платы, как это ни странно, необходимо обратить внимание не только на компоновку платы и ее характеристики, но и на ее производителя. На современном рынке имя производителя или бренд, под которым выпускается решение, имеет очень большое значение
Имя — это не просто слово, но и огромный опыт и репутация производителя, а также гарантия качества. Сейчас на рынке материнских плат присутствует большое количество производителей, например:
- ASUS (Тайвань) — крупнейший на данный момент производитель материнских плат для розничного сектора компьютерного рынка. Имя с большой историей. Данный бренд заслуживает доверия, поскольку все выпущенные ASUS решения являются стабильными и качественными продуктами. Единственным минусом является их завышенная стоимость;
- Gigabyte (Тайвань) — второй по величине производитель системных плат в России. Единственный минус, который стоит учесть при рассмотрении материнских плат данного бренда, — это несовершенство ранних разработок. То есть при выходе абсолютно новых плат (например, после выпуска нового чипсета) решения Gigabyte иногда (отнюдь не всегда) оказываются «сырыми» (недоработанными). В ассортименте компании есть платы для бюджетного сектора, мэйнстрим-сегмента и топовые платы премиум-класса;
- MicroStar (MSI) (Тайвань) — еще одна компания из лидеров рынка материнских плат. В широком ассортименте ее продукции каждый пользователь найдет для себя плату. В настоящее время компания переживает период подъема. Решения от MSI уже сейчас составляют конкуренцию платам ASUS и Gigabyte, а иногда оказываются даже гораздо лучше их. Ассортимент решений MSI также охватывает все секторы рынка системных плат;
- EliteGroup (Тайвань) — марка ECS широко представлена на российском рынке самыми разнообразными решениями. Основная область применения материнских плат от ECS — бюджетный сектор. В последнее время компания активно выводит на рынок новую серию плат — Black Series, которая обладает расширенным функционалом по сравнению с классическими решениями компании;
- Foxconn (Тайвань) — также хорошо известный в России производитель. Foxconn в основном специализируется на бюджетном секторе рынка, выпуская одни из самых доступных для пользователей платы. Существенным недостатком плат Foxconn является непредсказуемость их работы. В наших регулярных тестированиях решения компании Foxconn всегда показывают хорошие результаты, иногда даже обгоняя по производительности модели крупных компаний. Однако по личному опыту мы можем сказать, что платы Foxconn, увы, не всегда надежны. В работе многих плат через некоторое время возникают проблемы и сбои, а иногда они и вовсе перестают работать. Функционал плат соответствует бюджетному сектору — никаких излишеств;
- ASRock (Тайвань) — сравнительно молодая компания, которая была организована при поддержке ASUS в 2002 году. Она представлена в бюджетном и мэйнстрим-секторах рынка. Компания отличается от остальных бюджетных производителей наличием в платах расширенного функционала. Кроме того, платы ASRock часто снабжаются поддержкой как памяти DDR2, так и памяти DDR3. Неплохой выбор для бюджетного решения;
- Intel — хорошо известное каждому имя. К сожалению, не по материнским платам. Материнские платы Intel имеют хороший потенциал производительности, выполнены качественно, но зачастую обладают недостаточным функционалом для домашнего ПК.
Мы привели далеко не полный список производителей материнских плат, ограничившись только теми компаниями, с которыми хорошо знакомы и решения которых регулярно тестируем.
Как узнать, какой сокет у процессора
Другая ситуация — подбор материнской платы к имеющемуся процессору. Для уточнения типа сокета также потребуется найти информацию в сети по конкретной модели ЦП. Определить модель здесь также можно двумя способами — либо осмотр процессора, либо при помощи специальной программы.
Определить модель ЦП можно и штатными средствами Windows:
- Кликните правой кнопкой по значку «Мой компьютер», «Компьютер» или «Этот компьютер» (зависит от версии Windows), затем выберите пункт «Свойства».
- Откроется новое окно, в котором следует найти пункт «Процессор».
- Напротив пункта будет указана модель процессора. Например:
В данном случае мы имеем дело с процессором Intel Pentium CPU G645.
Вышеупомянутая утилита AIDA64 может не только определить модель ЦП, но и тип используемого им и сокета (однако на некоторых компьютерах это может не работать):
- Запустите программу, раскройте раздел «Системная плата».
- Откройте вкладку «ЦП».
- Модель процессора расположена напротив поля «Тип ЦП»:
Если программа смогла определить тип сокета, то он будет указан в разделе «Физическая информация о ЦП» напротив пункта «Тип корпуса»:
Пролистав страницу немного ниже до раздела «Спецификации корпуса», можно узнать тип разъема для ЦП Intel Pentium CPU G645:
Почему они все разные
Для начала — немного об устройстве процессора, для лучшего углубления в тему. Как вы уже знаете, ЦП создается на кристалле кремния с помощью специального оборудования. Фактически, это очень сложная микросхема с огромным количеством логических блоков.
Сколько таких блоков получится на дюйм, зависит от техпроцесса, то есть разрешающей способности печатного оборудования. Конструкция процессоров постоянно усложняется, но одновременно и становится совершеннее оборудование, на котором они создаются.
Уменьшение разрешающей способности позволяет на одинаковом по размерам куске кремния создавать больше логических блоков. Наблюдается интересная картина: регулярно растет тактовая частота, количество ядер и прочие параметры ЦП, но их размеры остаются почти одинаковыми — по площади приблизительно как спичечный коробок, только квадратный.
Усложнение конструкции требует и увеличения числа контактов, по которым передаются сигналы на материнскую плату. От расположения логических блоков на кристалле зависит и распиновка. По этой причине некоторые сокеты, которые совместимы физически, не всегда взаимозаменяемы.
Socket определяет не только количество контактов и их распиновку, но и прочие важные параметры: с каким чипсетом будет дружить «камень», какую оперативку поддерживать и на какой частоте, какой кулер можно использовать и т.д. А теперь рассмотрим разъемы, которые, на мой взгляд, заслуживают упоминания.
Номер socket
Обозначается сокет в виде его индекса или цифры (номера); в некоторых случаях, используется устоявшееся условное обозначение или синоним названия. Цифра в наименовании, как правило, указывает на количество применяемых контактов, однако, бывают и исключения.
Например:
- Socket AM3 – это процессорное гнездо под ЦП AMD серии Phenom II. Его другое название Socket 941. Он использует PGA разъём типа PGA-ZIF с 941 контактом. При этом процессор имеет 938 контактов.
- Socket H или LGA 1156 – процессорный разъём для ЦП Intel с ядрами Линфилд и Кларкдейл. Имеет соответственно 1156 контактов.
- Socket G3 (он же FCPGA 946) – разъём для подключения мобильных ЦП Intel к ноутбукам. Имеет PGA-исполнение и 947 контактов.
Рассмотрим теперь, как узнать какой сокет используется на материнке.
Сокет: что это такое, его значение для функционирования ПК
Большинство потребителей при подборе нового компьютера или модернизации старой модели ориентируются на мощные технические параметры процессора, количество ядер, тактовую частоту, что по умолчанию должно предопределять критерии функциональности ПК. Эта позиция является правильной, однако не стопроцентно. Если разобраться в технической стороне работы компьютера, то покупателю устройства придётся столкнуться с фразами «материнская плата» и «сокет». Что такое материнская плата, большинство людей знают или имеют приблизительное представление о её значении для агрегата, однако понятие «сокет» для многих является неизвестным
Слово «сокет» относится к компьютерной области терминологии, деталь выступает важной составляющей ПК. С практической стороны, сокет является разъёмом, устанавливающимся на системную плату, в который вставляется процессор
Сокеты, как и другие компоненты системы, имеют разные характеристики, отличаются предназначеными для работы с определёнными процессорами.
При подборе комплектующих для ПК важно учитывать не только критерии процессора, но и характеристики сокета, устанавливающегося на материнскую плату. Одни уже устарели технически, другие отличаются прекрасными показателями с перспективными возможностями дальнейшего обновления компьютера и подходят для новейших процессоров
Современный рынок предлагает множество разновидностей этого элемента системы. Визуально деталь представляет собой прямоугольную платформу с контактами и фиксатором, на который устанавливается процессор, а также специальными отверстиями для крепления охладительных элементов.
SELECT
Вызов select() получает три битовых набора флагов (чтение, запись, ошибка) размером с максимальное доступное число открытых файловых дескрипторов. Флаг в какой-то позиции означает что мы наблюдаем за соответствующим файловым дескриптором.
Параметр nfds задает номер максимального выставленного флага и служит для оптимизации.
Для манипуляции флагами используется следующие функции, которые позволяют очистить набор флагов, установить флаг, сбросить флаг, проверить состояние флага:
При изменении состояния каких-либо интересующего нас файловых дескрипторов select() сбрасывает все флаги и выставляет те, которые обозначают, какие события и на каких файловых дескрипторах произошли. Возвращается значение, указывающее сколько флагов возвращено. Если событий не было и возврат из select() произошёл по таймауту, все наборы флагов обнуляются и возвращается ноль.
В случае ошибки возвращается -1. Значение флагов не определено.
Таймаут задаётся структурой timeval, содержащей секунды и микросекунды
Поскольку вызов sleep() работает с точностью до секунды, то для приостановки процесса на более короткие промежутки времени часто используют select() с указателями NULL вместо указателей на флаги.
Как правильно установить процессор
Вот несколько полезных советов по установке процессора в сокет:
- В большинстве описаний материнских плат и процессоров указаны поддерживаемые сокеты.
- Никогда не нажимайте на процессор при вставке в сокет.
- Используйте любые маркеры на процессоре и сокете, чтобы лучше ориентировать и выравнивать компонент.
- Большинство разъемов имеют прилагаемый кронштейн, который можно использовать для поднятия и опускания кронштейна для обеспечения безопасности процессора.
- Процессорные кулеры могут поставляться с несколькими кронштейнами для поддержки более чем одного сокета.
- Обязательно удалите и очистите старую термопасту, прежде чем наносить её заново.
- Перед покупкой проверьте, сколько слотов PCIe есть у материнской платы (например, для графических процессоров).
- Никогда не выбрасывайте пластиковую крышку разъема процессора.
Классификация сокетов
Stream
Поток байтов без разделения на записи, подобный чтению-записи в файл или каналам в Unix. Процесс, читающий из сокета, не знает, какими порциями производилась запись в сокет пишущим процессом. Данные никогда не теряются и не перемешиваются.
- Непрерывный поток байтов
- Упорядоченный приём данных
- Надёжная доставка данных
Datagram
Передача записей ограниченной длины. Записи на уровне интерфейса сокетов никак не связанны между собой. Отправка записей описывается фразой: «отправил и забыл». Принимающий процесс получает записи по отдельности в непредсказуемом порядке или не получает вовсе.
- Деление потока данных на отдельные записи
- Неупорядоченный приём записей
- Возможна потеря записей
Sequential packets
Надёжная упорядоченная передача с делением на записи. Использовался в Sequence Packet Protocol для Xerox Network Systems. Не реализован в TCP/IP, но может быть имитирован в TCP через Urgent Pointer.
- Деление потока данных на отдельные записи
- Упорядоченная передача данных
- Надёжная доставка данных
Raw
Данный тип сокетов предназначен для управление нижележащим сетевым драйвером. В Unix требует администраторских полномочий. Примером использования Raw-сокета является программа , которая отправляет и принимает управляющие пакеты управления сетью — ICMP. Файл /usr/bin/ping в старых версиях Linux имел флаг смены полномочий suid, а в новых версиях — флаги дополнительных полномочий — cap_net_admin и cap_net_raw.
Сокеты Intel
Динамика обновления сокетов для процессоров Intel, на порядок выше, чем у тех же сокетов новых процессоров AMD. В рамках своей предпоследней серии процессоров, появилось целых три новых сокета, причем они полностью несовместимы.
Всё это одновременно и хорошо, и плохо. Хорошо тем, что с частым обновлением сокетов и выпуском под каждую (даже) часть линейки процессоров, мы можем наблюдать увеличение производительности и более специфическую заточку под конкретную модель. А вот жирный минус в том, что довольно тяжело делать апгрейд, когда каждая новая серия процессоров идет под новый сокет, приходится менять не только процессор, но и материнскую плату.
Теперь давайте рассмотрим несколько конкретных сокетов от Интел:
Socket (сокет LGA 2011) – один из новых сокетов для некоторых процессоров Ivy Bridge (Corei7, i5, i3 – 3xxx) Можно отметить, что данный сокет был скорее маркетинговым ходом для встряски рынка и набивки цен (первое время) на процессоры, которые позиционировались под этот сокет. Но все-таки подвижки в производительности можно было заметить. Сейчас же, процессоры под данный сокет упали в цене, чего не скажешь про материнские платы с LGA 2011, они остаются в разы дороже подобных материнских плат, под тот же LGA 1155, который мы рассмотрим чуть ниже.
Socket (сокет LGA 1155, 1156, 1366) – данные сокеты можно условно поместить в одну «пачку», но повторюсь еще раз: они не совместимы, хоть и позиционируются под одну микроархитектуру Sandy Bridge II, просто для разных версий.
Наиболее ходовым оказался сокет 1155, на нем сейчас и построены большинство систем. Для мощных систем и серверных решений на борту с Сorei7 и Xeon, был разработан Socket 1366.
Socket (сокет LGA 775) – эти сокеты уже морально устарели, хотя еще живут во множестве систем, они позиционировались под несколько линеек сразу, таких как Core 2 Duo, Core 2 Quad, Celeron и другие.
Как определить сокет на процессоре
Сокет напрямую зависит от модели процессора. К примеру, если у вас в компьютере стоит вычислительное устройство Intel Pentium 3, то тип его сокета – Socket 370. Все что нам остается – узнать модель процессора. Благо сделать это довольно-таки просто. Необходимо всего лишь:
- На меню Пуск кликнуть ПКМ. Это приведет к появлению выпадающего списка. В нем надо выбрать пункт «Система».
- Это приведет к появлению диалога под названием «Система». Там описана конфигурация компьютера, в том числе и модель процессора.
Зная модель «камня», вы сможете узнать его сокет. Для определения гнезда воспользуйтесь таблицей соответствий (процессор – сокет). Их на просторах Всемирной паутины довольно-таки много (ниже приведен пример).
Запустить программу через свой компьютер. Это приведет к появлению небольшого диалогового окна. В диалоге будут указаны все характеристики вашего процессора. Однако нас интересует сокет
Чтобы узнать его тип обратите внимание на пункт под названием Package. Там описаны параметры сокета
Важно! Узнав сокет процессора, вы, по сути, определили и разъем материнской платы. Он будет таким же, как и у вычислительного прибора
LGA 1151
LGA 1151 — это последний сокет Intel. Он был выпущен в 2015 для поколения процессоров Intel Skylake. Эти процессоры использовали техпроцесс 14 нанометров. Поскольку новые процессоры, Kaby Lake не были сильно изменены, этот сокет остается все еще актуальным. Сокет поддерживается такими материнскими платами: H110, B150, Q150, Q170, H170 и Z170. Выход Kaby Lake принес еще такие платы: B250, Q250, H270, Q270, Z270.
По сравнению с предыдущей версией LGA 1150, здесь появилась поддержка USB 3.0, оптимизирована работа DDR4 и DIMM модулей памяти, добавлена поддержка SATA 3.0. Совместимость с DDR3 была еще сохранена. Из видео, по умолчанию поддерживается DVI, HDMI и DisplayPort, а поддержка VGA может быть добавлена производителями.
Чипы LGA 1151 поддерживают только разгон GPU. Если вы хотите разогнать процессор или память, вам придется выбрать чипсет более высокого класса. Кроме того, была добавлена поддержка Intel Active Management, Trusted Execution, VT-D и Vpro.
В тестах процессоры Skylake показывают лучший результат, чем Sandy Bridge, а новые Kaby Lake еще на несколько процентов быстрее.
Вот процессоры, которые работают на этом сокете на данный момент:
SkyLake:
- Pentium — G4400, G4500, G4520;
- Core i3 — 6100, 6100T, 6300, 6300T, 6320;
- Core i5 — 6400, 6500, 6600, 6600K;
- Core i7 — 6700, 6700K.
Kaby Lake:
- Core i7 7700K, 7700, 7700T
- Core i5 7600K, 7600, 7600T, 7500, 7500T, 7400, 7400T;
- Core i3 7350K, 7320, 7300, 7300T, 7100, 7100T, 7101E, 7101TE;
- Pentium: G4620, G4600, G4600T, G4560, G4560T;
- Celeron G3950, G3930, G3930T.
Пример использования локальных сокетов
В листинге 5.10 представлена программа сервера, в которой создается локальный сокет
и слушает запросы на соединения с сервером. При получении запроса на соединение,
сервер читает текстовые сообщения, передаваемые через соединение и печатает их.
Если одно из этих сообщений — «выход», программа сервера удаляет сокет и завершается.
Программа socket-server предполагает, что путь к сокету передается через параметр
командной строки.
Листинг 5.10 (socket-server.c)
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <sys/un.h> #include <unistd.h> /* Чтение текста из сокета и вывод его на печать. Продолжение цикла до закрытия сокета. * В качестве результата возвратит не ноль, если клиент передал сообщение "quit", иначе 0 */ int server (int client_socket) { while (1) { int length; char* text; /* Сначала из сокета прочитать длину текстого сообщения. Если в качестве результата возвратиться 0, то клиент закрыл соединение */ if (read (client_socket, &ength, sizeof (length)) == 0) return 0; /* выделить место в буфере для хранения текста */ text = (char*) malloc (length); /* Чтение текста и распечатка */ read (client_socket, text, length); printf ("%s\n", text); /* Освободить буфер */ free (text); /* Если от клиента поступило сообщение "quit", завершить работу */ if (!strcmp (text, "quit")) return 1; } } int main (int argc, char* const argv[]) { const char* const socket_name = argv; int socket_fd; struct sockaddr_un name; int client_sent_quit_message; /* Создать сокет */ socket_fd = socket (PF_LOCAL, SOCK_STREAM, 0); /* Определить что это сервер */ name.sun_family = AF_LOCAL; strcpy (name.sun_path, socket_name); bind (socket_fd, &name, SUN_LEN (&name)); /* Слушать (ожидать) соединения */ listen (socket_fd, 5); /* Неоднократно принимать соединения, создавая для каждого клиента server(). Продолжать до получения от клиента сообщения "quit" */ do { struct sockaddr_un client_name; socklen_t client_name_len; int client_socket_fd; /* Принимать соединение */ client_socket_fd = accept (socket_fd, &client_name, &client_name_len); client_sent_quit_message = server (client_socket_fd); /* Закрыть соединение с нашей стороны */ close (client_socket_fd); } while (!client_sent_quit_message); /* Удалить файл сокета */ close (socket_fd); unlink (socket_name); return 0; }
Клиент-программа, представленная в листинге 5.11, соединяется с локальным сокетом
и посылает сообщения. Путь к сокету и сообщения передаtтся через командную строку.
Листинг 5.11(socket-client.c)
#include <stdio.h> #include <string.h> #include <sys/socket.h> #include <sys/un.h> #include <unistd.h> /* Записать TEXT в сокет, переданный дескриптором файла SOCKET_FD */ void write_text (int socket_fd, const char* text) { /* Записать в строку количество байт, включая NUL-терминал */ int length = strlen (text) + 1; write (socket_fd, &length, sizeof (length)); /* Записать строку */ write (socket_fd, text, length); } int main (int argc, char* const argv[]) { const char* const socket_name = argv; const char* const message = argv; int socket_fd; struct sockaddr_un name; /* Создать сокет */ socket_fd = socket (PF_LOCAL, SOCK_STREAM, 0); /* Сохранить имя сервера в адресе сокета */ name.sun_family = AF_LOCAL; strcpy (name.sun_path, socket_name); /* Соединиться с сокетом */ connect (socket_fd, &name, SUN_LEN (&name)); /* Записать текст командной строки в сокет */ write_text (socket_fd, message); close (socket_fd); return 0; }
Перед передачей сообщения, посылается размер сообщения в байтах в качестве переменной length.
Сервер сохраняет размер сообщения, для выделения памяти под сообщение. Чтобы выполнить этот
пример, необходимо запустить сервер-программу в одном окне, определить путь к сокету.
Например, /tmp/socket .
% ./socket-server /tmp/socket
В другом окне запустить клиент-программу несколько раз, опеределяя один и тот же путь
сокета и посылая клиенту сообщение:
% ./socket-client /tmp/socket "Hello, world." % ./socket-client /tmp/socket "This is a test."
Сервер-программа получает и печатает эти сообщения. Для закрытия соединения,
клиент посылает сообщение «quit»:
% ./socket-client /tmp/socket "quit"
Сервер-программа завершена.
Чем сокеты отличаются друг от друга?
Казалось бы, что конструкция электрических разъемов не должна меняться, как, например, в случае с бытовыми розетками. Но в компьютерной индустрии многое меняется быстрыми темпами. Созданный всего пару лет назад сокет уже сегодня может оказаться устаревшим. Основная причина тому — совершенствование центральных процессоров (ЦП).
Например, компанией Intel в 1990-х выпускался сокет по названием «Socket-1». В его конструкции присутствовало 169 электрических контактов для соприкосновения с электрической площадкой ЦП. Со временем процессоры дополнялись все новыми и новыми микроэлектронными компонентами, что увеличивало их производительность. Для работы ЦП требовалось все больше электроэнергии, которую нужно было распределять над большим количеством внутренних компонентов. А для этого было необходимо модернизировать и разъемы, куда процессоры устанавливаются.
Так, начиная с 2015 года компанией Intel стали производится сокеты под названием «LGA 1151». В их конструкции присутствуют не 169, а целый 1151 электрический контакт. Разница огромная.
Кроме увеличения числа контактов, модернизируются и другие компоненты сокетов. В первую очередь, это конструкция самих контактов и способ крепления процессорного кулера.
Краткая справка о сокетах
В современных материнских платах компьютеров форм-фактора ATX, сокет представлен в виде гнезда, внутри которого размещены контакты:
- штыревые — для процессоров intel, штыри размещены в гнезде сокета (слева);
- щелевые — для процессоров AMD контактами выступают щели в сокете. Штыри припаяны к самому ЦП, а при его установке, контакты замыкаются (справа).
Множество разновидностей сокетов — это следствие эволюции микросхемотехники и ее реализации на компьютерной технике. Они отличаются размером, формой, количеством и расположением контактов. Крепления для системы охлаждения также может отличаться, хотя в современности, формат крепления для кулеров и радиаторов AMD не менялся с AM2, а в Intel — с LGA115x . Поэтому, ЦП с одним видом сокета, нельзя установить в материнскую плату с другим.
Если вы апгрейдите компьютер, обращайтесь к профессионалам https://spbsis.ru/service/upgrade-pc.
Распространенными вариантами сокетов являются: LGA 1150, LGA 1151, LGA 1152, LGA 1155, LGA 2011 v3, SocketFM2+, SocketAM3+, SocketAM4. В конце статьи приведу список всех ходовых вариантов сокетов.
Важно! При сборке или модернизации компьютера помните: сокет материнской платы и ЦП должны совпадать. Например, установить ЦП LGA 1151 в материнскую плату с сокетом LGA 1150 не получится.
Что такое материнская плата компьютера — зачем она нужна
В состав персонального компьютера входит множество компонентов, которые обмениваются данными, обрабатывают их и передают пользователю. Каждый узел наделен определенным узкоспециализированным функционалом. Большая часть таких элементов располагается в одной конструктивно законченной системе – материнской плате (материнке).
Примечание
Такая плата носит название системной, представляет собой основу любого компьютера. Можно встретить обозначение МВ – английская аббревиатура от слова «motherboard».
Все компоненты персонального компьютера подключаются к главной плате напрямую, либо с помощью стандартных кабелей. В большинстве моделей системных блоков плата размещена в вертикальном положении. Конструкцию фиксируют к одной из стенок блока.
Определение
Материнская плата является прямоугольным изделием из стеклотекстолита с множеством деталей и разъемов, соединенных с помощью проводящих элементов.
К основным функциям материнской платы относят:
- транспортировка сигналов управления от центрального процессора к различным узлам;
- информационный обмен между процессором и памятью, включая постоянную и оперативную;
- организация устройств долгосрочного хранения данных, включая жесткие диски и другие внешние носители, обеспечение их доступности;
- взаимодействие с внешними устройствами (видеокарты, средства обработки звука, внешняя память, сетевые адаптеры, принтеры);
- обеспечение ввода данных со стороны пользователя или другого ПК;
- функционирование процессора и некоторых внешних устройств за счет обеспечения дополнительного электропитания.
Системная плата представляет собой связующее звено, точнее комплекс из таких звеньев, без которого персональный компьютер не может функционировать. Конструкция включает разъемы для подключения:
- процессора;
- модулей памяти;
- видеокарты;
- звуковой карты;
- любых других устройств, обладающих стандартными интерфейсами материнской платы, включая сетевые адаптеры, устройства обработки видео.
Устройства, с помощью которых осуществляется хранение информации (жесткие диски, BlueRay и др.), подключают к главной плате не напрямую, а с помощью стандартных кабелей. В данное время такие устройства применяют в комплексе с интерфейсом SATA. Также есть подобные разъемы, которые позволяют подключить резервные хранилища информации, находящиеся вне системного блока.
Разные периферийные устройства, включая клавиатуру, мышь, принтер, флешки, подключают к материнке с помощью интерфейса USB. Разъемы такого типа могут располагаться на плате, либо соединяться с ней кабелями. Допускается применение интерфейса PS/2, чтобы обеспечить совместимость материнской платы с определенными модификациями клавиатур и мышей.
Такой разъем расположен на конструкции. Материнки с видеоадаптерами встроенного типа обладают разъемом для подключения к монитору.