Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [Все]   Вниз
  Печать  
Автор Тема: Отключение многозадачности Windows  (Прочитано 21203 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« : 10-03-2008 15:30 » 

Здравствуйте, люди добрые. Доброго вам дня али вечера. Бог в помощь. Намедни в Интернете зловонном нашел я клад золотой, вещицу чудесную. "Отключение многозадачности Windows" называется. И возрадовался я, ибо и на ужасное порождение сатансовтово управа нашлась. И написал я функцию, поразить гада способную. Функция сия проста, как козявка безгрешная, но сила страшная в ней заключается:

void TackSwitchOff(void)
{
   __asm
   {
      mov ax,0x1681
      int 0x2F
   }
}

То, что зверь, "XP" именуемый, чихнул токмо от оружия моего не удивило меня, но и братья его меньшие, цифры "95" и "98" на борту имеющие, отрыжкой на меня дохнули. Помогите, люди добрые, заточить мое оружие, много добра смогу посеять я в мире с его помощью.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 10-03-2008 15:47 » 

Оооо. Намечается еше один экспонат в нашу кунткамеру.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 10-03-2008 16:16 » 

CTAPOBEP, кто к нам из лесу придёт , тот от леса и погибнет Улыбаюсь
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 10-03-2008 16:46 » 

CTAPOBEP, это ж давно известный код для программного переключения Windows 2000 Professional в Windows 2000 Server.

А отключение многозадачности подобным способом работает только с официально зарегистрированной и активированной версией Vista Enterprise, у которой после специальной активации можно действительно отключать многозадачность таким способом.
Поскольку производитель в ближайшем будущем прекращает поддержку систем до версии 6.0, в них отключение многозадачности не предусмотрено. В случае острой необходимости необходимо обратиться к производителю. Уверен, они пойдут на встречу.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 10-03-2008 17:07 » 

Джон, спасибо ! Хоть какие-то подробности. А то я в нескольких местах этот трюк видел, но никто толком сказать ничего не может. Оно, конечно, и под DOS'ом неплохо работает... Но нет предела совершенству ! Пойду копать дальше.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 10-03-2008 17:35 » 

CTAPOBEP, а что, в досе тоже "Отключение многозадачности Windows" работает ? ))
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 10-03-2008 22:50 » 

Лёш, конечно работает. Надо только соответствующий драйвер процессора установить. Если не ошибаюсь для 80286 это был multtask.sys
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #7 : 11-03-2008 07:16 » 

я, кажется, нашёл причину, почему не работает функция. Всё дело в досадной опечатке
void TackSwitchOff(void)

теперь работает( по крайней мере на бумаге)
Записан

Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #8 : 11-03-2008 09:03 » 

Что-то у меня мозг разрывает от фразы "Отключение многозадачности Windows"
Что сие вообще значит?
Записан

Странно всё это....
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #9 : 11-03-2008 09:25 » 

Лёшка, МОЛОДЕЦ!!! Конечно же надо TaSk.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #10 : 11-03-2008 09:34 » 

LogRus, это есть всем известный "подрыв работоспособности компании" при помощи подрыва работоспособности отдельных юнитов, управляемых данной ОС. А человек - будущий вирусописатель , не иначе
Записан

CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 11-03-2008 13:53 » 

Название функции я сам придумал, это здесь при чем?

Что до остального. Дабы пресечь гнусные инсинуации, поясняю. Что есть сейчас? Сейчас есть система сбора данных (она же - измерительный комплекс), которая состоит из двух компьютеров - один работает в реальном времени под управлением DOS (он просто опрашивает внешние датчики), а второй - под управлением Windows (он красиво все обрабатывает). А связаны они через COM порты. Если бы я смог запустить программу в реальном времени под Windows, Я БЫ МОГ... /судорожно вытаскивает из кармана губозакатывательную машинку и включает ее/.
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #12 : 11-03-2008 14:07 » 

CTAPOBEP, блин повысь приоритет софтины до максимального
или используй RTOS
Записан

Странно всё это....
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 11-03-2008 16:18 » 

CTAPOBEP, ты бы с этого начал. А то так ведь и схлопотать не долго. Прецеденты уже были. Кто тебя знает - троль ты (у нас они в последнее время заводятся как тараканы), или серьёзный человек с проблемой.

Тебе сначала, надо разобраться с терминами "многозадачность", "реальное время", "Real-Time Operating System". На самом деле проблемы твоей не существует. Всё что ДОС может, может винда тоже.

зы (шёпотом) только никому не говори, что ДОС - это ОС реального времени, можно нарваться на неприятности. Посмотри здесь, что это вобще такое

Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 11-03-2008 17:26 » 

Пошутил, да) Название ваше этому способствует.

По поводу того, что Windows то же, что и Dos может. Я сделал такую штуку - функциональный генератор (буферный регистр + ЦАП и висит это все на LPT порте), а программа просто пишет в него данные по таймеру. Для проверки я играл через него музыку (wav-файлы). Так вот - под Windows искажения слышны даже на слух, никакие приоритеты не помогают, под DOS результат гораздо лучше. Впрочем, не исключено, что я чего-то не понял Улыбаюсь

А проблемы-то и правда никакой нет) То, что есть, меня в целом устраивает. Просто я случайно увидел в И-нете... Так и было написано - "Отключение многозадачности Windows" и пара строк на ассемблере. Ну я и стал рыться. Все, что нашел - программу на ассемблере, в которой были в том числе и эти строки и комментарий в том смысле, что, мол, не удивляйтесь, при запуске будет ощущение, что Windows повисла, так и должно быть. Ну и размечтался, конечно, что с COM-портов перейду на USB, а там и до BlueTooth адаптеров недалеко... Стенд в одном углу, ноутбук в другом, красота!
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #15 : 12-03-2008 09:56 » 

BlueTooth кстати очень медленные. Лучше смотри в сторону WiFi, если без проводов хочешь делать - и скорость выше, и радиус действия.

Под виндой у тебя есть возможность как сказал LogRus повысить приоритет выполняемой проги. Это пробовал?

А про LPT - просто тапорная работа скорей всего была. Тем более у тебя СОМ, кстати на каких скоростях работаешь?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #16 : 12-03-2008 16:22 » 

Джон, я делал так -

HANDLE hMyThread=GetCurrentThread(void);
BOOL result=SetThreadPriority(hMyThread, THREAD_PRIORITY_TIME_CRITICAL);
if (!result) MessageBox(NULL, "Приоритет не назначен", "", MB_OK);

Тут еще, правда, есть один нюанс. В Dos'e я пишу в порт напрямую, а в Windows - через сторонний драйвер (UserPort.sys). Может, он чего чудит ? Кто-нибудь с ним дело имел ?

Через COM порт информацию гоняю на 38400, при этом потери информации, собирал статистику, у меня составляют около 1%. Но тут большая скорость и не нужна - хосту торопиться некуда Улыбаюсь

Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #17 : 12-03-2008 18:47 » 

Хммм... для СОМ есть вобще-то serial.sys я через него скорости до 115200 бод гонял без потери инфы  с хардверным хэндшейком. Причём всё на айпишных ф-ях без модифицирования драйвера и без задирания приоритета...

Покажи кусок кода открытия порта и чтение/запись.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 12-03-2008 20:17 » 

Потеря информации на com портах, скорее связана  с качеством линии и девайсов, я даже больше скажу, если бы не отдельные схема управления comпортами, то можно было бы добиваться и на много большей скорости...
Т.е. разрешающая способность скорости порта зависит от качества линии и... от частоты процессора. К сожалению, не могу четко и ясно описать работу com порта на PC, но прекрасно знаю работу последовательных портов.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #19 : 13-03-2008 07:54 » 

Наверно, уточнение требуется... В COM порт я пишу через CreateFile, UserPort.sys использую для LPT. Ты у меня код для какого порта спрашиваешь?
Записан
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #20 : 13-03-2008 08:09 » 

Вот еще к вопросу о работе в реальном времени. Как вам это? Цитирую:

"Для сравнительно простых систем можно отказаться от использования операционных систем. Программу функционирования компьютера можно «зашить» в ПЗУ, оформив в виде модуля расширения BIOS, и эта программа получит управление от POST. Можно и не связываться с ПЗУ, а загружать программу с устройства хранения простым загрузчиком, первая ступень которого должна совпадать со стандартным начальным загрузчиком."
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #21 : 13-03-2008 09:37 » 

CTAPOBEP, "ближе к телу, как говорил Мопассан" (с) Давай разберёмся с тем, что тебе действительно нужно.

2. Это всё-равно, что космическую станцию переделать в устройство зарядки аккумуляторов. Ага Проще воспользоваться микроконтроллером.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #22 : 13-03-2008 18:04 » 

Нужен мне был ответ на вопрос - см. название темы Улыбаюсь Ответ я получил, хотя и не тот, на какой рассчитывал. Ну и на этом спасибо)

По поводу зарядки аккумуляторов космическими станциями - почему бы и нет? Если как раз лишняя под столом валяется Улыбаюсь А микроконтроллером все, скорее всего, и кончится. Пожелайте мне удачи)

Поскольку вопрос был задан, а уточнения не последовало, отвечаю на тот, который мне удобен) Вот мой код для асинхронной работы с COM-портом:


////////////////////////////////////////////////////////////////////////////////////////////////
class CComPort 
{
   void *hCom;

public:
   CComPort(char *name_port="COM1", int speed=CBR_38400);
   virtual ~CComPort();

   BOOL Error(void);
   int Read(void);
   void Write(const char* command);
};

CComPort::CComPort(char *name_port, int speed)
{
   hCom = CreateFile(name_port, GENERIC_READ | GENERIC_WRITE,
         0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);

   if (hCom == INVALID_HANDLE_VALUE) return;

   DCB dcb;
   GetCommState(hCom, &dcb);
   dcb.BaudRate = speed;
   dcb.ByteSize = 8;
   dcb.Parity = NOPARITY;
   dcb.StopBits = ONESTOPBIT;
   if (!SetCommState(hCom, &dcb))
   {
      CloseHandle(hCom);
      hCom = INVALID_HANDLE_VALUE;
   }
}

CComPort::~CComPort()
{
   if (hCom == INVALID_HANDLE_VALUE) return;

   CloseHandle(hCom);
   hCom = INVALID_HANDLE_VALUE;
}

int CComPort::Read(void)
{
   if (hCom == INVALID_HANDLE_VALUE) return -1;

   static enum {READY, WAIT};
   static int mode=READY;
   static unsigned char sReceivedChar=0;
   static OVERLAPPED o_Read={0, 0, 0, 0, 0};

   if (mode == READY)
   {
      o_Read.InternalHigh=0;
      sReceivedChar=0;
      if (ReadFile(hCom, &sReceivedChar, 1, NULL, &o_Read)) return sReceivedChar;
      if (GetLastError() == ERROR_IO_PENDING) mode=WAIT;
      return -1;
   }
   if (mode == WAIT && o_Read.InternalHigh > 0) {mode=READY; return sReceivedChar;}
   return -1;
}

void CComPort::Write(const char* command)
{
   if (hCom == INVALID_HANDLE_VALUE) return;

   DWORD iSize;
   static OVERLAPPED o_Write;
   o_Write.Offset=o_Write.OffsetHigh=o_Write.Internal=o_Write.InternalHigh=0;
   o_Write.hEvent=NULL;
   WriteFile(hCom, command, strlen(command), &iSize, &o_Write);
}

BOOL CComPort::Error(void)
{
   if (hCom == INVALID_HANDLE_VALUE) return true;
   else return false;
}

//////////////////////////////////////////////////////////////////////////////////////////////////

Один нюанс - функцию Read() нужно вызывать непрерывно в отдельном потоке (ну или хотя бы по таймеру) и все неотрицательные значения записывать в буфер.
Записан
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #23 : 16-03-2008 10:32 » 

Еще цитата в тему:

"У COM-порта макс. частота 115КГц(кажется), это спокойно можно и
таймером мерить. Хочешь большей точности -- пиши драйвер. Как -- в
конфе уже писалось не раз. В драйвере маскируем все прерывания, кроме
прерывания от COM-порта, руками ставим свой обработчик в IDT и считаем
в нем такты. Пример обработчика можно нарыть из старых, DOS-времен
прог для работы с COM-портом. У меня таких навалом. То есть фактически
на какое-то время получаем мини-RTOS. Только винда будет мертва, пока
прерывание таймера снова не разрешат.
Но иначе такой счетчик теряет
надежность. То есть дернут-не дернут управление, черт его знает.»
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #24 : 16-03-2008 18:05 » 

CTAPOBEP, на первый взгляд не увидел в твоём коде для СОМ ничего необычного (кроме может быть вопроса, а зачем тебе асинхронный режим?). Поэтому не было коментов.

А цитата... Не знаю  к чему она относилась, но в общем глупость. 1. Скорость передачи порта ограничена железом (быстродействием чипов), а не драйверами. 2. Драйвер СОМ порта и так работает по прерываниям, только винда почему-то не виснет.

Для пользы дела. Давай так. Опиши какие проблемы с быстродействием у тебя под виндой с СОМ портом, это как я понимаю было основной причиной поиска отключения многозадачности. Их и будем разбирать. На всё остальное извини просто нет времени. Ок?

Первый вопрос был поставлен - зачем тебе именно асинхронный режим? Ещё в догонку, какой протокол используется для обмена инфой?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #25 : 16-03-2008 19:14 » 

Как сказал Джон, скорость порта ограничена железом (чипами, обслуживающими сам порт), и частотой которая поступает на эти чипы.
Чтобы тебя не сильно смущала скорость порта, о которой ты знаешь, ответь, например на такой вопрос, какая скорость, например у DSL модемов, и поскольки проводам они работают (сколько проводов у RS232 интерфейса, сколько проводов у 485 интерфейса?). Что такое асинхронный режим, синхронный?

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Люсь
Модератор

ru
Offline Offline
Пол: Женский

« Ответ #26 : 17-03-2008 03:54 » 

чё эта тема в общении делает? Улыбаюсь))
Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #27 : 17-03-2008 09:04 » 

Люсь, определимся с направлением - потом перенесу.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Люсь
Модератор

ru
Offline Offline
Пол: Женский

« Ответ #28 : 17-03-2008 09:57 » 

Улыбаюсь)
не, я так, просто Улыбаюсь даже интересно почитать Ага
усё, молчу, мой пост в ответе не нуждается.
продолжайте пожалуйста Улыбаюсь
Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #29 : 18-03-2008 16:51 » 

Первое.

Барышне - цветы. Прямо из лесу Улыбаюсь


Второе.

Последняя цитата была... Хммм... Не могу найти... Впрочем, это к данной теме не относится.

Третье.

Видимо, я не совсем точно выражаюсь... Отвлекаюсь все время, да. Как я уже писал, есть два компьютера - один работает под Windows (хост), другой - под DOS. Хосту работать в реальном времени не нужно, его задача - запросить уже собранную информацию и обработать ее. Передача информации тоже особых проблем не вызывает. Все самое сложное происходит на втором компьютере - он-то и должен в реальном времени опрашивать внешние устройства. Сейчас он работает под DOS, поскольку она объективно лучше подходит для этой цели (кстати, когда я веду мышь по окну программы-генератора (той, что под Windows), на выходе получаю ужасный треск). Чтобы можно было работать под Windows (которая даст гораздо больше возможностей, в частности, для измерения времени), и нужно отключить эту самую пресловутую многозадачность. Переключения задач, кстати, происходят по системному таймеру, его можно как-то отключить? Программно или аппаратно, неважно. И каковы будут последствия?

Четвертое.

Асинхронный режим работы с COM-портом нужен, чтобы можно было работать в одном потоке. Протокол обмена разработал сам, просто система команд, обвешанных контрольными суммами.

Пятое.

А если поставить вопрос с ног на голову? Точнее, поставить так, как его следовало поставить с самого начала Улыбаюсь Какие вообще есть операционные системы, позволяющие работать в реальном времени? Предполагается, что более предпочтительной будет являться такая система, которая реже прерывает работу программы.
« Последнее редактирование: 19-03-2008 09:43 от Джон » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #30 : 18-03-2008 22:20 » 

CTAPOBEP, Ты что то в не ту степь смотриш. 115 кбит/с это не та скорость, из за которой стоит убивать всю систему. Конечный пользователь продукта не простит. Используй уже готовый драйвер COM портов самой операционной системы. Просто считывай с него синхронно данные. Кстати тут твоя ошибка. Синхронное чтение это дается задание на чтение, и весь остальной поток стоит. Пока не придут данные, он и будет стоять. Асинхронное чтение, это когда дается задание на чтение, а поток продолжает дальше работать. Когда придут данные, они или через функцию обратного вызова или через прерывание будут переданы в поток.

Кстати, а почему именно передавать данные через Com порт? Почему нельзя передавать данные через сетевую карточку. Меньше мароки и с намного большими скоростями.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Люсь
Модератор

ru
Offline Offline
Пол: Женский

« Ответ #31 : 19-03-2008 03:47 » 

Спасибо за цветы, екзешные... Не полезла.
Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #32 : 19-03-2008 09:41 » 

Времени мало - поэтому коротко.


Первое.

Барышне - цветы. Прямо из лесу Улыбаюсь

Экзешник это лишнее - поэтому убрал. Исправляй на jpeg.

Цитата
Второе.Последняя цитата была... Хммм... Не могу найти... Впрочем, это к данной теме не относится.

Ну и фиг с ней.

Цитата
Третье.
Видимо, я не совсем точно выражаюсь... Отвлекаюсь все время, да.

Очень на то похоже.

Цитата
(кстати, когда я веду мышь по окну программы-генератора (той, что под Windows), на выходе получаю ужасный треск).

Это проблема матери-мыша-экрана проводов и тд

Цитата
Чтобы можно было работать под Windows (которая даст гораздо больше возможностей, в частности, для измерения времени), и нужно отключить эту самую пресловутую многозадачность. Переключения задач, кстати, происходят по системному таймеру, его можно как-то отключить? Программно или аппаратно, неважно. И каковы будут последствия?

ЗАЧЕМ?

С чего ты взял, что твоя программа будет слишком медленной? Куча программ работает параллельно при этом обрабатывая ещё и СОМ-порт. И ни у кого проблем не возникает.

Цитата
Четвертое.

Асинхронный режим работы с COM-портом нужен, чтобы можно было работать в одном потоке. Протокол обмена разработал сам, просто система команд, обвешанных контрольными суммами.

Так может быть в этом всё дело? Как я уже говорил - тн hardware handshake позволяет на больших скоростях работать без потери данных. И выдумывать ничего не надо.

Цитата
Пятое.
А если поставить вопрос с ног на голову? Точнее, поставить так, как его следовало поставить с самого начала Улыбаюсь Какие вообще есть операционные системы, позволяющие работать в реальном времени? Предполагается, что более предпочтительной будет являться такая система, которая реже прерывает работу программы.

Я тебе линк дал - смотрел? Там есть целый список. НО ЗАЧЕМ???

CTAPOBEP, Ты что то в не ту степь смотриш. 115 кбит/с это не та скорость, из за которой стоит убивать всю систему.

Полностью согласен.

Тебе надо просто создать тред, в котром читать данные из порта синхронно, а когда надо писать, или наоборот (тут просто надо распределить приоритетеы, что важней).
« Последнее редактирование: 19-03-2008 09:44 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #33 : 19-03-2008 16:27 » 

Программу в jpeg не перекатаешь. Просто хотелось людей порадовать... Ну, бог с ней.

По сути. Вы меня все время пытаетесь приземлить. Все, что вы пишете, и так понятно, все эти проблемы имеют решение и я их так или иначе решу! Я же пытаюсь заставить учавствовать вас в решении задачи, которая ОЧЕВИДНО НЕ ИМЕЕТ РЕШЕНИЯ. Ну неужели вам ни капельки не интересно?

Цитата. Из Маргариты Пушкиной.

"Рожденный ползать крылья привязал к спине,
Покрыл их золотом отборным,
Но мы-то знаем, что в небесной тишине
Есть трассы лишь для непокорных!"
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #34 : 19-03-2008 19:10 » 

CTAPOBEP, Интересно что? Убить многозадачность у винды? Переходи в кернел моду. Коцай планировшик задач и будет тебе счастье. А еше лучшее решение ֵчистый MS-DOS. Убиваеш все прерывания, чтоб не мешали работать своей занудностью. И получаеш полноценную однозадачную систему.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Scorp__)
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #35 : 19-03-2008 20:15 » 

CTAPOBEP, есть RTOS модуль для винды, который позволяет ей работать как системе реального времени. Только он ставится исключительно на Embedded версии и стоит денег. Так что задача имеет решение, даже если писать RT модуль самому, надо как Finch написал, делать в кернел мод свой планировщик.

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

Короче, про теорию полета что-нибудь почитать советую )) И попрактиковаться не со старыми летательными аппаратами и не с  неработающими техниками полета )
Записан

- А Вы сами-то верите в привидения?
- Конечно, нет, - ответил лектор и медленно растаял в воздухе.
CTAPOBEP
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #36 : 22-03-2008 09:02 » 

Ну вот !!! Уже гораздо лучше ! А то куда-то в сторону меня тянут Улыбаюсь
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #37 : 22-03-2008 10:31 » 

А то куда-то в сторону меня тянут Улыбаюсь

Дык в правильную же сторону. На остальное сорри - времени нет.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: 1 2 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines