Перейти к публикации

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

NightFury, никого не слушай, пиши свою ось. Выложишь когда что-то получится. Будут трудности, обращайся.

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


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

Задумка хорошая, мне нравится.

Главное чтобы хватило энтузиазма довести дело до конца. :D

 

В принципе вполне возможно писать программы под ОС и без операционной системы.

Но если будет удобная обертка над этим всем, которая предоставит какие-то крутые интерфейсы, это будет как минимум интересно.

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


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

Задумка хорошая, мне нравится.

Главное чтобы хватило энтузиазма довести дело до конца. :D

 

В принципе вполне возможно писать программы под ОС и без операционной системы.

Но если будет удобная обертка над этим всем, которая предоставит какие-то крутые интерфейсы, это будет как минимум интересно.

Как раз над этим я и работаю. :)

Ядро уже почти готово. Шлифую недостатки. Думаю к завтра ядро уже будет.

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


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

Как раз над этим я и работаю. :)

Ядро уже почти готово. Шлифую недостатки. Думаю к завтра ядро уже будет.

 

Как продвигаются дела?

Где можно пощупать ядро?

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


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

философия схожа с той осью что я с другом пишу, но пока что только стадия ядра (с сигналами боль)

 

Я вот сигналы победил.

Все еще пишу.

Мне информацию про диплом дали. С ним еще вопрос решаю.

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


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

Евентов как таковых нет в самом ОС, они предоставляются ОпенОС, а для этой систему реализация обработки событий на плечах NightFury, я лично решил проблему по своему, так что будем ждать решения NightFury)

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


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

Я так понял, ничего уже работать не будет.

 

Почему ты так уверен?

Евентов как таковых нет в самом ОС, они предоставляются ОпенОС, а для этой систему реализация обработки событий на плечах NightFury, я лично решил проблему по своему, так что будем ждать решения NightFury)

 

Я тоже очень жду того момента, когда смогу закодить идею, а не держать ее в долабанном блокноте.

А что будет с Event'ами в coroutine? Как они будут работать?

 

Как и прерывания в реальных компьютерах. В общем там система сложнее. В реальных компах это называется - планировщик.

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


Ссылка на сообщение
Поделиться на других сайтах
Евентов как таковых нет в самом ОС, они предоставляются ОпенОС, а для этой систему реализация обработки событий на плечах NightFury, я лично решил проблему по своему, так что будем ждать решения NightFury)
?

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

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


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

?

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

 

Ох. Не заметил. Да. Мод сам предоставляет ивенты, которые называются сигналами и складирует их в стек 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-пакетов

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


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

Всё уже придумано и сделано до вас.

И да, я намекаю на hpm.

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


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

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

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

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

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

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


×