Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  05:48[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 6256 сообщений

Добавить свое сообщение

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 2946—2937 | 2936—2927 | 2926—2917 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 333


№ 2936   21-02-2007 15:33 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2935« (горемыка)
___________________________

Ответ на »сообщение 2933« (info21)
___________________________

Изо всех сил верю в то, что курс Ваш - на уровне мировых стандартов и выше. Искренне верю.


Изо всех сил верю в Вашу искренность.

Дайте ...

А Вы что мне дадите?

... и все, больше мне ничего для полного счастья не надо.

А вдруг Вам не понравитца? Такой облом в одном шаге от полного счастья?

Нет уж, увольте, не могу принять на себя такую ответственность.

С уважением,


№ 2935   21-02-2007 08:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2933« (info21)
___________________________

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


№ 2934   21-02-2007 07:22 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2900« (Как слышно? Приём!)
___________________________
В этой презентации есть ещё одна фраза, которую без устали повторяют наши славные оберонщики:

Training good programmers does not mean starting them on currently fashionable languages and tools

У скимеров (schemers), кстати, поболее оснований на сетования по поводу новомодных Яв и СиШарпов, а также на призывы изучать классику (то бишь Scheme), чем у оберонщиков - Scheme ведь куда старше Оберонов...


Ответ на »сообщение 2933« (info21)
___________________________

Могу примерно то же сказать про свой курс, основанный на Компонентном Паскале.
Разница в том, что я в МГУ приходящий человек, поэтому курс имеет специальный характер.

А материалы по Вашему курсу где-нибудь доступны вне МГУ? Было бы любопытно сравнить...


№ 2933   21-02-2007 01:54 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2884« (Geniepro)
___________________________

Раз уж тут обсуждаются принципы ОО-проектирования, не могу удержаться от ссылки:

"How to Produce the Best OO Programmers" by Shriram Krishnamurthi


Могу примерно то же сказать про свой курс, основанный на Компонентном Паскале.
Разница в том, что я в МГУ приходящий человек, поэтому курс имеет специальный характер.


№ 2932   21-02-2007 01:51 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2892« (Сергей Перовский)
___________________________

Ответ на »сообщение 2889« (info21)
___________________________
>>>Сильное впечатление, что С.П. не прочувствовал прелесть и мощь схемы "software bus".
А так же модульного и функционального программирования, SQL, ADO, .NET и многого другого :)
Что не мешает мне всем этим пользоваться.
Сколько можно сравнивать микроскоп с радаром...
Причем в большинстве случаев на опыте забивания гвоздей :)


Я все-таки остаюсь при своем мнении 8))
Это просто в порядке feedback.
Просто подробно разбирать сейчас не могу...


№ 2931   21-02-2007 01:47 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2900« (Как слышно? Приём!)
___________________________

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


Вот в этот момент и нужно включать "software bus" ...


№ 2930   21-02-2007 01:44 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2922« (Сергей Губанов)
___________________________

Эта подсистема внутри себя делится, будем так говорить, на "каркас" и "плагины".

Да, не хватает терминологии для обсуждения специфики О/ББ.
Пока не назвал, вроде и нет его.
С другой стороны, плавают какие-то слова, малопривязанные к реальности -- и вроде что-то "есть".

Еще промелькнул где-то очень славный термин IDEE = integrated development and Execution environment. Надо регулярно использовать.


№ 2929   21-02-2007 01:04 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2928« ()
___________________________

Надо не только учить матчасть но и учиться читать написанное.

Следите внимательнее за обсуждением. И поменьше поучений. Повторю, о чем был инициирующий постинг  »сообщение 2905«.

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


№ 2928   21-02-2007 00:10 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2927« (Руслан Богатырев)
___________________________
Надо не только учить матчасть но и учиться читать написанное. В оригинальном постинге речь о загрузке двух одинаковых или немного отличающихся приложений приложений (не двух одинаковых модулей). Два редактора (именно два, а не два окна одного редактора) это и есть два приложения. Приведенная цитата хороша и длинна и как обычно не связана с обсуждением. Как например эта цитата обьясняет одновременную загрузку Edir и XE?
Сообщение не подписано


№ 2927   20-02-2007 14:13 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2921« ()
___________________________

В "класической ОС Oberon"  нет никаких проблнм ни в запуске двух копий одного приложения ни в запуске двух немного отличающихся копий.

Какое отношение в системе Oberon загрузка документов в редактор имеет к загрузке модулей?

Посмотрите текст модуля Modules -- исходник линкующего загрузчика системы Oberon. Модуль делался Виртом  (*NW 16.2.86 / 7.4.91*).  Он приведен в книге N.Wirth, G.Gutknecht “Project Oberon. The Design of an Operating System and Compiler” (cтр.149). Если не трудно, ткните, пожалуйста, пальцем, где там допустимы к загрузке две копии одного модуля (с одинаковыми именами).

Развернутые пояснения о кухне загрузки и линковки см. ниже (стр. 144-153).

6. The Module Loader

When the execution of a command M.P is requested, module M containing procedure P must be loaded, unless it is already loaded because a command from the same module had been executed earlier or the module had been imported by another module before. Modules are available in the form of so-called object files, generated by the compiler (or the assembler). The term loading refers to the transfer of the module code from the file into main store, from where the processor fetches individual instructions. This transfer involves also a certain amount of transformation as required by the object file format on the one hand and the storage layout on the other. A system typically consists of many modules, and hence loading modules also involves linking them together, in particular linking them with already loaded modules. Before loading, references to another module's objects are relative to the base address of this module; the linking or binding process converts them into absolute addresses.
<…>
The linker and loader are integrated and fast enough to avoid any desire for pre-linking. Furthermore, the extensibility of a system crucially depends on the possibility to link additional modules to the ones already loaded by calls from any module. This is called dynamic loading. This is not possible with pre-linked object files. Newly loaded modules simply refer to the loaded ones, whereas pre-linked files lead to the presence of multiple copies of the same module code.
<…>
The loader is represented by procedure ThisMod in module Modules. This procedure accepts a name and returns a pointer to the specified module's descriptor. It first scans the list of descriptors for the named module. If it is not present, the module is loaded and added to the list.

When loading, the header of the respective object file is read first. It specifies the required size of the block. Both descriptor and block are allocated by procedure Kernel.AllocBlock. First, the header indicating the lengths of the various sections of the load file, and thereafter the import section are read. For each import, procedure ThisMod is called recursively. Because cyclic imports are excluded, recursion always terminates. After the loading of the imports, loading of the client proceeds by allocating a descriptor and a block, and then reading the remaining sections of the file. Each module is identified by its descriptor's address.
<…>
When a module is no longer needed, it should be possible to unload it; and when it is to be replaced by a new, perhaps corrected version, it must be unloaded. Obviously, in a hierarchy of modules, no module must be removed before its clients are removed. A procedure for unloading must therefore ensure that no clients exist.
For this purpose, each module descriptor is given a reference count. The field refcnt is initialized to zero when a module is loaded, and incremented each time the module is imported by a newly loaded client. Procedure Free checks whether or not this count is zero. Its parameter all indicates whether only the specified module is to be unloaded, or the process is to be transitive, i.e. applied to all its imports, too. Hence Free, or rather the local procedure unload, is recursive. We emphasize that unloading is never automatic, but must be explicitly requested by the system's user. The global variable res records the result of unloading:
0: unloading completed
1: module is not loaded
2: cannot be unloaded, because clients exist

Unloading a module is a tricky operation. One must make sure that no references to the unloaded module exist in the remaining modules and data structures. Unfortunately, this is not at all easy and is not guaranteed in the Oberon System. The violating culprits are procedure variables. If a procedure of a module A is assigned to a variable of a module B, and if A is unloaded, the procedure variable holds a dangling reference to the unloaded module's code block. In systems with virtual addressing (Ceres-1 and Ceres-2), the problem is solved by never reusing code addresses, i.e. by strictly sequential allocation in virtual address space. A dangling reference then points to a not allocated page, causing an address (NIL) trap when used. The situation is unsatisfactory, however, when code space is reused (Ceres-3). 




<<<... | 2946—2937 | 2936—2927 | 2926—2917 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 333


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования