Коллекции

Коллекции — наборы из нескольких значений в программировании.

Для сохранения нескольких объектов

Предназначаются коллекции — они

Бывают разных видов для проектов

На разных языках, но суть одни.

Array

Массив — простейшая коллекция — обычно

Не позволяет численность менять,

Даёт возможность доступа привычно

По индексу — по номеру опять.

List

Коллекция сложнее — это список,

Он позволяет удалять и добавлять

Объекты. Он бывает на массиве

Или на ссылках — как удобней брать.

Stack / LIFO

Стэк — это версия коллекции, где доступ

Возможен лишь со стороны одной:

Только последний элемент в нём может просто

Изъят быть — в этом суть его.

Queue / FIFO

Для постепенной обработки данных

Есть очередь — в ней первый элемент

Вошедший выйдет первым, как ни странно.

На удаление с середины есть запрет.

29-30.09.2018

365-Перезапуск: стихи о программировании

Пять лет назад я провел эксперимент — «Проект 365: по стихотворению в день». В какой-то степени считаю, что этот проект был успешным, так как написать 365 стихотворений у меня все же получилось. Хотя он и был пока издан только самиздатом в электронном виде: https://www.litres.ru/konstantin-vasilevich-rochev/proekt-365/.

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

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

 

Потоки и их переключение
Для параллельной обработки
Задач из одного процесса
Предназначаются потоки —
Им выделяется процессор

Или точнее его время,
На выполнение их кода.
Как на одном ядре работать
Так и на многих они могут.

На выполнение потока
Период небольшой даётся
Ему процессорной работы —
Он квантом времени зовётся.

Когда период истекает,
Поток блокирует диспетчер —
Поток работу прекращает
Скопировав в контекст значенья

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

Своего времени на запуск
И в очереди на процессор
И в очереди ожидания
Других ресурсов для Access-a.
23.09.2018 + 26.09.2018

API
Для управления системой
И получения её данных
Посредством внешних обращений
Написан «Прикладной программный

Интерфейс» — он же API (АПИай).
Он может быть библиотекой,
А может сервис представлять
Собой. Весьма полезно это

Как для деления задачи
Меж подсистемами системы,
Так и для внешней передачи
Для тех, кто пишет в той же теме.
24.09.2018

Страничная организация виртуальной памяти
Чтоб память организовать,
Её ОС делит на страницы —
Их приложениям раздать
Так, чтобы все смогли вместиться,
Одна из основных задач.

Для расширения границ
Доступной памяти Система
Часть данных выгрузить на диск
Способна в виртуальной схеме
Организации страниц.

При этом даже среди тех
Процессов, что уже активны
Бывает часто, что не все
Их данные в оперативной
Текущей памяти вполне
25.09.2018

Размещены. Так часть страниц
Находится на жёстком диске —
При обращении к таким
Произойдет «отказ страницы», (Page Fault)
И выполнение прекратит

Процесс, чтоб дать ей загрузиться,
И после этого ещё раз
Он к тем же данным обратится,
Чтоб выполнение продолжить,
Когда загрузка завершится.
26.09.2018