Рубрика «ввод-вывод»
Операционная система в 1 000 строках кода (часть 5)
2025-02-02 в 9:01, admin, рубрики: linux, ruvds_перевод, UNIX, virtio, ввод-вывод, операционные системы, Программирование, разработка ядра, файловая системаЯ решил, что обнаружил баг…
2025-01-13 в 13:01, admin, рубрики: BSD, fopen, ruvds_перевод, UNIX, ввод-вывод, работа с файлами, стандарты
Я работал над совершенствованием эмулятора 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 необходимо удалить. Почему-то последовательность «поиск-чтение-запись» работала странно. Но почему?Читать полностью »
SciPy, ввод и вывод в MATLAB
2019-02-02 в 22:07, admin, рубрики: cells, Matlab, octave, python, scipy, struct, ввод-вывод, математика
SciPy (произносится как сай пай) — это пакет прикладных математических процедур, основанный на расширении Numpy Python. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных и прототипирования сложных систем, как MATLAB, IDL, Octave, R-Lab и SciLab. В этом посте я хотел бы рассказать о возможностях пакета ввода/вывода scipy.io, который позволяет работать с файлами данных Octave и MATLAB.
В Office 365 и другие продукты MS добавят режим голосового ввода-вывода для дислексиков
2018-10-16 в 13:02, admin, рубрики: CrossOver, microsoft, MS Office 365, office, Блог компании Crossover, будущее здесь, ввод-вывод, дислексия, заболевания, машинное зрение, мозг, построчное чтение, Разработка для Office 365, распознавание текста, чтение текста
Вчера в блоге Microsoft Education Team была опубликована обширная запись, которая презентует голосового ассистента для пакета продуктов Office 365, а также ряд обновлений других продуктов. В первую очередь речь идет о добавлении функций Dictation for Office 365 Desktop Apps в веб-версии продуктов Office 365 для учащихся, а также выход продукта Office Lens на платформе Android, который ранее был доступен только пользователям iOS. И это не полный список всех «вкусностей» от Microsoft. Все эти активности проходят совместно с организацией Made Dyslexia, в рамках которых технологический гигант планирует создавать учебные материалы и пособия для учеников и студентов, страдающих дислексией.
Важность публикации MS Education Team еще и в том, что она явно показывает один из приоритетных, а главное потенциально конкурентных направлений деятельности компании — развитие систем голосового ввода и распознавания текстов на пользовательских устройствах для всех существующих экосистем, подробнее о которых под катом. Там мы кратко расскажем о новинках от Microsoft без маркетинговых восторгов и обсудим, что вообще происходит и почему когда-то «главная корпорация зла» внезапно оказалась на передовой в области обучения подрастающего поколения.
Читать полностью »
Время отклика компьютеров: 1977−2017
2017-12-26 в 10:13, admin, рубрики: ввод-вывод, время отклика, интерфейсы, мониторы, обработка изображений, Программирование, системное программирование, старое железо, частота обновленияУ меня гнетущее чувство, что современные компьютеры по ощущениям медленнее, чем те компьютеры, которые я использовал в детстве. Я не доверяю такого рода ощущениям, потому что человеческое восприятие доказало свою ненадёжность в эмпирических исследованиях, так что я взял высокоскоростную камеру и измерил время отклика устройств, которые попали ко мне за последние несколько месяцев. Вот результаты:
Компьютер | Отклик (мс) |
Год | Тактовая частота |
Кол-во транзисторов |
---|---|---|---|---|
Apple 2e | 30 | 1983 | 1 МГц | 3,5 тыс. |
TI 99/4A | 40 | 1981 | 3 МГц | 8 тыс. |
Haswell-E 165 Гц | 50 | 2014 | 3,5 ГГц | 2 млрд |
Commodore Pet 4016 | 60 | 1977 | 1 МГц | 3,5 тыс. |
SGI Indy | 60 | 1993 | 0,1 ГГц | 1,2 млн |
Haswell-E 120 Гц | 60 | 2014 | 3,5 ГГц | 2 млрд |
ThinkPad 13 ChromeOS | 70 | 2017 | 2,3 ГГц | 1 млрд |
iMac G4 OS 9 | 70 | 2002 | 0,8 ГГц | 11 млн |
Haswell-E 60 Гц | 80 | 2014 | 3,5 ГГц | 2 млрд |
Mac Color Classic | 90 | 1993 | 16 МГц | 273 тыс. |
PowerSpec G405 Linux 60 Гц | 90 | 2017 | 4,2 ГГц | 2 млрд |
MacBook Pro 2014 | 100 | 2014 | 2,6 ГГц | 700 млн |
ThinkPad 13 Linux chroot | 100 | 2017 | 2,3 ГГц | 1 млрд |
Lenovo X1 Carbon 4G Linux | 110 | 2016 | 2,6 ГГц | 1 млрд |
iMac G4 OS X | 120 | 2002 | 0,8 ГГц | 11 млн |
Haswell-E 24 Гц | 140 | 2014 | 3,5 ГГц | 2 млрд |
Lenovo X1 Carbon 4G Win | 150 | 2016 | 2,6 ГГц | 1 млрд |
Next Cube | 150 | 1988 | 25 МГц | 1,2 млн |
PowerSpec G405 Linux | 170 | 2017 | 4,2 ГГц | 2 млрд |
Пакет вокруг света | 190 | |||
PowerSpec G405 Win | 200 | 2017 | 4,2 ГГц | 2 млрд |
Symbolics 3620 | 300 | 1986 | 5 МГц | 390 тыс. |
Свои потоки ввода-вывода в C++ с помощью std::streambuf
2017-04-15 в 14:10, admin, рубрики: c++, stl, streambuf, ввод-выводВ статье на примерах объясняется, как реализовать поддержку потокового ввода-вывода из стандартной библиотеки (<iostream>) для своих классов.
В тексте статьи будет часто встречаться слово «поток», что означает именно поток ввода-вывода ((i/o)stream), но не поток выполнения (thread). Потоки выполнения в статье не рассматриваются.
Введение
Потоки из стандартной библиотеки — мощный инструмент. Аргументом функции можно указать поток, и это обеспечивает ее универсальность: она может работать как со стандартными файлами (fstream) и консолью (cin/cout), так и с сокетами и COM-портами, если найти соответствующую библиотеку.
Однако не всегда можно найти готовую библиотеку, где подходящий функционал уже реализован, может даже вы разрабатываете собственную библиотеку со своими классами. Тогда возникает задача реализации интерфейса потоков своими силами.
Читать полностью »