The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск операционной системы ToaruOS 2.1, opennews (??), 27-Окт-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


86. "Выпуск операционной системы ToaruOS 2.1"  +/
Сообщение от Аноним (-), 28-Окт-22, 13:49 
Неужели никто не хочет взять ядро Linux и переписать его на микроядерной основе, сохранив все syscall'ы, но поменяв архитектуру? Люди пилят какую-то дичь, когда уже давно понятно, что нужно просто Линукс переписать на микроядро, интегрируя наработки проекта OpenBSD. Я не программист, мне предлагать начать проект бесполезно. Но вас же тысячи тыся!
Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск операционной системы ToaruOS 2.1"  +/
Сообщение от ыы (?), 28-Окт-22, 14:02 
этот проект- не микроядерный
Ответить | Правка | Наверх | Cообщить модератору

89. "Выпуск операционной системы ToaruOS 2.1"  +1 +/
Сообщение от Максим (??), 28-Окт-22, 14:28 
Никто не хочет. Почитай про недостатки архитектуры микроядра.
Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

106. "Выпуск операционной системы ToaruOS 2.1"  +1 +/
Сообщение от Аноним (103), 28-Окт-22, 16:59 
Это какие недостатки архитектуры микроядра? Медленность? Так сейчас браузер с JS медленнее!
Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск операционной системы ToaruOS 2.1"  +1 +/
Сообщение от Максим (??), 28-Окт-22, 17:41 
В двух словах не объяснить. Предлагаю почитать классику)
https://groups.google.com/g/comp.os.minix/c/wlhw16QWltI
Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск операционной системы ToaruOS 2.1"  +/
Сообщение от Совершенно другой аноним (?), 28-Окт-22, 14:34 
Имхо невозможно написать Linux на мироядерной основе сохранив все syscall-ы. В Микроядерной ОС syscall-ы предоставляет микроядро, а оно, обычно, умеет только IPC и создание и диспетчеризацию задач.
Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

92. "Выпуск операционной системы ToaruOS 2.1"  +1 +/
Сообщение от Аноним (84), 28-Окт-22, 14:52 
Syscall-ы могли бы и серверы вокруг микроядра. Но, таки лучше был бы вариант гибрида. Пошустрей, с одной стороны, и вынести в юзерспейс некоторые части можно, с другой.
Ответить | Правка | Наверх | Cообщить модератору

95. "Выпуск операционной системы ToaruOS 2.1"  +/
Сообщение от Аноним (19), 28-Окт-22, 15:49 
точно можно? спасибо что разрешили, приступаю
Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск операционной системы ToaruOS 2.1"  –1 +/
Сообщение от n00by (ok), 29-Окт-22, 07:44 
А прерывания кто обрабатывает в микроядерной ОС?
Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

139. "Выпуск операционной системы ToaruOS 2.1"  +/
Сообщение от Совершенно другой аноним (?), 29-Окт-22, 15:57 
Обычно - само микроядро и обрабатывает. Например в QNX4 преобразовывает из аппаратной вещи в программную (Pulse). В QNX6, по-моему, придумали механизм, при помощи которого можно было написать обработчик прерываний и микроядро при наступлении прерывания обеспечит его вызов.
Ответить | Правка | Наверх | Cообщить модератору

152. "Выпуск операционной системы ToaruOS 2.1"  +/
Сообщение от n00by (ok), 31-Окт-22, 07:59 
Так вот в Linux на IA32 («x86» в местном понимании) вызов ядра организован программным прерыванием (int 0x80) через шлюз, описанный в Interrupt Descriptor Table. В AMD64 команда syscall опять вызывает ядро («ядро» в данном контексте - кольцо аппаратной защиты, а не «размер»). Если уж аппаратные прерывания умудряются обрабатывать в QNX, то непонятно, почему реализация диспетчера для программных невозможна.
Ответить | Правка | Наверх | Cообщить модератору

158. "Выпуск операционной системы ToaruOS 2.1"  +/
Сообщение от Совершенно другой аноним (?), 06-Ноя-22, 09:05 
> Так вот в Linux на IA32 («x86» в местном понимании) вызов ядра
> организован программным прерыванием (int 0x80) через шлюз, описанный в Interrupt Descriptor
> Table. В AMD64 команда syscall опять вызывает ядро («ядро» в данном
> контексте - кольцо аппаратной защиты, а не «размер»). Если уж аппаратные
> прерывания умудряются обрабатывать в QNX, то непонятно, почему реализация диспетчера для
> программных невозможна.

В том-то и дело. Аппаратное прерывание одно - 0x80, а тех, кто его должен обрабатывать - много. В том-же QNX4:
- есть драйвер Fsys.eide, включающий в свой состав файловую систему (т.е. функции open(), close(), read() и т.д.) и прерывание 0x80 с данными функциями должно попадать к нему;
- есть реализация стека протоколов TCP/IP - Sock[l]et/Tcpip (т.е. функции socket(), send(), recv() а так-же те-же read(), write() и close()) и прерывание 0x80 с данными функциями должно попадать к нему;
- есть реализация файловых систем FAT* - Dosfsys/Fatfsys, есть реализация SMB - SMBfsys, которые прерывание 0x80 должны перехватить на себя.

В общем, это немного устроено не так. Все как и в Linux работают через libc. Само ядро обеспечивает обработку аппаратных прерываний и передачу сообщений между компонентами. Т.е. если надо прочитать файл, то формируется сообщение READ, в библиотеке libc определяется, какая компонента за этот конкретный read() отвечает, и при помощи микроядра сообщение от прикладной программы передаётся соответствующему менеджеру, который обрабатывает запрос и возвращает ответ.
Если интересно, можете подробнее узнать здесь: https://www.qnx.com/developers/docs/qnx_4.25_docs/qnx4/sysar...

Ответить | Правка | Наверх | Cообщить модератору

151. "Выпуск операционной системы ToaruOS 2.1"  +/
Сообщение от Аноним (-), 31-Окт-22, 07:42 
>Неужели никто не хочет взять ядро Linux и переписать его на микроядерной основе, сохранив все syscall'ы, но поменяв архитектуру?

Есть хурд. Но там сисколлы другие.

>Я не программист

Вот то-то и оно, ставь хурд, разбирайся в нём, учи сишку и, что самое главное, перепиливай MIG так, чтобы помимо C он умел генерировать код под все языки под луной. И, самое главное, пропиарить.

Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру