Linux: простой web сервер на asm

Спятил, да? А ещё если напишу, что планировал сделать многопоточность и нечто CGI-интерфейса? Вполне может быть, в рамках just for fun

Но остановился на том, чтоб отдавать статические страницы – время не дало допилить, да и энтузиазм уменьшился. Идея мне пришла из за курсовой работа по “Системному программированию” В СПбГУ ИТМО. Всех заставили писать резидент под DOS, на 8086 архитектуре. Не торт.

Основные фитчи, которые я успел реализовать:

  • Форк, при необходимости
  • Чтение конфига(ini-like)
  • Создание слушающего сокета, установка параметров
  • Парсер заголовков и запроса
  • Обработчик запросов статического контента(не в /cgi-bin/)
  • В некоторых местах совершенно корявую работу со стеком

Реализовано на NetwideASM, c частичным использованием функций glibc. Работать сервер будет только на 32-битном процессоре i686+, из за того, что дёргается прерывание ядра Linux – а номера функций отличаются в зависимости от процессора.

Read more

CPU load indicator

Что это?

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

Собственно это очень простое устройство, плавно показывающее текущую нагрузку процессора меняя яркость светодиода(ну или по желанию можно использовать другую нагрузку). Людям, которые занимаются моддингом особо думаю понравится – нужно только приложить фантазию :) Работает через USB, причём программный, реализованный с помощью прооекта V-USB. В качестве мк выбран Atmega8

Read more