#вводвывод — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #вводвывод, aggregated by home.social.
-
Операции ввода-вывода в Python
Все мы пользуемся различными приложениями для разных целей. Банковские приложения для операций с денежными средствами, мессенджеры для общения. Они принимают внутрь себя команду от человека и возвращают ответ. Банальный запрос ответ, но это так кажется с первого взгляда. Эти операции называются Input Output и они является самой распространённой операцией в сети. Предлагаю сегодня разобраться как они работают.
https://habr.com/ru/articles/928694/
#http #dns #вводвывод #сокеты #сетевые_протоколы #сетевые_технологии
-
Эволюция Redis в Valkey 8.0: разбираем архитектурные изменения с точки зрения производительности
В сентябре 2024 года вышел релиз Valkey 8.0 — это key-value-хранилище также часто называют BSD-клоном Redis. В отличие от Redis, Valkey изначально создавался как опенсорс-проект. У него нет энтерпрайз-версии, а значит, развитие не сдерживается коммерческими ограничениями. Весной 2024 года, когда началась активная работа над форком, команда разработчиков смогла принять и стабилизировать ряд патчей, которые заметно улучшили производительность по сравнению с Redis 7.2. В этой статье Евгений Дюков, разработчик Managed Databases в Yandex Cloud, разбирает некоторые из изменений и делится результатами проведённых бенчмарков, которые позволяют оценить, как именно новые патчи повлияли на производительность — и в позитивном, и, в некоторых случаях, в негативном ключе. Особенно интересно будет тем, кто ждёт релиз Valkey 8.1 этой весной.
https://habr.com/ru/companies/oleg-bunin/articles/893680/
#valkey #redis #производительность #вводвывод #структуры_данных #хранение_информации #хеширование #lzf #субд #io_потоки
-
[Перевод] Операционная система в 1 000 строках кода (часть 5)
Это завершающая часть проекта по написанию собственно ОС. Здесь мы реализуем дисковый ввод/вывод и файловую систему, а также вкратце подведём итоги и наметим дальнейшие шаги на пути доработки системы. ▍ Навигация по частям Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 < — вы здесь
https://habr.com/ru/companies/ruvds/articles/878196/
#ruvds_перевод #программирование #операционные_системы #разработка_ядра #unix #linux #вводвывод #файловая_система #virtio
-
[Перевод] Я решил, что обнаружил баг…
Я работал над совершенствованием эмулятора DOS и внезапно обнаружил, что достаточно тривиальная операция работает неправильно. Когда просишь COMMAND.COM сделать следующее: echo AB> foo.txt
echo CD>> foo.txt то вместо ABCD в файл foo.txt записывается ABBC. Я проверил и убедился, что fwrite() действительно передаются правильные данные, но хитрость в том, что действия COMMAND.COM не так просты, как можно подумать: Открываем foo.txt Записываем «AB» Закрываем foo.txt Открываем foo.txt Выполняем поиск на один байт назад от конца файла Считываем один байт Записываем «CD» Закрываем foo.txt Такая сложность нужна, потому что COMMAND.COM хочет учесть случай, когда файл заканчивается символом Ctrl-Z (в нашем случае его нет): в этом случае Ctrl-Z необходимо удалить. Почему-то последовательность «поиск-чтение-запись» работала странно. Но почему?https://habr.com/ru/companies/ruvds/articles/873296/
#fopen #работа_с_файлами #вводвывод #bsd #unix #стандарты #ruvds_перевод
-
[Перевод] Асинхронный Rust в трех частях. Часть третья: IO
Конечно, async/await были придуманы не для сна. Нашей целью с самого начала был ввод‑вывод (I/O), а в особенности сетевой ввод‑вывод. Вооружившись futures и задачами, теперь мы можем перейти к реальным примерам.
https://habr.com/ru/companies/beget/articles/855136/
#io #вводвывод #async/await #rust
-
[Перевод] Xv6: учебная Unix-подобная ОС. Глава 5. Прерывания и драйверы устройств
Драйвер управляет устройством - настраивает, отправляет команды, обрабатывает прерывания и общается с процессами, которые ожидают завершения ввода-вывода. Код драйвера зависит от конкретного устройства, поэтому изучайте документацию на устройство, чтобы понять код драйвера. Устройство прерывает процессор, когда требует внимания. Обработчик прерывания опознает устройство и вызовет процедуру драйвера. В xv6 это делает процедура devintr . Файл kernel/console.c содержит код драйвера терминала. Драйвер обрабатывает символы из последовательного порта UART на RISC-V, которые человек вводит на клавиатуре. QEMU эмулирует микросхему 16550 UART и подключает клавиатуру и экран к UART. На реальном компьютере 16550 управляет портом RS232 , который работает с терминалом или другим компьютером. Драйвер накапливает символы в кольцевом буфере cons.buf . Индекс cons.r указывает на первый символ, который прочтет функция consoleread . Буфер хранит строки символов, а индекс cons.w указывает на начало последней строки, которую еще вводит человек. Индекс cons.e указывает позицию курсора в последней строке для ввода следующего символа.
https://habr.com/ru/articles/795735/
#xv6 #прерывания #драйвер #операционная_система #асинхронность #вводвывод #uart #riscv #unix #терминал
-
[Перевод] Xv6: учебная Unix-подобная ОС. Глава 5. Прерывания и драйверы устройств
Драйвер управляет устройством - настраивает, отправляет команды, обрабатывает прерывания и общается с процессами, которые ожидают завершения ввода-вывода. Код драйвера зависит от конкретного устройства, поэтому изучайте документацию на устройство, чтобы понять код драйвера. Устройство прерывает процессор, когда требует внимания. Обработчик прерывания опознает устройство и вызовет процедуру драйвера. В xv6 это делает процедура devintr . Файл kernel/console.c содержит код драйвера терминала. Драйвер обрабатывает символы из последовательного порта UART на RISC-V, которые человек вводит на клавиатуре. QEMU эмулирует микросхему 16550 UART и подключает клавиатуру и экран к UART. На реальном компьютере 16550 управляет портом RS232 , который работает с терминалом или другим компьютером. Драйвер накапливает символы в кольцевом буфере cons.buf . Индекс cons.r указывает на первый символ, который прочтет функция consoleread . Буфер хранит строки символов, а индекс cons.w указывает на начало последней строки, которую еще вводит человек. Индекс cons.e указывает позицию курсора в последней строке для ввода следующего символа.
https://habr.com/ru/articles/795735/
#xv6 #прерывания #драйвер #операционная_система #асинхронность #вводвывод #uart #riscv #unix #терминал
-
[Перевод] Xv6 Глава 1: Интерфейсы операционной системы
Эта книга рассказывает о принципах работы операционных систем на примере xv6. Операционная система xv6 реализует базовый интерфейс, который Кен Томпсон и Деннис Ритчи предложили в операционной системе Unix, и подражает внутреннему устройству Unix. Комбинации простейших механизмов Unix дают удивительную свободу действий. Современные операционные системы признали успех Unix и реализуют похожие интерфейсы - BSD, Linux, macOS, Solaris, и даже Microsoft Windows. Изучение xv6 поможет понять работу и других операционных систем.
https://habr.com/ru/articles/789478/
#xv6 #операционная_система #unix #системные_вызовы #файловая_система #процесс #вводвывод #shell #каналы #ядро