ch
Feedback
Computer Science

Computer Science

前往频道在 Telegram

По всем вопросам: @altmainf Уважаемый менеджер: @altaiface

显示更多
7 917
订阅者
-124 小时
-77
-3230
帖子存档
Протокол TCP Используется для обеспечения надёжной доставки данных на транспортном уровне. Его две основные задачи: сегментация данных и адресация приложений Но помимо этого протокол обеспечивает:  ⁃ Надёжную доставку сегментов Каждый сегмент маркируется при помощи порядкового номера. После отправки пакетов, протокол ожидает подтверждения от получателя, где находится порядковый номер следующего сегмента. В случае, если такое подтверждение не получено, отправка автоматически повторяется. После некоторого количества неудачных попыток, TCP считает, что адресат не доступен, и сессия разрывается.  ⁃ Упорядочивание сегментов при получении Иногда получатель может получить сегменты не в том порядке, в котором они отправлялись.В этом случае, TCP автоматически пересоберёт их в нужном порядке, используя всё то же поле порядковых номеров, и передаст после склейки на уровень приложений.  ⁃ Работу с сессиями Перед началом передачи пакетов, когда TCP убеждается в том, что получатель существует и готов принимать данные, тогда открывается сессия. После передачи пакетов, сессия закрывается.  ⁃ Контроль за скоростью передачи Благодаря механизму скользящего окна, TCP может корректировать скорость отправки пакетов в зависимости от возможностей получателя.

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

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

Прямое слияние Боуза-Нельсона Алгоритм Боуза-Нельсона — это сортировочная сеть, а не сортировка. В процессе массив и все его подмассивы делятся пополам и ничто не препятствует тому, чтобы все эти половинки на всех этапах обрабатывались параллельно. Однако можно представить и в виде именно сортировки.  Алгоритм:  1. Массив делится пополам   2. Элементы разбиваются на группы.  3. На первой итерации это двойки элементов (1-й элемент левой половины + 1-й элемент правой половины, 2-й элемент левой половины + 2-й элемент правой половины и т.д.), на второй итерации — четвёрки элементов (1-й и 2-й элементы левой половины + 1-й и 2-й элементы правой половины, 3-й и 4-й элементы левой половины + 3-й и 4-й элементы правой половины и т.д.), на третьей — восьмёрки и т.д.   4. Элементы каждой группы из левой половины являются отсортированным подмассивом, элементы каждой группы из правой половины также являются отсортированным подмассивом.   5. Производим слияние отсортированных подмассивов из предыдущего пункта.   6. Возвращаемся в пункт 1. Цикл продолжается до тех пор, пока размеры групп меньше размера массива.

Как собрать все данные с сайта за один клик? Это быстро делает парсер. Как его создать, узнайте на бесплатном онлайн-интенсив
Как собрать все данные с сайта за один клик? Это быстро делает парсер. Как его создать, узнайте на бесплатном онлайн-интенсиве по Python, который проводит образовательная платформа Skillbox. Подробная программа и регистрация:🔧https://clc.to/herc2g. Каждому зарегистрированному участнику вышлем на почту подборку скриптов на Python, которые пригодятся начинающему разработчику. На интенсиве вы узнаете, как автоматически собирать данные с сайтов и работать с форматами данных JSON, HTML, XML, CSV. С нуля напишете программу, которая будет собирать информацию с сайтов и уведомлять через Telegram. Узнаете о профессии Python-разработчика и карьерных перспективах. Спикер — Михаил Овчинников. 15 лет работает в сфере IT — от стартапов до крупных компаний. Всем, кто дойдёт до конца интенсива, подарим электронную книгу «Человек + машина» Пола Доэрти и Джеймса Уилсона. Подключайтесь к прямым эфирам и используйте возможность получить сертификат на 10 000 рублей на любой курс Skillbox. Встречаемся в прямом эфире 29 сентября в 21:00 по московскому времени!

Отличие сортировок выбором от сортировок вставками Может показаться, что сортировки выбором и сортировки вставками— это одно и то же, общий класс алгоритмов. И там и там мы по очереди из неотсортированной части массива извлекаем элементы и перенаправляем их в отсортированную область. Но главное отличие в том, что в сортировке вставками мы извлекаем из неотсортированной части массива любой элемент и вставляем его на своё место в отсортированной части. В сортировке выбором мы целенаправленно ищем локальный максимум(или минимум), которым дополняем отсортированную часть массива. Во вставках мы ищем куда вставить очередной элемент, а в выборе — мы заранее уже знаем в какое место поставим, но при этом требуется найти элемент, этому месту соответствующий.  Это делает оба класса алгоритмов совершенно отличными друг от друга по своей сути и применяемым методам.

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

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

Не упустите возможность начать карьеру в одной из самых востребованных IT-профессий! На курсе «Профессия Data Scientist PRO»
Не упустите возможность начать карьеру в одной из самых востребованных IT-профессий! На курсе «Профессия Data Scientist PRO» вы: ✅ Изучите одно из 3 востребованных направлений на выбор — дата-аналитику, дата-инженерию или машинное обучение. ✅ Освоите Python, библиотеки для анализа данных и машинного обучения, SQL, Git, научитесь работать с Power BI и другими актуальными для дата-сайентиста инструментами. ✅ Попрактикуетесь на задачах с реальными данными, примете участие в командных проектах и разберёте кейсы. ✅Сможете трудоустроится на позицию Junior во время обучения. ✅ Добавите до 9 проектов в портфолио. ✅ С вами будет работать личный наставник. Он не только укажет на ошибки, но и поможет разобраться в сложных темах и ответит на вопросы.  ✅В период обучения пользователи получают индивидуальную карьерную консультацию, помощь в оформлении резюме и портфолио. ✨ Оставьте заявку на курс сейчас и получите 6 месяцев бесплатного обучения: https://clc.to/u41Jxg

Уровень представления  Шестой уровень модели OSI занимается тем, что представляет данные (которые все еще являются PDU) в понятном человеку и машине виде. В общем и целом осуществляется преобразование форматов данных, например, сжатие и кодирование. Например, когда одно устройство умеет отображать текст только в кодировке ASCII, а другое только в UTF-8, перевод текста из одной кодировки в другую происходит на шестом уровне.

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

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

Архитектура пакетов прикладных программ.  Могут иметь различную архитектуру. Они могут поставляться в виде библиотеки объектных модулей или классов (библиотеки статистики, линейной алгебры). Другой вид пакетов прикладных программ с точки зрения их архитектуры представляется в виде системы программирования. Для какой-то объектной области строится простой язык, способный описывать объекты, отношения и действия в данной предметной области.  Конечно, этот язык должен быть понятен специалистам этой предметной области, а программистские способности пользователей могут быть уже существенно хуже, чем у пользователей библиотек.  Для этого языка строится компилятор, который генерирует программу из библиотеки функций, поддерживающих данную предметную область. Такой способ организации использовался во времена, когда средства визуализации отсутствовали. С развитием средств отображения информации эта архитектура прикладных программ уступила место программным системам.

Сборка загрузочного (исполнимого) модуля Операционная система управляет выполнением программ. Для того, чтобы она могла это делать, необходимо представить программы в определенном формате — в виде загрузочных модулей. Эти модули хранятся в файлах специального вида (в Windows это exe файлы, а в MS DOS .exe или .com). Для создания загрузочных модулей используются системы программирования с различных языков.  В начале есть исходный код - файлы исходных модулей. Далее компилятор обрабатывает эти файлы. В результате образуются файлы объектных модулей и листинг. На следующем шаге выполняется программа компоновщик. Именно она и собирает загрузочный модуль из построенных объектных модулей.

​​Мультипрограммные ОС по типу и областям применения. 

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

Реляционная модель Баз Данных. Элементы данных представлены в виде таблиц. Является наиболее распространенной моделью. К преимуществам реляционной модели можно отнести следующие особенности: - Теоретическая основа. Формально определяет базовые понятия модели, язык описания и операции над отношениями; - Стандартизация. Стандарты SQL-NN (SQL-89, SQL-92, SQL-99 и т д.), имеющие несколько уровней полноты реализации, позволяют создавать приложения, переносимые между СУБД разных поставщиков; - Полное разделение доступа к данным от способа их физической организации; - Универсальность. Информационное моделирование сущностей реального мира в виде набора связанных таблиц является достаточно хорошим подходом в большинстве случаев; - Простота манипуляции данными с точки зрения конечного пользователя; SQL — развитый стандартизованный декларативный язык 4-го поколения. Недостатки: - В общем случае, более низкое быстродействие по сравнению с сетевыми и иерархическими СУБД или другими подходами, обеспечивающими доступ к данным непосредственно на уровне их физической организации, например, индексированные файлы; - Неполнота реализации стандартов SQL-NN, а также специфические языковые и процедурные расширения СУБД разных поставщиков, осложняющие переносимость приложений (так называемый vendor lock); - Необходимость учёта некоторых особенностей модели на концептуальном уровне (ключи — идентификаторы сущностей), отсутствующая, например, в сетевой модели.

Пирамидальная сортировка Пирамидальная сортировка (или сортировка кучей, HeapSort) — это метод сортировки сравнением, основанный на такой структуре данных как двоичная куча. Она похожа на сортировку выбором. Алгоритм пирамидальной сортировки в порядке по возрастанию:  1. Построить max-heap из входных данных  2. На данном этапе самый большой элемент храниться в контре кучи. Заменить его на последний элемент кучи, а затем уменьшить ее размер на 1. Наконец, преобразовать полученное дерево в max-heap с новым корнем.  3. Повторять вышеуказанные шаги, пока размер кучи больше 1. Алгоритм пирамидальной сортировки имеет ограниченное применение, потому что Быстрая сортировка и Сортировка слиянием на практике лучше. Тем не менее, сама структура данных кучи используется довольно часто. Сложность по времени: Худшее время: O(n log n) Среднее время: O(n log n) Лучшее время: O(n log n) или O(n) при одинаковых ключах

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

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