2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4
 
 Re: Hello world
Сообщение16.06.2013, 21:31 
Наверное, чтобы испортить жизнь другому приложению в обход ОС :-)

ЗЫ а вообще, все это очень познавательно и интересно, спасибо ТС и участникам темы. Это не МК с Гарвардской архитектурой с 16 бит шиной памяти и 8 бит шиной команд, тут напрямую ничего не доступно, только через виртуальные машины со своим набором соглашений и условностей... Читаю блог раз и два и впечатляюсь...

 
 
 
 Re: Hello world
Сообщение17.06.2013, 22:07 
Аватара пользователя
_Ivana в сообщении #737412 писал(а):
Наверное, чтобы испортить жизнь другому приложению в обход ОС :-)

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

 
 
 
 Re: Hello world
Сообщение17.06.2013, 23:12 
Это называется межпроцессное взаимодействие, или IPC (гуглите). В современных ОС (особенно класса Unix) оно хорошо развито. DOS же -- однозадачная система (одновременно не могут работать несколько программ), поэтому IPC там не имеет смысла.

(Оффтоп)

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

 
 
 
 Re: Hello world
Сообщение18.06.2013, 15:20 
lena7 в сообщении #737729 писал(а):
DOS же -- однозадачная система (одновременно не могут работать несколько программ)

Она еще и однопользовательская. Дело в том, что никакой аппаратной поддержки многозадачности и разделения времени в 8086 не было — кооперативная многозадачность, конечно, возможна... но весьма хрупка. Полноценная появилась только в 80386.

 
 
 [ Сообщений: 49 ]  На страницу Пред.  1, 2, 3, 4


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group