Перейти к содержимому
NightFury

Операционная система LunaOS

Рекомендуемые сообщения

?

сам ос предоставляет евенты

 

Ох. Не заметил. Да. Мод сам предоставляет ивенты, которые называются сигналами и складирует их в стек LIFO.

А операционная система уже с ними работает и выдает их за события.

На деле при возникновении они просто хранятся в стеке и все. А модуль event лишь обрабатывает стек и вызывает соответствующие callback'и.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

"LIFO"

А на русскоязычной вики написано FIFO. Что-то поменялось или это просто опечатка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

говоря что их нет, я это и имел в виду, ивентов как таковых нет, есть сигналы)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

"LIFO"

А на русскоязычной вики написано FIFO. Что-то поменялось или это просто опечатка?

 

Не опечатка, а перепутал FIFO с LIFO.

Изменено пользователем NightFury

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

FIRST IN, FIRST OUT

Стек - он такой. :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

FIFO -> очередь

LIFO -> стек

ЧЁРТ! Точно. :facepalm:  Перепутал с : последний вошёл - первый вышел(last in, first out) :smile44:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну вот и пользуйся этим. Если ты думаешь, что я это не смогу создать на OpenOS - ошибаешься.

 

Если все присутствующие еще не поняли. Я создаю операционку, а не программы под нее.

И то, что вы эти программы уже сделали в OpenOS, я за вас рад.

 

Если хочешь удаленное редактирование файлов, то делай аналог SMB. Да и по моему SMB гораздо удобнее FTP, ИМХО. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если хочешь удаленное редактирование файлов, то делай аналог SMB. Да и по моему SMB гораздо удобнее FTP, ИМХО. 

 

Мне нужно в начале закончить дописывать API и основные системные программы, а потом уже думать системы подключения. Кроме того API будет построено так, что каждый сам сможет написать свой FTP клиент и сервер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мне нужно в начале закончить дописывать API и основные системные программы, а потом уже думать системы подключения. Кроме того API будет построено так, что каждый сам сможет написать свой FTP клиент и сервер.

 

 

И это хорошо! Вот как закончишь ось , тогда я писать свой X-сервер с блэкджеком и сам понимаешь чем x)

(Если ты конечно не сделаешь его сам, а то кто знает, может ты только аналог bash в качестве оболочки оставишь xP)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И это хорошо! Вот как закончишь ось , тогда я писать свой X-сервер с блэкджеком и сам понимаешь чем x)

(Если ты конечно не сделаешь его сам, а то кто знает, может ты только аналог bash в качестве оболочки оставишь xP)

 

Я предоставлю API с большим набором возможностей и распишу, как ими пользоваться правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подзаглох проект что-то.  :)

Он будет ещё воскрешаться, или уже R.I.P.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если цикл бесконечный, то он в любом случае, даже если программа работает в однозадачном режиме, должен содержать os.sleep, event.pull или другую функцию, ожидающую событие. В противном случае компьютер отключится. Именно ожидание события и есть переключение между задачами. У меня, по крайней мере так.

А что, если пройтись по синтаксису каждой программы, и поставить везде вызов такой функции?

function nanoyield(...)
  coroutine.yield("no-event")
  return ...
end

Таким образом, код

while true do
  var = io.open("file","r")
  s = var:read("*a")
  var:close()
end 

превратится примерно в

while nanoyield(true) do nanoyield()
  var = nanoyield(io.open("file","r"))
  s = var:read("*a")
  nanoyield(var:close())
end
   

Таким образом, получится шедевральное распределение ресурсов процессора.

А хост-программа будет обрабатывать "no-event" как пропуск передачи события в код потока. У каждого потока будет стек событий. Если все потоки вернули "no-event", то события и вовсе не будут проверяться, пока не пройдет таймер, и не придется взять событие, дабы избежать ошибок в системе.

Вот это был бы шедевр...

Изменено пользователем TC1061

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
25.08.2016 в 01:56, NightFury сказал:

Так же я уже придумал реализацию и буду писать следующие программы:

  • apt-get

Бро, зачем тебе apt-get?) Уж лучше сделай что-нибудь вроде deb-пакетов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Идея отличная! Молодец! Главное не забрось идею, и если сможешь, зделай, пожалуйста, интерпритатор python!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
02.03.2019 в 22:03, LaRRaM сказал:

зделай, пожалуйста, интерпритатор python!

Лол шта? Понимаю компилятор с++, но питон и луа никак не совмещены

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, MisterFunny01 сказал:

Лол шта? Понимаю компилятор с++, но питон и луа никак не совмещены

В общем-то, ничего не мешает сделать интерпретатор пайтона. Это будет сложно и медленно, но возможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...