7 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое материнская плата компьютера

Материнская плата (мать, материка, системная плата, главная плата) – это основная плата системного блока. На ней находятся разъемы для подключения всех остальных деталей – видеокарты, оперативной памяти, процессора и др.

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

Сокет. Что и как?

Попросту говоря, сокет ( socket ) – это разъём (гнездо) на материнской плате, куда устанавливается процессор. Но когда мы говорим «сокет процессора», то подразумеваем под этим, как гнездо на материнской плате, так и поддержку данного сокета определенными линейками процессоров. Сокет нужен именно для того, чтобы можно было с легкостью заменить вышедший из строя процессор или апгрейдить систему более производительным процессором.

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

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

Ну а сейчас, мы рассмотрим наиболее популярные сокеты процессоров от amd и intel , опуская сильно устаревшие версии по типу 370-ых сокетов для Pentium III и тому подобных.

В примерах ниже для клиента используется JavaScript, а для сервера — Node.js. Примеры очень просты и вряд ли пригодятся на практике, но зато позволят разобраться в сути.

Веб-сокеты

Вот иллюстрация работы веб-сокетов:

Так как HTTP должен постоянно проверять канал на наличие новых сообщений, можно использовать «грязную» проверку (dirty check) — подход, при котором клиент с заданной периодичностью (допустим, каждые 200 мс) проверяет наличие новых сообщений на сервере.

Чтобы не вникать в XMLHttpRequest, можно использовать библиотеку Axios. Она декларативна и очень понятна.

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

Сначала запустите серверную Java-программу, а затем клиентскую Java-программу (потому что сервер уже должен работать для подключения клиента). Вы увидите Received data: Java Revisited в терминале, где работает клиентская программа. Вот что здесь произошло: серверная программа отправила данные клиенту по запросу, а клиентская программа вывела их на терминал.

В этой статье мы обсудили, что такое сокеты и Java-реализация связи TCP-сокетов.

Программирование сокетов на Java

категория
Java
дата16.07.2009
авторbioflash
голосов86

[Disclaimer: Данная статья была переведена в рамках «Конкурса на лучший перевод статьи» на сервисе Quizful. Ссылка на оригинал находится внизу страницы.]

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

Читать еще:  Dianxin на андроид что это

Что такое сокет?

На сегодняшний день использование клиентов служб мгновенного обмена сообщениями (instant messanger) стало незаменимым средством для всех пользователей Интернета. Существует множество различных протоколов и клиентов (MSN, ICQ, Skype и т. д.), о которых каждый слышал и которые мы все ежедневно используем. Но не все знают, что положено в основу их роботы – собственно для этого статья и написана. Предположим, вы установили один из клиентов служб мгновенного обмена сообщениями на ваш компьютер. После его запуска и введения имени и пароля вашего пользователя, программа пытается подключиться к серверу. Что именно означает слово «подключиться»?

Каждый компьютер в сети имеет IP-адрес. Этот адрес похож на ваш домашний адрес – он однозначно идентифицирует ваш компьютер и позволяет другим общаться с вашим компьютером. Не будем вдаваться в подробности IP-адреса, так как эта статья не о них, хочу только отметить что IP-адрес это набор номеров разделенных точками (например, 64.104.137.158). Хотя существует и другой способ идентификации компьютеров в сети – доменное имя, которое более удобное и нагляднее идентифицирует компьютер, чем простой набор чисел (например, www.quizful.net). В Интернете существуют специальные компьютеры, которые осуществляют преобразование доменного имени в IP-адрес и наоборот.

На одном компьютере может параллельно исполняется несколько программ. Предположим, что вы запустили 10 программ на своем компьютере, и все они ожидают, чтоб другие компьютеры связались с ними. Можете представить себе это так: вас 10 человек в большом офисе с 1 телефоном и все ждут звонков от их собственных клиентов. Как вы это решите? Можно конечно назначить ответственного работника, и он будет приносить телефон соответственному человеку, которому звонят, но тогда другие клиенты не смогут дозвониться к другим людям. Кроме того, это очень трудно и нелепо иметь ответственного работника за маршрутизацию звонков к нужным людям. Вы должно быть, уже догадались, к чему я веду – если все эти программы, исполняющиеся на одном компьютере, с гордостью просят своих клиентов связаться с ними по определенному IP-адресу, то их клиенты не будут довольны. Идея состоит в следующем … иметь отдельный IP-адрес для каждой программы, верно? НЕ ВЕРНО! Суть вопроса не правильная – это также как спрашивать об отдельном офисе для каждого из вас. Ну, тогда … может отдельных телефонных номеров будет достаточно? ДА! На сетевом жаргоне «отдельные телефонные номера» имеют название порты. Порт – это просто число и каждая из программ, которая исполняется на определенном компьютере, может выбрать уникальное число порта, чтоб определить себя для внешнего мира. ЗАПОМНИТЕ – эти порты вы не сможете найти среди аппаратных средств компьютера (даже не старайтесь их искать). Эти числа – логические. Теперь все прояснилось: существует IP-адрес, с помощью которого другие компьютеры могут распознавать определенный компьютер в сети, и порт-число, которое определяет некую программу, работающую на компьютере. Также становиться понятным и то, что две программы на разных компьютерах могут использовать один и тот же порт (два дома на разных улицах тоже могут иметь один и тот самый номер, или нет?). Ну что же, мы практически у цели, только чтоб немного вас попугать, давайте выведем формулу:

Если сложить вместе выше описанные уравнения, то получим:

Если вы догадались до этого сами – значит мои усилия не пропали зря. Если нет, тогда прочитайте еще раз все сначала или воспользуйтесь Google для поиска лучшей статьи.

Подведем итог, сокет – это комбинация IP-адреса и порта. Сокет адрес надает возможность другим компьютерам в сети находить определенную программу, которая исполняется на определенном компьютере. Вы можете отображать сокет адрес вот так 64.104.137.58:80, где 64.104.137.58 – IP-адрес и 80 – порт.

Как программировать с использованием сокетов?

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

1) Одна Джава программа будет пытаться связаться с другой Java программой (которая отчаянно ждет кого-то, чтоб с ней связался). Назовем первую программу Клиентом, а вторую Сервером.

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

3) Серверная программа отсылает клиенту назад тот ;t текст (для того чтоб показать, что она умеет делать даже такое полезное действие).

Читать еще:  64 или 86 разрядная система что лучше

4) Полученный от сервера текст, клиент показывает вам, чтоб показать вам мнение сервера о вас. Приготовились приступить к разработке? Начнем. Отмечу только, что я не буду учить вас программированию на Java с чистого листа, а только объясню код, который относится к сокетам. Создайте 2 новых Джава программы и назовите их Server.java и Client.java. Я привел код ниже, только не пугайтесь, я все объясню.

Теперь скомпилируем код:

Откроем два командных окна (DOS). В одном окне введем:

Обязательно в таком порядке.

Теперь введите строку текста в окне, где запущен клиент, и нажмите кнопку Enter. Наблюдайте за двумя окнами и увидите что случиься. В конце, нажмите Ctrl-C для того чтоб остановить программы.

Объяснение кода работы с сокетами

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

Рассмотрим следующую часть кода сервера:

Класс ServerSocket немного отличается от класса Socket. Класс Socket – это и есть сокет. Главное отличие ServerSocket заключается в том, что он умеет заставлять программу ждать подключений от клиентов. Когда вы его создаете, нужно указывать порт, с которым он будет работать, и вызвать его метод accept(). Этот метод заставляет программу ждать подключений по указанному порту. Исполнение программы зависает в этом месте, пока клиент не подключится. После успешного подключения клиентом, создается нормальный Socket объект, который вы можете использовать для выполнения все существующий операций с сокетом. Заметим также, что этот Socket объект отображает другой конец соединения. Если вы хотите отослать данные клиенту, то вы не можете использовать для этого ваш собственный сокет.

Следующим рассмотрим Socket класс. Вы можете создать Socket объект, указав IP-адрес и порт. Вы можете использовать InetAddress класс для отображения IP-адреса (этот способ более предпочтительный). Для создания InetAddress объекта используйте следующий метод:

Заметим, что в нашей программе мы использовали адрес 127.0.0.1. Это специальный адрес называется адрес замыкания – он просто отображает локальный компьютер. Если вы намерены запустить клиент и сервер на разных компьютерах, тогда нужно использовать соответственный IP-адрес сервера.

После того как мы создали InetAddress, то можно создать Socket:

После создания Socket объекта, можно взять входной и выходной потоки сокета. Входной поток позволит вам читать с сокета, а выходной поток дает возможность писать в сокет.

Следующие строки просто конвертируют потоки в другие типы потоков. После этого нам легче будет работать с String объектами. Этот код ничего не делает с сетью.

Все остальное очень просто – простые манипуляции с объектами потоков (никаких сокетов). Вы можете использовать ваши любимые потоки, вызывать ваши любимые методы, и удостоверяться в передаче данных во второй конец. Если вы не очень осведомлены в использовании потоков, рекомендую вам найти статью о них и прочесть.

Если Вам понравилась статья, проголосуйте за нее

Голосов: 86 Голосовать

Как работают веб-сокеты?

Схема обмена сообщениями при использовании веб-сокетов

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

Веб-сокеты можно использовать, если вы разрабатываете:

  • приложения реального времени;
  • чат-приложения;
  • IoT-приложения;
  • многопользовательские игры.

Виды материнских плат и их производители

Сегодня вы можете увидеть множество системных плат от разных производителей: ASUS, MSI, GIGABYTE, Asrock, Esonic, при этом все они делятся на множество видов. Например, под какой из типов процессоров они ориентированы – AMD, или Intel. Каждый из классов конкурирующих ЦП уникален и требует индивидуальный сокет. У AMD это: AM1, AM3+, АM4, FM2, FM2+. Системные платы, предназначенные для ЦП от Intel имеют разъемы: LGA 1150, LGA 1151, LGA 2011, LGA 2011-3. Еще материнские платы делятся по типу поддерживаемой памяти – DRR3 или DDR4.

Тем не менее самое известное разделение материнок на виды идет по форм-фактору — параметр определяющий площадь платы, а также места крепления и гнезда для снабжения электропитанием. Основные представители: E-ATX, Micro-ATX, Mini-ITX, Mini-STX, Standard-ATX:

  • Standard-ATX — самый распространенный среди пользователей форм-фактор, отлично подходит, для игровых машин и для рабочей системы. Средние размеры — 305/244 миллиметров. Хорошо совместим с большинством типов корпусов. Достаточно объемная площадь снижает вероятность перегрева, поскольку места для остальных деталей больше и им не придется быть зажатыми в ограниченном по размеру корпусе, что положительно сказывается на потоке воздуха между ними. Позволяет установить две видеокарты;
  • Micro-ATX уступают в размерах оригиналу (244/244 миллиметра). У них меньше PCI гнезд. В основном пригодны только для работы, но бывают образцы, подходящие для игр, но их меньше, чем у предыдущего представителя;
  • Mini-ITX — одни из наиболее компактных материнок, имеющие габариты 170/170 миллиметров. Больше годятся, как рабочие и мультимедийные решения, потому что разъем для графической платы может отсутствовать, следовательно, довольствуемся интегрированным вариантом. Гнезд под модули ОЗУ — одна пара;
  • E-ATX — отличное решение геймерам. Присутствует возможность установки сразу нескольких графических ускорителей, а на определенные модели можно поставить даже пару ЦП. Средние размеры 305/272 миллиметров. Также данные модели могут стать хорошим вариантом для серверной машины;
  • Mini-STX — решение для мини-ПК, не подходят для игр, но зато вполне приемлемый вариант для учебы и работы. Гнезд, куда будет установлено графический ускоритель нет, а под ОЗУ только два гнезда. Средний размер 140/147 миллиметров.
Читать еще:  Что значит OC в названии видеокарты

Сокеты Intel

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

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

Теперь давайте рассмотрим несколько конкретных сокетов от Интел:

Socket (сокет LGA 2011) – один из новых сокетов для некоторых процессоров Ivy Bridge ( Core i 7, i 5, i 3 – 3 xxx )
Можно отметить, что данный сокет был скорее маркетинговым ходом для встряски рынка и набивки цен (первое время) на процессоры, которые позиционировались под этот сокет. Но все-таки подвижки в производительности можно было заметить. Сейчас же, процессоры под данный сокет упали в цене, чего не скажешь про материнские платы с LGA 2011, они остаются в разы дороже подобных материнских плат, под тот же LGA 1155, который мы рассмотрим чуть ниже.

Socket (сокет LGA 1155, 1156, 1366) – данн ые сокеты можно условно поместить в одну «пачку» , но повторюсь еще раз: они не совместимы, хоть и позиционируются под одну микроархитектуру Sandy Bridge II , просто для разных версий .

Наиболее ходов ым оказался сокет 1155, на нем сейчас и построены большинство систем. Для мощных систем и серверных решений на борту с С ore i 7 и Xeon , был разработан Socket 1366.

Socket ( сокет LGA 775) – эти сокеты уже морально устарели, хотя еще живут во множестве систем, они позиционировались под несколько линеек сразу, таких как Core 2 Duo , Core 2 Quad , Celeron и другие.

Сокеты AMD

Этот производитель в своих решениях был более консервативен. Между многими сокетами есть совместимость, благодаря устроенным сериям «+». К примеру, сокет АМ3 будет совместимым с АМ3+, в результате для пользователей открываются большие возможности по апгрейду, что является хорошим преимуществом. Однако такое топтание непозволительно для IT-направления.

Некоторые модели сокетов от AMD.

    Socket АМ3 и АМ3+. По специфике эти две модификации являются совместимыми друг с другом. Такие сокеты отлично подойдут для некоторых моделей CPU: Phenom, FX и Athlon 2. Сокеты для мощных процессоров сначала не оправдали ожиданий, однако, после спада цен устроили пользователей ввиду низкой стоимости и хорошей производительности. Эти две модификации сейчас хорошо используются как среди дешёвых систем, так и дорогих, что доказывает хороший уровень практичности этих моделей.

Socket АМ3+

  • Socket АМ2 и АМ2+. Эти модели сейчас являются несколько устаревшими, однако, используются еще во многих системах. Разрабатывались они для CPU: Sempron, Phenom и Athlon.
  • Socket FM1 и FM2. Изначально модификации создавались для процессоров из серии AMD Fusion, однако, впоследствии используются для тех, кто не хочет покупать дискретную карту, но желает иметь интегрированную графику.
  • Таким образом, мы кратко рассмотрели понятие сокета, а также указали его популярные модели для двух процессоров AMD и Intel.

    Ссылка на основную публикацию
    Статьи c упоминанием слов:
    Adblock
    detector