Авторы-участники проекта:
- Иван Иванов prospero.78.su@gmail.com
- Алекс Крол krolmailx@gmail.com
- Арен Елчинян slizen.can@gmail.com
- Дмитрий Кузнецов torgeek@ya.ru
Список участников открыт. На страницах этой вики ведётся свободная дискуссия, любой участник может создать собственный раздел и описать своё видение процесса разработки платформы “Плоскость”.
— //[[robo.help@yandex.ru|p78su]] 2023-10-23 10:27:24//
====== Системный загрузчик ======
===== Вариант-0 (ВМ)=====
Системный загрузчик загружает ядро ОС внутри специфичной виртуальной машины. Эта ВМ специально создана под работу ОС, отсутствуют все рудименты существующих фрагментарных архитектур, что позволяет с минимальными накладными расходами запускать ядро ОС в работу. ВМ является референсной для ОС и для других архитектур.
===== Вариант-1 =====
Системный загрузчик запускается как вторичный процесс GRUB. Это позволит интегрировать ОС с другими ОС на одной машине. На первом этапе первичный загрузчик может располагаться непосредственно в нулевом секторе диска.
====== Golang ======
[[:программирование:golang:dll|DLL/SO]]
[[:программирование:golang:plugin|Плагин]]
====== Golang DLL/SO ======
Создание DLL/SO с помощью Golang.
Создание динамической библиотеки на Go включает несколько шагов. Вот пример, как это можно сделать:
===== 1. Написание кода библиотеки: =====
Создайте файл с кодом, который вы хотите включить в библиотеку. Например, создадим файл mylib.go
:
import “C” import “fmt”
//export Hello func Hello() { fmt.Println(“Hello from Go!”) }
func main() {}
В этом примере функция Hello
будет экспортирована и доступна для вызова из других языков.
====== Плагин ======
Для создания плагина на Go, вы можете воспользоваться пакетом plugin
, который позволяет загружать и использовать динамически загружаемые библиотеки. Вот пример того, как это можно сделать:
===== 1. Создайте файл плагина, например plugin.go
: =====
import “fmt”
// Экспортируемая функция func Hello() { fmt.Println(“Hello from the plugin!”) }
===== 2. Скомпилируйте этот файл в плагин: =====
===== 3. Создайте основной файл, который будет загружать и использовать этот плагин, например main.go
: =====