Возможно ли создать операционную систему на языке программирования Python?

Да. Вот погуглил за Вас:
Python OS Project — новая операционная система на . — правда используется ядро linux.
Но есть еще проект Cleese — это уже интересно. В рамках проекта Cleese развивается концепция создания интерпретатора байт-кода Python, способного работать непосредственно на «голой» системе, выступая в роли микро-ядра для запуска написанных на языке Python компонентов ядра ОС.
Модуль os

Модуль os предоставляет множество функций для работы с операционной системой, причём их поведение, как правило, не зависит от ОС, поэтому программы остаются переносимыми. Здесь будут приведены наиболее часто используемые из них.
Будьте внимательны: некоторые функции из этого модуля поддерживаются не всеми ОС.
os.name — имя операционной системы. Доступные варианты: ‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’.
os.environ — словарь переменных окружения. Изменяемый (можно добавлять и удалять переменные окружения).
os.getlogin() — имя пользователя, вошедшего в терминал (Unix).
os.getpid() — текущий id процесса.
os.uname() — информация об ОС. возвращает объект с атрибутами: sysname — имя операционной системы, nodename — имя машины в сети (определяется реализацией), release — релиз, version — версия, machine — идентификатор машины.
os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True) — проверка доступа к объекту у текущего пользователя. Флаги: os.F_OK — объект существует, os.R_OK — доступен на чтение, os.W_OK — доступен на запись, os.X_OK — доступен на исполнение.
os.chdir(path) — смена текущей директории.
os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) — смена прав доступа к объекту (mode — восьмеричное число).
os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True) — меняет id владельца и группы (Unix).
os.getcwd() — текущая рабочая директория.
os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True) — создаёт жёсткую ссылку.
os.listdir(path=».») — список файлов и директорий в папке.
os.mkdir(path, mode=0o777, *, dir_fd=None) — создаёт директорию. OSError, если директория существует.
os.makedirs(path, mode=0o777, exist_ok=False) — создаёт директорию, создавая при этом промежуточные директории.
os.remove(path, *, dir_fd=None) — удаляет путь к файлу.
os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) — переименовывает файл или директорию из src в dst.
os.renames(old, new) — переименовывает old в new, создавая промежуточные директории.
os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None) — переименовывает из src в dst с принудительной заменой.
os.rmdir(path, *, dir_fd=None) — удаляет пустую директорию.
os.removedirs(path) — удаляет директорию, затем пытается удалить родительские директории, и удаляет их рекурсивно, пока они пусты.
os.symlink(source, link_name, target_is_directory=False, *, dir_fd=None) — создаёт символическую ссылку на объект.
os.sync() — записывает все данные на диск (Unix).
os.truncate(path, length) — обрезает файл до длины length.
os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True) — модификация времени последнего доступа и изменения файла. Либо times — кортеж (время доступа в секундах, время изменения в секундах), либо ns — кортеж (время доступа в наносекундах, время изменения в наносекундах).
os.walk(top, topdown=True, onerror=None, followlinks=False) — генерация имён файлов в дереве каталогов, сверху вниз (если topdown равен True), либо снизу вверх (если False). Для каждого каталога функция walk возвращает кортеж (путь к каталогу, список каталогов, список файлов).
os.system(command) — исполняет системную команду, возвращает код её завершения (в случае успеха 0).
os.urandom(n) — n случайных байт. Возможно использование этой функции в криптографических целях.
os.path — модуль, реализующий некоторые полезные функции на работы с путями.
Для вставки кода на Python в комментарий заключайте его в теги
Python OS Project - новая операционная система на языке Python

Анонсирован проект Python OS Project (POP), созданный с целью разработки операционной системы, компоненты которой написаны полностью на языке Python, сообщает opennet.ru. POP основан на ядре Linux (в данный момент используется ядро версии 2.6.32) и окружении GNU, которое постепенно перерабатывается на языке Python. Многие составные части пользовательского окружения уже переписаны. Код проекта пока недоступен - ведётся работа по выбору открытой лицензии и созданию публичного репозитория. В качестве причин разработки называется работа ради удовольствия (Just For Fun) и желание сделать интересную и легко изменяемую систему. В настоящее время на языке Python переписаны такие приложения, как инсталлятор, пакетный менеджер, система инициализации, файловый менеджер, типовые системные утилиты (ls, cp, rm, vat, zcat и т.п.), эмулятор терминала (POPemu на базе termemulator), вспомогательные утилиты (wget, top), интерфейс к mplayer, mpd и moc, PDF-просмотрщик. В состав также входит оконный менеджер Qtile, http-сервер POPweb (основан на Cherrypy), Jabber/ICQ клиент POPim, графический редактор Mirageiv, BitTorrent-клиент Deluge, текстовый редактор Snaked и СУБД Buzhug. В планах разработка web-браузера на языке Python, офисного пакета, X-сервера и в конечном итоге создание ядра системы на языке Python. Дополнительно можно упомянуть, что создание операционных систем на интерпретируемых языках неоднократно предпринималось в прошлом. Например, наиболее известными из ныне живущих проектов по созданию ОС на Python являются Pycorn OS и Cleese. В отличие от проекта POP, данные операционные системы ориентированы в первую очередь на создании ядра системы на языке Python, включая драйверы, сетевой стек и реализацию файловых систем. В рамках проекта Cleese развивается концепция создания интерпретаора байткода Python, способного работать непосредственно на "голой" системе, выступая в роли микро-ядра для запуска написанных на языке Python компонентов ядра ОС. В рамках проекта Perlix развивается пользовательское окружение на языке Perl, работающее поверх ядра Linux. Обилие проектов по созданию операционных систем базируется языке Java, среди них: JNode, JOS, JX, Sanos, SavaJe и JavaOS. .
| Санкт-Петербург Москва |
(812) 363-28-63 (499) 403-12-24 |
- О нас
- Обслуживание компьютеров
- Имя компании
- ИТ аутсорсинг 24/7
- Персональный инженер неограниченные вызовы
- Аудит ИТ инфраструктуры
- Мониторинг состояния и ежемесячная отчетность
- Система качества
- Сильная команда
- Партнерская программа
- Методология обслуживания
- Партнеры
- Клиенты
- Вакансии
- Форум
- Оценка текущего состояния
- Абонентское обслуживание
- Настройка и обслуживание рабочих станций и серверов
- Сетевое оборудование
- Услуги виртуализации
- Размещение в дата-центр
- Монтаж локальной сети
- Аналоговая и IP телефония
- Системы видеонаблюдения
- Настройка и легализация ПО
- Настройка 1С
- Настройка Siemens
- Настройка Cisco
- IP АТС Avaya Asterisk
- Диагностика, ремонт и сервисное обслуживание
- Защита информации
- Создание наполнение сайтов техническая поддержка
- ИТ Аутстаффинг
- Восстановление данных
- Договор и SLA
- ИТ-инфраструктура
- Безопасность
- Проектные работы
- Интернет проекты
- Экономим время
- Контролируем качество
- Дорожим репутацией
- Используем деловые связи
- Растем вместе с клиентом
- Снижаем риски
- Повышаем доверие
- Контроль персонала
- Хостинг в подарок
- Обучение
- Разовые IT-услуги
- Техника в аренду
- Анти-спам
(812) 363-28-63
Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
(499) 403-12-24
Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Определение операционной системы в Python
Одна из распространенных проблем в программировании на Python — это определение того, на какой операционной системе запущен скрипт. Это может быть особенно полезно при написании кода, который должен работать на различных платформах и обрабатывать различные задачи в зависимости от операционной системы.
Пример проблемы
Возможно, необходимо написать код, который будет работать как на Windows, так и на Unix-подобных системах (таких как Linux или MacOS). Однако эти операционные системы обрабатывают некоторые вещи по-разному, например, пути к файлам или команды системы. Для решения этой проблемы определение операционной системы может быть критически важным.
Решение проблемы
Python предоставляет простой и эффективный способ определения операционной системы с помощью модуля os . В этом модуле есть функция os.name , которая возвращает имя операционной системы, на которой запущен скрипт.
import os print(os.name)
Этот код выведет имя операционной системы. Например, для Windows это будет ‘nt’, а для Unix-подобных систем — ‘posix’.
Знание о том, на какой операционной системе запущен скрипт, может помочь в написании более гибкого и универсального кода, который будет корректно работать на различных платформах.