дневник Яос

Только технические вопросы по ЯОС и MINOS. Терминология и прочее - в других форумах.
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 25.11.21 02:22

Код почти стабилизирован после возмущений, внесённых в него макросами. В значительной степени, хотя не до конца, привёл в порядок описание языка после переименований последней пары месяцев. Заодно поправил одну ошибку в отладчике, из-за которой он падал, и сделал одно улучшение. Однако отладчик всё равно постоянно зависает и это отвратительно.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 26.11.21 23:36

Существенно поменял отладчик, можно сказать, совершил прорыв в контролируемости того, что там происходит. Не проверял в реальном бою, но на тестовом файлике кардинальные улучшения. Теперь есть предпосылки для того, чтобы реализовать удалённую отладку. Хотя тут будет немало работы по моделированию метаданных целевой системы - ведь в настоящее время отладчик берёт модули прямо из той системы, которую мы изучаем. А если мы с Win32 будем отлаживать систему, работающую на RPi, то метаданные у этих систем будут совсем разные. Так что этот проект ещё, можно сказать, далеко впереди. Ну и соответственно нужно разделить отладчик на слои - командный интерфейс отдельно, гуй отдельно. Пока что там всё смешано.

Ну и в целом план подготовки к выступлению практически выполнен. Остаётся сделать выпуск и, собственно, подготовить само выступление.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 29.11.21 00:17

Вроде сделал, чтобы в распечатке стека и в отладчике показывался "сам" объект для методов объектов. Беэ этого было изрядно неудобно.
Изменения, внесённые в компилятор, явно за пределами моего понимания. Система этим компилятором дважды пересобралась и работает, но кто знает, какие грабли ещё ждут впереди...

Отладчик проверен в бою, периодически что-то происходит нехорошее, но в целом более-менее работоспособен.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 15.12.21 02:38

По Alt-Enter открывается "меню окна", подобно тому, как работает Alt-пробел в Windows. Дальше можно нажать 4 (на левую половину экрана), 5 (на ввесь экран) или 6 (на правую). Наверное, для полноты картины нужно все новые окна сразу ставить на левую половину экрана, а там дальше пользователь уже пусть сам размещает. И, конечно, в это меню нужно ещё несколько вариантов, но там получились ужасные повторы кода, и кроме того, меню будет слишком длинным. Не знаю, как быть пока что. Но уже большой шаг вперёд - я мечтал о возможности делать окно на полэкрана с самого начала проекта и вот наконец-то. Посмотрим, какие подводные камни всплывут...

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 16.12.21 01:02

Движемся в направлении симв32

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 18.12.21 22:53

Всё ещё недоехали. Казалось бы, успех вот он, но в самом конце, как это часто бывает, возникает последовательность ошибок всё возрастающей сложности. Надеюсь, не бесконечная. Во всяком случае, починил под это дело отладчик - он теперь работает лучше, чем когда либо, поскольку исправлена ошибка в логике работы с точками останова. Хотя падает всё равно с хорошей частотой. Также улучшена отладочная печать узлов синт.дерева. Ошибки в компиляторе постепенно правлю, хотя сейчас нашёл весьма странный кусок кода из старого (A2-шного) - теперь надо посмотреть, что он означает.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 22.12.21 01:33

Начал внедрять симв32 в модуль Texts - уже не уверен, что стоило начинать. Нужно перешагнуть пропасть с тысячами изменений в более чем 10 модулях. Достаточно одной ошибки - и система просто не заработает. Сегодня, наверное, уже изменений 500 сделал и неизвестно сколько ещё впереди.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 27.12.21 23:27

Сделал встроенную процедуру пПиши, которая выводит в любом месте любой указатель на запись вместе с полями. Раньше такая процедура была в модуле "к", неудобство состояло в том, что нужно было подключать/отключать этот модуль и сигнатура исследуемого модуля менялась. Теперь необходимость в подключении модуля "к" отпала.

Помимо этого, в прошлый день (кажется, это была пятница), перенёс из A2 возможность определять переменные в теле кода, как это принято в современных языка, а не только в начале процедуры, как это принято в языках Паскаль-семейства. Теперь можно писать так:

Код: Выделить всё

модуль Proba;

(* Proba.Дей ~ *)
использует Strings, StringsUCS32;

тип з = окласс
	перем пп : цел32;
	вв : Strings.String кон з;

проц Дей*;
нач
	перем Строка8 := Strings.NewString("2") : Strings.String;
	Строка8 := Строка8 + 2;

	перем Строка := StringsUCS32.NewString(Лит32("2")) : StringsUCS32.String;
	Строка := Строка + 2;
	копируйСтрокуДо0(Строка^,Строка^);
	
	перем эз : з;
	
	нов(эз);
	эз.пп := 4;
	эз.вв := Strings.NewString("Куку");
	
	пПиши(эз,Строка^);
	кон Дей;
	
кон Proba.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 15.01.22 14:26

Стоило починить парсер среды, чтобы он понимал макросы, исчез с экрана красный цвет и настроение сразу улучшилось. Возникло ощущение, что я победил макросы, хотя ещё час назад было такое полууныние. Может и красный экран со стектрейсом нужно сделать другого цвета? А то как его вижу, сразу противно. Никогда, честно сказать, не думал, что цветовая гамма на меня как-то влияет.

А может быть, дело в другом, не знаю.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 19.01.22 01:41

Вроде доделал метапроцедуры в минимально пригодном для показа виде. Не лучший час для принятия решений, но похоже, что надо теперь попереводить, хотя бы уж до конца месяца. А то перевод совсем просел.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 23.01.22 23:44

Начал делать команду, показывающую перевод имени, на котором стоит курсор в ИСР. Не придумал, как интегрировать - можно сделать по-разному,
а также неплохо бы к этой команде ещё прилепить показ всех (пере)определений данного метода по иерархии с возможностью перехода к любому из них (то, что раньше не знал, как сделать, вроде так получается сделать). Соответственно, самое простое здесь - это выводить в лог ядра в виде команд.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 27.01.22 00:09

Немного попереводил.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 28.01.22 16:10

Перевёл (не полностью) модуль Builtins - самый первый по порядку модуль.
Правда, он мало используется.

Индекс кирилличности - 29.03%, а на графике последний раз был 28.88% - негусто.
Надо дописать программку для замера доли слов и эту цифру тоже на график вывести - теперь
доля русских букв будет расти всё медленнее, а доля русских слов ещё долго будет
расти с одинаковой скоростью.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 31.01.22 00:54

Начал переводить модуль Machine. Улучшил работу веб-браузера (всё ещё только http).

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 03.02.22 00:28

Кое-как доделал переводы модуля Machine/ЭВМ для версии Windows, открыл версию для BIOS32, а там, оказывается, есть ещё объём работы...

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 04.02.22 20:55

Написал письмо в МЦСТ, где предлагаю им взять меня на работу и дать мне 10 человек подчинённых. Ха-ха.
Перевод модуля ЭВМ/Machine упёрся в то, что переводчик не заходит внутрь машинного кода, соответственно, после перевода всё ломается.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 08.02.22 16:51

С грехом на 9/10 перевёл модуль Machine - скорее можно сказать "показал присутствие", чем "перевёл". Хотя если посмотреть на использование в модуле Heaps - то вроде всё выглядит переведённым. Проблема с этим модулем была в двух вещах:

* во-первых, модулей много для разной платформы и архитектуры
* во-вторых, там есть машкод, а мы его не умеем переводить. Это сильно замедлило дело, но в итоге
теперь компилятор ругается, когда в машкоде упоминается что-то, имеющее перевод. В итоге, правда, пришлось
стереть какое-то количество уже готовых переводов, в основном это были переводы имён параметров.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 08.02.22 20:56

Реализовал "тернарное если", если3(условие, выражениеПриИстине, выражениеПриЛжи) - пока только для одного компилятора и только в англоязычной ветке.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 24.02.22 01:54

Починил загрузку с LiveCD.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 10.03.22 22:13

Начал переводить модуль UCS32

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 12.03.22 01:00

Продолжил.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 16.03.22 01:09

Вроде доделал UCS2 = Ю16, начал String = Строки8.
Клонировал проект на git.org.ru и отправил последние изменения туда.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 25.03.22 01:44

Перевёл 4 модуля, индекс кирилличности - 30.43%

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 04.04.22 23:41

Дочитал код загрузки кооп.версии и выделил все куски, написанные на ассемблере.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 06.04.22 00:10

Продолжаю чтение загрузки Zynq. Что-то там много всего...

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 11.04.22 23:57

Похоже, что зависаем в ReadMemoryLayout, хотя казалось бы, где там зависать?
Надо сделать именованные процедуры Breakpoint1, BreakpointN и по ним размечать трассу с целью
поиска, где зависли. Ы?

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 21.04.22 01:36

По RPi ещё с тех пор продвинулся, теперь падаем на утверждении где-то в чтении памяти (уже не помню, но надеюсь, что где-то записано).

Сегодня перешёл в другую ветку и сделал, чтобы подробная печать работала на 64-разрядах, в сборках Linux64 и Win64.
См. https://tvoygit.ru/budden/ja-o-s/src/br ... ная-печать

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 22.04.22 12:23

Выложил новую сборку под Линукс.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 15.06.22 19:30

На форуме можно подсвечивать код на языке ЯОС, с помощью кнопочке "JAOS". Вот так:

Код: Выделить всё

модуль ааа;
проц бб(); (* комментарий *)
(* вложенный
  (* комментарий *) *)
нач
  возврат 4 кон бб;

кон ааа.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 07.08.22 12:03

Пытаюсь запустить переводчик всего под линуксом, и он спонтанно зависает. Место, где зависает, всегда одно и то же. Но плохо это всё выглядит, т.к. он зависает через значительное время.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 07.08.22 12:12

Ура, повезло - с помощью диспетчера задач удалось неплохо локализовать проблему. В общем-то это во многом случайность, что именно этот процесс оказался в первой строчке и я обратил на него внимание. Команда СборщикВыпускаЯОС.Скомпилируй:

Код: Выделить всё

Unix.CondWait:72 pc=134581358 [0000000008058C6EH] = 134581286 + 72 crc=72910ABE
  con= [@24] 00007FF470001F40
  mtx= [@16] 00007FF46C000C00
Objects.Await:522 pc=134821788 [000000000809379CH] = 134821266 + 522 crc=55A1660C
  cond= [@40] UnixFiles.WaitClose.@AwaitProcedure0
  slink= [@32] 00007FF44FAA6A98
  obj= [@24] 000000000810B0F0 (Modules.Module)
  flags= [@16] {}
  hdr= [@-16] 000000000810B070 (Heaps.ProtRecBlockDesc)
  p= [@-24] 00007FF4039C0940 (Objects.Process)
  c= [@-32] 0000000000000000 NIL
  lock= [@-40] 00007FF48958B200 (Objects.LockT)
UnixFiles.WaitClose:121 pc=135308883 [000000000810A653H] = 135308762 + 121 crc=F85F95DA
  no= [@16] -1816
UnixFiles.UnixOpen:239 pc=135288446 [000000000810567EH] = 135288207 + 239 crc=F85F95DA
  path= [@32] 00007FF44FAA6B08
  flags= [@24] {1}
  permissions= [@16] 0
  fd= [@-12] -1
  fo= [@-16] -1816
  errno= [@-20] 24
  failure= [@-21] ложь
UnixFiles.UnixFileSystem.Old0:698 pc=135286270 [0000000008104DFEH] = 135285572 + 698 crc=F85F95DA
  name= [@16] "FractalDemo.Mod"#00""
  RESULT=00007FF44FAA6DD8-> [@56] 0000000000000000 NIL
  @Self= [@40] 00007FF489545A50 (UnixFiles.UnixFileSystem)
  f= [@-16] 0000000000000000 NIL
  stat= [@-160] ...(Unix.Status)
  fd= [@-164] 0
  r= [@-168] 0
  pos= [@-172] 82
  oflags= [@-176] {38, 36, 33, 1}
  nextdir= [@-432] "/y/jaos/Linux64/xym-i-Dpi"#00""
  path= [@-688] "/y/jaos/source/FractalDemo.Mod"#00""
  @hiddenIRVar0= [@-696] 0000000000000000 NIL
UnixFiles.AliasFileSystem.Old0:59 pc=135281146 [00000000081039FAH] = 135281087 + 59 crc=F85F95DA
  name= [@16] "FractalDemo.Mod"#00""
  RESULT=00007FF44FAA6E20-> [@64] 0000000000000000 NIL
  @Self= [@40] 00007FF489545B00 (UnixFiles.AliasFileSystem)
  f= [@-16] 0000000000000000 NIL
Files.OpenOld:221 pc=135204539 [00000000080F0EBBH] = 135204318 + 221 crc=8F46417A
  enum= [@40] 00007FF4895451C0 (Files.FileSearcher)
  fs= [@32] 00007FF489545B00 (UnixFiles.AliasFileSystem)
  fname= [@16] "FractalDemo.Mod"#00""
  RESULT=00007FF44FAA6E80-> [@360] 0000000000000000 NIL
  f= [@-16] 0000000000000000 NIL
  key= [@-20] 0
Files.Old:345 pc=135205245 [00000000080F117DH] = 135204900 + 345 crc=8F46417A
  name= [@16] "FractalDemo.Mod"#00""
  RESULT=00007FF44FAA6FF0-> [@-837622864] 0000000000000000 NIL
  fs= [@-16] 00007FF489545B00 (UnixFiles.AliasFileSystem)
  f= [@-24] 0000000000000000 NIL
  prefix= [@-40] ""#00""
  fname= [@-312] "FractalDemo.Mod"#00""
  @hiddenIRVar0= [@-320] 0000000000000000 NIL
СборщикВыпускаЯОС.ДанныеОб1Конфигурации.ПроверьНаличиеФайловИПрочтиОбъявленияИспользования:273 pc=140687342532721 [00007FF453137871H] = 140687342532448 + 273 crc=ECEE17A0
 

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 07.08.22 12:23

В чём точно дело - не совсем ясно, но похоже, что мы упираемся в предел числа открытых файлов. "Прекрасная" идея закрывать файлы в финализаторах нас подвела. Ищем, как закрыть файлы явно и засунем это в компилятор.

Код: Выделить всё

(** Close files -- paradox: open (old) file and call Close method. Intended for systems in a host environment to explicitely release a file handle. *)
проц CloseFiles*(context : Commands.Context); (** [Options] {file} ~ *)
перем
	filelist : СписокИмёнФайлов;
	nofFiles, n : цел64; ndone : цел32;
	file: Files.File;
нач
	nofFiles := GetFileList(context, filelist);
	ndone := 0;
	нцДля n := 0 до filelist.разм - 1 делай
		file := Files.Old(filelist.э[n]^);
		если file # НУЛЬ то file.Close всё;
		увел(n);
	кц;
кон CloseFiles;
Последний раз редактировалось БудДен 07.08.22 12:42, всего редактировалось 1 раз.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 07.08.22 12:40

Похоже, что дело было в вызове GC посреди перебора файлов - там есть специальная оговорка. В общем, закрытие файлов вроде помогает. Всё-таки A2 - божественная игрушка. Я думал, что только на локализацию проблемы могут уйти дни, потому что нужно будет тупо всё утыкивать трассировкой (и ошибка может от этого уехать в другое место) а внезапно всё решилось за час.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: дневник Яос

Сообщение Лис [Вежливый] » 12.08.22 21:12

Хотел тебе на твоём форуме в личку написать, но не нашел, как.
В общем, вот:
http://plana.mybb.ru/viewtopic.php?id=1249#p8255

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 14.08.22 23:52

Тут есть темы про Эльбрус, их вроде поиском можно найти. Коротко ситуация с Эльбрусом такова, что я под него починил загрузочный iso-образ, и загрузочную флешку. Нашлись добрые люди, которые попробовали запустить на железке. Однако ничего не заработало. Сейчас знания о загрузке несколько расширились, можно ещё раз попробовать (бывают легко решаемые проблемы с видеорежимом).

Но это всё x86/x64. Портировать на собственно Эльбрус - я пока не понимаю, как. Насколько я понял, информации о системе команд было недостаточно, потом ситуация улучшалась, но насколько она улучшилась - я не отследил. В любом случае, я бы начал с порта на MIPS, который можно забесплатно гонять в эмуляторе.

Доступ по ssh к серверам недостаточен, т.к. там нет контроля над железкой. Максимум, что можно тут сделать - это портировать в режиме приложения (сделать кодогенератор под Эльбрус и тогда будет ЯОС для Эльбруса, запускаемый под Linux). В принципе это может быть хорошим первым шагом, но доступ нужен всё-таки к какому-нибудь vnc, т.к. в текстовом режиме с ЯОС почти ничего сделать нельзя. По идее, портирование на новую платформу, на которой уже работает Linux, наверное и нужно делать в два этапа - сначала режим приложения, потом режим ОС. Это позволит разделить разработку бекенда компилятора и разработку слоя совместимости с железом

У меня нет ресурсов этим заниматься - у меня пока в планах только продолжение перевода и дальше развитие управления памятью.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 21.08.22 20:46

Перевёл модуль Heaps/Кучи (только интерфейс, да и то не весь). Индекс кирилличности - 30.62% (а неплохо!)

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 24.08.22 00:38

Немного подправил парсер редактора. Теперь он не падает на объявлении переменных внутри блока.
Однако и не разбирает их должным образом - переменная, определённая внутри блока, показывается красной.

Хотя цель была в другом - научиться замерять потребление CPU отдельными процессами. Сейчас под Linux показывается
какая-то чушь (потребление cpu показывается одинаковым для всех тредов). Треды в юникс-версии сделаны на базе pthreads, и по
идее оно должно работать как-то так:

https://stackoverflow.com/questions/449 ... of-threads

Если это удастся, можно будет отличать активно вычисляющие треды от прочих - это часто нужно.

Неплохо бы ещё сделать, чтобы работало убийство тредов в unix-версии. В win оно нормально работает, а в линуксе ЯОС падает.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 02.10.22 00:22

Потихоньку продолжаю работу над обычной версией RPI. Я постепенно узнаю (того не желая) всё больше деталей об устройстве ARM и A2/ЯОС в ней, но успеха пока нет. Проблема на данный момент в устройстве виртуальной памяти. Раскладка памяти в RPI и Zynq разная, и похоже, что правильный способ работы - разный, в частности, отличаются значения флагов. Кроме того, реализаци для Zynq - кратно сложнее, чем кооперативная. В сумме, получается, что сложный код, аналогичный работающему для Zynq, у меня в наличии не имеется. Нужно либо упрощать версию Zynq до уровня RPi, либо добывать недостающее. Пока, естественно, пытаюсь пойти первым путём.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 25.10.22 21:47

Продолжаю работу над RPi, всё плохо, но таймер вроде бы запустился. Хотя кто его знает.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 31.10.22 11:15

Дошла до конца инициализация ядра с вытесняющей многозадачностью для RPi 2. Конечно, это мало о чём говорит - надо теперь сделать, чтобы оно действительно работало, т.е. чтобы работали и переключались процессы, далее нужно доделать интерфейс таймеров, функцию Sleep хотя бы и ввод с клавиатуры. Перспективы, наверное, есть, поскольку и трассировка, и отладчик работают достаточно неплохо. Я решил ограничиться только одним ядром и не писать драйвер SD-карты. Также я попытался (не знаю, насколько успешно) отключить все возможные виды кеширования. Для тестов работоспособности компилятора этого должно в какой-то степени хватить.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 04.11.22 02:10

Концепт отображения имён функций в отладчике (одно имя функции отрисовывается, размер показывается неверно).

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 08.11.22 01:20

Подправил выдачу лога, чтобы он выдавал диапазон каждой функции. В принципе, пользуясь Dpi файлами от Богдана и этой информацией, можно пытаться сопоставить любой адрес в ядре и какое-то место в коде. В этом случае от gdb понадобится лишь то, что мы уже сейчас умеем, а интерфейсом отладчика тогда будет второй экземпляр ЯОС, для которого gdb станет сервером. Однако, это всё не совсем то, что нужно. Нам нужен тестовый полигон на ARM, а версия RPi сейчас на грани работоспособности. Поэтому решил попробовать вариант эмуляции Zynq. Собрал эмулятор Zynq, также собрал образ диска, теперь нужно как-то попробовать скормить его QEMU.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 11.11.22 01:52

Сегодня удалось запустить UART в эмуляторе Zybo, но дальше не очень хорошо обстоят дела с SD-картой.
Сначала она не особо-то инициализировалась, а потом упала при попытке инициализировать раздел.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 18.11.22 02:07

Инициализировалась SD-карта, но не без сомнений. Потом загрузчик начинает её читать. С чтением от нуля всё хорошо, но потом нужно прочитать начало второго раздела и почему-то возвращаются все нули. Неясно, что имеется под ними в виду и как это проверять/исправлять.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 27.12.22 13:51

Проект по запуску закрытой версии ЯОС в эмуляторе QEMU для Zynq успешно завершён. ПЛИС часть не эмулируется. Начал работы по сведению во единое целое версии кода, которая запускается в QEMU и которая запускается на железке. Сам по себе код мало отличается, но отличия в конфигурации непонятно как поддерживать. Видимо, всё же будет два разных (но близких по содержанию) командных файла для сборки. Скриптовый язык A2/ЯОС не содержит шаблонизатора, который позволял бы параметризовать генерируемые файлы конфигурации, используемые начальным загрузчиком, поэтому так. Состав модулей в версии под эмулятор тоже сильно урезан, и автозагрузка тоже разная. Т.е., видимо, надо сделать так, чтобы различия между конфигурациями было легко локализовать и менять при внесении изменений параллельно.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 30.12.22 01:22

Сделал один шажок к общей между QEMU и железной Zybo конфигурацией. При этом выяснилось, что механизм
автозамен (такой костыль для реализации одного из видов макросов) не работает. Наверное, я его сломал? А он нужен.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 24.03.23 00:39

Никакие вопросы не решены, однако ехать хотя бы в этом дурацком направлении - менее тревожно, чем просто ничего не делать. Наш мир катится в пропасть, это достаточно понятно. Но лягушка может взбить молоко в масло, хотя она просто бессмысленно рыпается. Поэтому сегодня я слегка продвинулся в сторону русскоязычной конфигурации, включающей Zybo.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 24.03.23 12:55

Продолжались действия по интеграции Zynq в скрипт перевода, а именно, перенесены в основной код версий Linux64, Win32, Win64 инструменты, нужные на хозяйской (собирающей) ОС. Сделана заготовка скрипта, который будет (если Бог даст) переводить весь нужный код для Zybo на русский язык.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 29.03.23 14:36

Заработала русскоязычная версия ЯОС на Zybo. Это большой этап - теперь ЯОС стала кросс-платформенной операционной системой, у которой исходные тексты, пусть частично, написаны на русском языке. Возможно, что это первая в мире такая операционная система. Советские ОС сначала делались под одну платформу, а потом они стали Unix-подобными и значит, перестали быть русскоязычными. Но это не точно, да и всем насрать.

Тем не менее, теперь ЯОС пришла в самосогласованное состояние. До этого она находилась в раскоряке. Из-за того, что исходники для Zynq были англоязычными и не были включены в общий скрипт перевода исходников по словарям с английского на русский и обратно, было невозможно полноценно поддерживать русскоязычную ветку. Т.е., по сути, не существовало ЯОС на Zybo на русском языке. Теперь она существует. И можно, собственно, либо продолжать перевод любых модулей, включая ядро, либо развивать ОС в таком полупереведённом состоянии, либо забросить этот проект к чёртовой бабушке, почесав своё ЧСВ. Видимо, сейчас я пока ничего не буду делать, пусть отлежится.

Какие-то исходники я обещал в июне выложить, если мы до этого времени доживём. Не буду отклоняться от ранее составленных планов.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 06.05.23 20:46

Пара шагов в направлении реализации вложенных циклов команд в подвале клиента отладчика.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 15.05.23 18:26

Научился передавать распечатку стека от сервера отладки к клиенту. Хотя нормального формата вывода для неё пока что нет.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: дневник Яос

Сообщение Павиа » 26.05.23 10:51

Хотелось бы поинтересоваться каков прогресс за год насколько вырос индекс кирилличности?

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 26.05.23 22:51

Здравствуйте! Рад, что Вы живы и вспомнили про мой проектик.

6974229/22251066 ~= 0.3134334777488863

Однако основное достижение за год состояло в том, что интегрирована версия под Zybo - теперь она тоже на русском. Плюс армовская часть запускается в QEMU. В принципе вот ещё тема со сжатой информацией:

https://вече.программирование-по-русски ... ?f=5&t=369

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 26.05.23 23:28

А у Вас какие новости? Сравнил с прошологодним индексом кирилличности - он по итогу вырос меньше чем на процент за год. Такими темпами осталось примерно 70 лет до полного завершения перевода. Как я уже говорил, в одиночку этот проект мне не удастся завершить даже в том, что касается только этапа перевода. А команда из 100 человек справилась бы быстро, не только за счёт увеличения числа работающих, но и за счёт развития самой методологии. Но, чем богаты - тем и рады. Я смирился с этой реальностью. В конце концов, если я родился в неидеальном мире и за 49 с лишним лет мир не стал идеальным, то значит, он уже и не станет им.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 26.05.23 23:46

Вот кстати замер по словам - он показывает общее количество слов и различающихся слов в кириллице, латинице и дальше сравнивает.
Не помню, что он делает со смешанными словами, ихсодник тут, кому интересно:

https://tvoygit.ru/budden/ja-o-s/src/br ... -в-a2.lisp

Код: Выделить всё

(progn 
  (посчитай-слова-в-A2 #p"/y/jaos/" "/y/отчёт.текст") 
  (посчитай-долю-русских))
Русских: 1414506 (уникальных 11311)
Всего слов: 4242352 (уникальны 31182)
, доля русских = 0.333424948393191 (уникальных 0.3627412087931471)NIL

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: дневник Яос

Сообщение Павиа » 29.05.23 10:13

А у Вас какие новости?
Я жеж хобби поменял. Ушёл в железо проектирую нанокухню, думаю к концу недели магнитный столик рассчитаю и до черчу. Изображение

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 29.05.23 10:57

Мощь. Вы один в команде? Тут явно нужны и люди, и деньги. Дело стоящее. Можем завести для начала хотя бы раздел на форуме, проку будет мало, но хотя бы обозначите себя.

Аватара пользователя
КротОзёр
Сообщения: 54
Зарегистрирован: 05.01.21 02:16

Re: дневник Яос

Сообщение КротОзёр » 29.05.23 11:55

Что ж, день добрый, Павиа.

Не очень хорошо начинать с критики, но предупредить считаю обязательным, хотя бы вкратце:
GitLab — украинский ресурс, подконтрольный США
Выводы Вам делать уже самостоятельно. Как-никак война.

Здесь собираются в основном программисты, что в той или иной степени инженеры.

Первое, что в голову приходит, чем мог бы помочь:
  • Разработка ПО для расчётов (средства разработки);
  • Автоматизация управления (программирование микроконтроллеров);
  • Симуляции, что являются скорее частью первого пункта;
  • С финансами всё очень сложно. До конца года (по срокам) точно сложно.
Правом популяризации воспользоваться могу. Есть выход на общество техноэнтузиастов, что спонсируют проект "СовЭлМаш". Только если запускать, к примеру, спонсирование, то нужен уже не формат хобби, а практически бизнес-план. Как это примерно происходит тоже знаю.

В остальном же мы все простые "энтузиасты русского языка", как выразился Денис.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 08.06.23 17:30

Проект ЯОС заморожен, все планы развития отменены. Репозиторий по-прежнему тут: https://tvoygit.ru/budden/ja-o-s
Проект "программирование-по-русски" остаётся, но я вряд ли буду активно участвовать.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: дневник Яос

Сообщение Лис [Вежливый] » 09.06.23 08:36

Тебя можно поздравить, ты теперь действующий нейротехнолог?

Статью видел такую - https://www.linux.org.ru/forum/science/17246706

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 09.06.23 16:27

Нет, просто я понял, что мешаю делу, занимая то место, которое занимаю. Являюсь лже-лидером, который может угробить всё дело, из-за проблем с мотивацией. Продолжайте без меня, у вас должно лучше получиться, чем со мной. А я найду чем заняться другим.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: дневник Яос

Сообщение Лис [Вежливый] » 09.06.23 17:33

> понял, что мешаю делу, занимая то место, которое занимаю.

Как ты это понял? Какие были соображения, исходные факты и последовательности логических выводов? Я тоже хочу это понять.

Мой форум появился из-за того, что Яр написал фразу "давайте хоть как-то договоримся вместе что-то делать, и составим какой-то план". Считаю, что эта цель частично достигнута (частично, потому что там нет трудоёмкостных и временны́х оценок). Лисофорум доступнен и там можно написать что-то другое, новое, например углубиться в нейросети (это направление там недопредставлено).

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 09.06.23 18:19

Я об этом писал примерно 100 раз на своём канале в телеграме, который со вчерашнего дня называется программирование-по-русски . Если коротко, то я не одобряю победу роботов над людьми и создание электронного концлагеря. Поэтому мне не нужны ни ускорение прогресса в компьютерах, ни кибербезопасность. А ЯОС, если бы она была сделана, работала бы именно на это ввиду ряда технологических преимуществ. На другой чаше весов - поражение моей страны в войне, но это всё равно не настолько тяжёлая гиря, чтобы я мог идти вперёд без колебаний. И самое главное, даже в 2015 году было почти поздно начинать делать ЯОС. Я начал с опозданием на 3 года, а теперь уже и подавно поздно рыпаться. А война разгорается довольно быстро, несопоставимо со скоростью любых разработок, я сразу предупреждал и сразу взывал всех присоединиться именно из-за срочности вопроса. Но раз есть сомнения в нужности дела, то надо перестать его делать. Из интересного мне остаётся только внедрение русского языка в ИТ, но здесь другая ситуация - тут я уже сделал всё, что должен был сделать основоположник - расписал, как нужно внедрять РЯ в ИТ с технической точки зрения, сделал пример и всё такое. Дальше уже нужны другие люди, мне недостаточно это интересно, с учётом того, что любой другой проект в этой области будет ослабленным повторением того, что я уже сделал в ЯОС,

Просто раньше не догадывался, что нужно не драматизировать ситуацию, а отойти в сторонку и дать другим возможность что-то делать. И одновременно, чтобы они не надеялись на то, что у меня что-то получится.

Что касается ИИ, то я не буду им заниматься публично и открыто - я буду просто на этом зарабатывать, если не заленюсь.
Последний раз редактировалось БудДен 09.06.23 18:29, всего редактировалось 4 раза.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: дневник Яос

Сообщение Лис [Вежливый] » 09.06.23 18:24

> в телеграме

Я не пользуюсь, он не опенсорсный.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 09.06.23 18:35

Кстати, и этот форум я тоже закрою на запись. Всё равно в него почти никто не пишет.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 22.12.23 00:33

Сломалась загрузка в режиме ОС. После трёх дней выяснений (в фоновом режиме между других дел) выяснилось, что дело в том, что я переключил способ сборки мусора. Но в компиляторе должен быть флаг установлен, а он не установлен.

Далее два варианта - либо надо вернуть способ сборки взад, либо добавить флаг.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 25.12.23 23:22

Восстановил собираемость и запускаемость образа с HDD в ветке "главная". Инструкции не обновлены, но см. ролик:

https://dzen.ru/video/watch/6589e05939c6e24c8b15e751

Юрий
Сообщения: 35
Зарегистрирован: 11.12.18 17:08

Re: дневник Яос

Сообщение Юрий » 27.12.23 00:19

либо надо вернуть способ сборки взад, либо добавить флаг
Когда я стал жителем Подмосковья, то первое, чем меня удивили местные, так это фразой "Ехай взад" :) Просто улыбнуло :) Где парадная с поребриком, где-то дощщ с булошной. А моя бабушка вообще говорила: "Учёра былО холоднО, а нонча тёпла".

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 28.02.24 11:47

Восстановил контроль над исходниками сайта п-п-р (теперь под Ubuntu 18) и даже пополнил список проектов.

По идее, ещё нужна страничка "примеры" с красивыми примерами кода на русском, сделанными на красивом шрифте... которого пока не существует.
Также надо более подробно разъяснить идею семантического словаря. Я её то ли где-то рассказывал, то ли видео про это записывал, но не помню уже, где. Это было совсем недавно.

А вот где: https://tvoygit.ru/budden/semdict/src/b ... проекта.md

Хотя по идее для этого нужна отдельная тема.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 02.03.24 16:40

Более-менее оживил отладчик в более архитектурно оформленном варианте, когда ГПИ отделён от ядра.
Теперь пытаюсь сделать для него же хождение по машинным кодам, но квант времени исчерпался.

Ответить