PC-01 Lviv
http://pc01.lviv.ua/forum/

Многозадачная операционная система для ПК-01
http://pc01.lviv.ua/forum/viewtopic.php?f=8&t=249
Page 1 of 1

Author:  sas9568635 [ 23 Jan 2014, 15:10 ]
Post subject:  Многозадачная операционная система для ПК-01

Интересно, если к ПК-01 прикрутить флешку, возможно ли написать какую нить систему для него, что она была многозадачной?! т. е. ИМХО в ПК-01 нет прерываний и поэтому создать многозадачную операционную систему для него проблематично, во всяком случае без переделки существующих программ так чтобы они запускались под эту операционную систему?! Правильно ли я понимаю реализацию многозадачной ОС?... возможно только через прерывания которых во ПК-01 нет?

Author:  b2m [ 23 Jan 2014, 15:21 ]
Post subject:  Re: Многозадачная операционная система для ПК-01

Quote:
ИМХО в ПК-01 нет прерываний и поэтому создать многозадачную операционную систему для него проблематично, во всяком случае без переделки существующих программ так чтобы они запускались под эту операционную систему?! Правильно ли я понимаю реализацию многозадачной ОС?... возможно только через прерывания которых во ПК-01 нет?
Есть два вида многозадачности: вытесняющая и кооперативная. Для реализации вытесняющей многозадачности прерывания по таймеру просто необходимы, т.к. переключение задач происходит именно по прерыванию. А вот в кооперативной многозадачности программы обязаны сами отдавать управление после некоторого времени, и тут прерывания не нужны. Но нужно, чтобы программисты соблюдали это соглашение.

Author:  sas9568635 [ 23 Jan 2014, 17:00 ]
Post subject:  Re: Многозадачная операционная система для ПК-01

Quote:
А вот в кооперативной многозадачности программы обязаны сами отдавать управление после некоторого времени, и тут прерывания не нужны. Но нужно, чтобы программисты соблюдали это соглашение.
Т.е. в ПК-01 если реализовывать то можно "кооперативной многозадачности"!?... но надо "перелахмачивать" программы не писанные под эту операционку?! Так ?
А можно ли это автоматизировать?... т.е создать программу которая сам "перепишит" те программы сделает код для той операционки?
В моём понимании старую программу нужно заменить все переходы и вызовы процедур, на переходы на модуль ОС который отдаст ресурс другим прогамам, а после будет возвращать туду куда надо прерванной программе. Так получится ?

Author:  Zelya [ 23 Jan 2014, 19:39 ]
Post subject:  Re: Многозадачная операционная система для ПК-01

О какой "этой" операционке речь?

Author:  NeoSpectruman [ 24 Jan 2014, 00:22 ]
Post subject:  Re: Многозадачная операционная система для ПК-01

Quote:
какую нить систему для него, что она была многозадачной?!
дяденька успокойтесь
пойдите попейте чайку
поспите...
Quote:
в ПК-01 нет прерываний и поэтому создать многозадачную операционную систему для него проблематично, во всяком случае без переделки существующих программ так чтобы они запускались под эту операционную систему?! Правильно ли я понимаю реализацию многозадачной ОС?... возможно только через прерывания которых во ПК-01 нет?
без прерываний, при 64 кило рамы и 2.2 мгц
1 кому оно нужно?
2 кто под это будет писать?
3 производительность пк-01 подели на 100

Quote:
А можно ли это автоматизировать?... т.е создать программу которая сам "перепишит" те программы сделает код для той операционки?
конечно нет ничего невозможного

если софт не юзает распаковку своего кода и не злоупотребляет его перемещением и модифицированием то вполне можно усеять код костылями для обращениями к планировщику задач.

но нужно же где то еще разместить точки входа
вот только где. подключалась бы рама вместо пзу можно было бы дето там.

а пересечение адресов 2-х программ?
были бы ст 4 окна 0000-3fff 4000-7fff 8000-bfff c000-ffff и куча страничек памяти
по 3-4 страници на прогу...
а их нет

так что теперь еще нужно будет чтобы адреса условных безусловных переходов генерировались при загрузке программы в память
а найти и изменить код типо
ld hl,4000h
ld (hl),a

а отличить его от записи в видео память?

ld hl,4000h
....
....
ld (hl),a
а если между ними куча кода?
условные безусловные переходы?


надоело писать...

Author:  MARAT_BEST [ 24 Jan 2014, 14:29 ]
Post subject:  Re: Многозадачная операционная система для ПК-01

Многозадачная операционная система для ПК-01
не реально это , если только не в ПК-04 :)

Author:  b2m [ 24 Jan 2014, 16:25 ]
Post subject:  Re: Многозадачная операционная система для ПК-01

Quote:
но надо "перелахмачивать" программы не писанные под эту операционку?! Так ?
Не надо трогать старые программы, они всё равно не рассчитывают на присутствие ОС и могут её порушить.
Более того, придётся написать свой ассемблер, который будет генерировать перемещаемый код, т.к. программы не должны работать по фиксированным адресам. Они должны будут загружаться в свободный кусок ОЗУ и только в нём работать.
А потом уже может быть "перелохматить" программы, для которых есть исходники, и которые не сложно адаптировать для "твоей" ОС.

Author:  DenVW [ 17 Apr 2024, 12:26 ]
Post subject:  Re: Многозадачная операционная система для ПК-01

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

Многозадачность в операционных системах обычно достигается за счет использования прерываний или других механизмов, которые позволяют системе переключаться между задачами. Это позволяет системе эффективно использовать ресурсы и обеспечивать отзывчивость.

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

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

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/