Многозадачная операционная система для ПК-01

Про все на свете
Post Reply
sas9568635
Posts: 372
Joined: 20 Apr 2012, 16:00
Location: Конотоп

Многозадачная операционная система для ПК-01

Post by sas9568635 »

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

Re: Многозадачная операционная система для ПК-01

Post by b2m »

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

Re: Многозадачная операционная система для ПК-01

Post by sas9568635 »

b2m wrote: А вот в кооперативной многозадачности программы обязаны сами отдавать управление после некоторого времени, и тут прерывания не нужны. Но нужно, чтобы программисты соблюдали это соглашение.
Т.е. в ПК-01 если реализовывать то можно "кооперативной многозадачности"!?... но надо "перелахмачивать" программы не писанные под эту операционку?! Так ?
А можно ли это автоматизировать?... т.е создать программу которая сам "перепишит" те программы сделает код для той операционки?
В моём понимании старую программу нужно заменить все переходы и вызовы процедур, на переходы на модуль ОС который отдаст ресурс другим прогамам, а после будет возвращать туду куда надо прерванной программе. Так получится ?
User avatar
Zelya
Site Admin
Posts: 1071
Joined: 24 Jul 2008, 12:05

Re: Многозадачная операционная система для ПК-01

Post by Zelya »

О какой "этой" операционке речь?
NeoSpectruman
Posts: 145
Joined: 21 Aug 2012, 22:30

Re: Многозадачная операционная система для ПК-01

Post by NeoSpectruman »

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

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

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

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

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

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

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

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


надоело писать...
User avatar
MARAT_BEST
Posts: 341
Joined: 13 Feb 2012, 15:32
Location: Россия

Re: Многозадачная операционная система для ПК-01

Post by MARAT_BEST »

Многозадачная операционная система для ПК-01
не реально это , если только не в ПК-04 :)
b2m
Posts: 115
Joined: 29 Mar 2012, 21:35
Contact:

Re: Многозадачная операционная система для ПК-01

Post by b2m »

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

Who is online

Users browsing this forum: No registered users and 0 guests