Как сделать операционную систему на python
Перейти к содержимому

Как сделать операционную систему на python

  • автор:

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

anton_reut

Да. Вот погуглил за Вас:
Python OS Project — новая операционная система на . — правда используется ядро linux.

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

Модуль os

Python 3 логотип

Модуль 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 - новая операционная система на языке 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’.

    Знание о том, на какой операционной системе запущен скрипт, может помочь в написании более гибкого и универсального кода, который будет корректно работать на различных платформах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *