OSDev
http://osdev.su/

Теория ОС
http://osdev.su/viewtopic.php?f=5&t=171
Страница 3 из 5

Автор:  SII [ 29 ноя 2007, 17:13 ]
Заголовок сообщения:  Re: Теория ОС

alexei

Цитата:
Я, например, не могу согласиться, что рисование рамочек на окошечках и обеспечение разнообразия шрифтов - это функции ОС, а не того, что когда-то называли "пакетом стандартных программ"


Как ни странно, я тоже так считаю. В дистрибутив ОС может входить графическая оболочка (или даже несколько, как в Линух), и я даже отношу такие оболочки к системному ПО -- но не к самой ОС. В моём понимании к ОС относится то, что обеспечивает "API низкого уровня" -- управление процессами, потоками, памятью, синхронизацией, межпроцессным взаимодействием и вводом-выводом (опять-таки низкоуровневым -- на уровне файлов и базовых операций внешних устройств).

Автор:  dragon [ 29 ноя 2007, 19:10 ]
Заголовок сообщения:  Re: Теория ОС

Для меня ОС - это комплекс программных средств, обеспечивающих работу компьютера и всякие виды взаимодействия. Тоесть я понимаю под ОСью абсолютно всё ПО, которое установлено на компьютер, которое, в свою очередь включает ядро, драйвера, стандартные утилиты, приложения... Ядро включает в себя наборы API ОС, среди которых и работа с пользовательским интерфейсом. Где лежит реализация API пользовательского интерфейса - уже технический вопрос (в ядре, компонентом ядра, или пользовательским приложением). А вообще предлагаю пользоваться общепринятыми понятиями: http://ru.wikipedia.org/wiki/Операционная_система

Автор:  Himik [ 29 ноя 2007, 19:48 ]
Заголовок сообщения:  Re: Теория ОС

Я сейчас как раз собираюсь реализовать SEH, в том числе для поддержки Windows программ.
У меня многие программы будут работать в одном адресном пространстве. Я предполагаю, что в большинстве случаев ошибочные программы не повредят другим. Адресное пространство содержит большое количество недоступных страниц (и между всеми блоками памяти), и любой выход за границы будет сразу же отловлен. А код программ вообще read-only.

Автор:  SII [ 29 ноя 2007, 20:11 ]
Заголовок сообщения:  Re: Теория ОС

Dragon

Цитата:
Тоесть я понимаю под ОСью абсолютно всё ПО, которое установлено на компьютер


Хм... Тетрис в качестве компонента ОС... довольно оригинально :)

Chizh

Цитата:
У меня многие программы будут работать в одном адресном пространстве. Я предполагаю, что в большинстве случаев ошибочные программы не повредят другим


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

Автор:  vkos [ 29 ноя 2007, 20:18 ]
Заголовок сообщения:  Re: Теория ОС

На счёт ООП.
Во-первых, неверно, что ООП = классы.
Во-вторых, мне кажется, что если писать микроядро, можно обойтись без ООП, т.к. кода будет немного. А если монолитное (или какое-нибудь объёмистое приложение), то лучше применять ООП, т.к. модулей в данном случае много.

Автор:  Himik [ 29 ноя 2007, 20:30 ]
Заголовок сообщения:  Re: Теория ОС

Цитата:
При таком подходе, однако, "вредительство" не исключено. Ведь ошибочный указатель может "промахиваться" не на пару байт, а на пару мегабайт...
//SII 29.11.2007, 20:11

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

Автор:  Himik [ 29 ноя 2007, 20:41 ]
Заголовок сообщения:  Re: Теория ОС

vkos, в любом самом необъектном ядре, даже написанном на Ассемблере, всё состоит из объектов, только написанных на Ассемблере.

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

Автор:  vkos [ 30 ноя 2007, 14:36 ]
Заголовок сообщения:  Re: Теория ОС

Цитата:
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><td id='QUOTE'><!--QuoteEBegin-->
При таком подходе, однако, "вредительство" не исключено. Ведь ошибочный указатель может "промахиваться" не на пару байт, а на пару мегабайт...

Теоретически, на любого человека в любой момент может упасть метеорит. Т.е. надо учитывать саму вероятность :)
<!--QuoteEnd-->QUOTE<div class='postcolor'><!--QuoteEEnd-->
Ну вероятность может быть достаточно большой... Например, неопытный программист на C может написать:
Код:
...
int a[10000];
for (i=0;i<10000;i++){
  a[i] = i;
}
...
for (i=0;i<10000;i++){
  scanf("%d", a[i]);
}

А в такой системе после этого числа введённые с клавиатуры введутся в адреса с 0 по 10000. И если там было прложение, думаю ему очень не повезёт...

Автор:  pushkoff [ 30 ноя 2007, 17:31 ]
Заголовок сообщения:  Re: Теория ОС

vkos
Неопытный программист в момент отладки найдет эти баги и получит опыт... С этого начинали все и на всех языках программирования...

Автор:  Himik [ 30 ноя 2007, 19:23 ]
Заголовок сообщения:  Re: Теория ОС

Цитата:
А в такой системе после этого числа введённые с клавиатуры введутся в адреса с 0 по 10000. И если там было прложение, думаю ему очень не повезёт...
//vkos 30.11.2007, 14:36

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

Страница 3 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/