Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Параллельное программирование на Си 
V
    Опции темы
magesi
  Дата 23.6.2012, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



EvilsInterrupt, там это где? где нет: COM/DCOM/COM+ для нормального общения с железками? там где когерентность процессов в Апоже? Там где непонятно по каким принципам были выбраны структуры для данных? где выбраны были на самые лучшие алгоритмы по асимптоте? где нет прослойки нормальной между ring0 && ring3 ( которая в 7 и 8 винде есть ), там где тонна goto в исходниках ядра, где не требуется совершенно? ты про этот [англ.]crap? )

Под *nix много, что понимается, даже такая экзотика, как Plan9 , где нет рутов... А можно заняться сексом с Minix smile  я же о конкретных планах не рассказал

PS
Офигеешь , но в Винде тоже маны есть!

Через /? | more  smile да и последних конослях, аля poweshell на man не скупились, даже, как *nix вызывается.

А что, для Венды читать надо меньше?  smile Что только работа с COM-объектами стоит с подсчетом ссылок.  smile 

ты попробуй нативно без всяких COM-объектов с usb взять битик хоть в Винде новой ( 7-8 ), т.е. без применения всякого готового ( libusb ( хотя это не работает нормально ), COM и прочего... ), это гораздо тяжелее будет, чем под *nix

boostcoder, потом для ее цели уже был дан и код по dos и turbo c с 2-умя ключевыми моментами по работе с LPT, и сказали про семафор  smile 

Я бы помог, все реализовать до коцна, но сейчас под рукой Windows 95 и модема с LPT портом ( да и LPT порта на компе ) - нету  smile 

Да и наверное, и у нее нет, это только в доисторическом универе экспонат остался такой, там наверное конкретно тестить и можно только.

Это сообщение отредактировал(а) magesi - 23.6.2012, 17:04
PM MAIL   Вверх
boostcoder
Дата 23.6.2012, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(magesi @  23.6.2012,  16:42 Найти цитируемый пост)
EvilsInterrupt, там это где? где нет: COM/DCOM/COM+ для нормального общения с железками? там где когерентность процессов в Апоже? Там где непонятно по каким принципам были выбраны структуры для данных? где выбраны были на самые лучшие алгоритмы по асимптоте? где нет прослойки нормальной между ring0 && ring3 ( которая в 7 и 8 винде есть ), там где тонна goto в исходниках ядра, где не требуется совершенно? ты про этот [англ.]crap? )

под *nix много, что понимается, даже такая экзотика, как Plan9 , где нет рутов и можно заняться сексом с Minix   я же о конкретных планах не рассказал

может тебе в холивары?
странно подобное слышать от человека не работающего с линукс. это по принципу "верю во все что мне говорят" ?

PM WWW   Вверх
margo1111
Дата 23.6.2012, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



дос не дос, фиг знает))) разберусь сама потом, мне главное логику понять всего этого. Про семафоры, как я поняла: может находитс в трех состояниях: положит, отриц, нуль, типа прибавляет или вычитает значения для того чтобы определит состояние занят или свободен,  в моем случае необходимо создать 3 канала передачи, занято свободно мне этот факт не важен, мне просто надо чтобы одновременно по двум каналам я смогла передать различную информацию. Смысл в том что модем сделан на основе микросхемы которая рассчитана на передачу по трем каналам, но в типовой схеме её включения без LC-фильтра по расчетам переходного затухания качественная информация одновременно по нескольким каналам невозможна, так как большое влияние соседних каналов, я ставлю этот фильтр, и с ним эта передача по нескольким каналам должна быть(опят же по расчетам) возможна. Так при передаче информации я ввожу сетевой адрес модема, который должен принять эту информацию и несущую частоту, занят этот канал или нет мне неважно, я буду делать так что он свододен и от программы этого узнавать не требуется. Мне просто с помощью программы надо как то параллельно подать информацию на два канала, то есть задать параллельно два несущие частоты. Возможно ли это осуществить с помощю семафоров? 
PM MAIL   Вверх
boostcoder
Дата 23.6.2012, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



margo1111, забудь про семафоры. в DOS`е их нет.
для начала определись, под какую ОС задачу решать нужно?

PM WWW   Вверх
margo1111
Дата 23.6.2012, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



Цитата(magesi @ 23.6.2012,  16:42)
Да и наверное, и у нее нет, это только в доисторическом универе экспонат остался такой, там наверное конкретно тестить и можно только.

Именно!!
PM MAIL   Вверх
magesi
  Дата 23.6.2012, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



Цитата(boostcoder @  23.6.2012,  17:04 Найти цитируемый пост)
может тебе в холивары?странно подобное слышать от человека не работающего с линукс. это по принципу "верю во все что мне говорят" ?

Почему, ты думаешь , что я не работал?  smile 

Мне уже под Android приходилось писать драйвер по работе с веб-камерой на NDK ( причем самые первые версии Андроида, когда еще попсовая Java там была , и все нормальное через NDK делали, и через JNI уже отдавали в Java , что рисовать на выходе ), и с ДПХ/алгоритмом Хаффмана приходилось имплементировать.

Работал я там, нет там нормального ничего ( по крайней мере не было, что на подобии легкого общения с железами, как: COM у Венды ), libusb и всякие 3-rd party самодельные либы, были полурабочим ( а порой и нерабочим ) куском, поэтому приходилось отказываться.

А что там  есть нормальная защита от проникования в ring0? или ядро переписали в нормальный вид? что-нибудь из этого сделали, именно 100% рабочим, а не черновые вар-ты?

Добавлено @ 17:10
Цитата(boostcoder @  23.6.2012,  17:07 Найти цитируемый пост)
margo1111, забудь про семафоры. в DOS`е их нет.

а с чего их нет? mutex/spinlock там что ли? ( в целом это в какой-то мере и есть упрощенный семафор )

а кто ей мешает самой модель семафора организовать?

Цитата(boostcoder @  23.6.2012,  17:07 Найти цитируемый пост)
для начала определись, под какую ОС задачу решать нужно?

win95 у них там, она уже писала

Цитата(boostcoder @  23.6.2012,  17:04 Найти цитируемый пост)
 это по принципу "верю во все что мне говорят" ? 

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

ты исходы открывал всяких GNU-проектов, я всегда шалел, почему там не могу даже нормальные алгоритмы по сортировки выбирать?

возьми исходники FireFox , аж в комментах написано, что через g++ компилиться, код выглядит, как чисто сишный ( причем и для чистого си - плохой ), много goto ( причем с goto это болезнь какая-то у практически всех GNU проектов любого уровня сложности ), много где указатели в виде типа возвр. описаны ( за что можно смело насиловать ), в качестве алгоритма сортиворки merge sort ( слиянием ), а почему не Хоара ( quick sort ), это нормально? И такое безобразие в GNUшных проектах практически везде... Будет это ОС, браузер, интепретатор, редактор 3Д без разницы... Везде один раздолбайский стиль проектов, как будто бы писали на коленках и на скорости

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

Это сообщение отредактировал(а) magesi - 23.6.2012, 17:31
PM MAIL   Вверх
boostcoder
Дата 23.6.2012, 17:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



не стану комментировать. попросил модератора перенести в холивары.

PM WWW   Вверх
EvilsInterrupt
Дата 23.6.2012, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 2
Всего: 9



boostcoder, Лучше бы на хабр
PM MAIL WWW ICQ Jabber   Вверх
magesi
Дата 23.6.2012, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



Цитата(boostcoder @  23.6.2012,  17:20 Найти цитируемый пост)
не стану комментировать. 

стань  smile только в личку или действительно в холиварах продолжим, хотя я не сторонник ни Венды, ни *nix я больше  smile сторонник 
PM MAIL   Вверх
margo1111
Дата 23.6.2012, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



Сама прочитала, что Turbo C 2.0 для DOS предназначена, но там ОС Windows 95, и поскольку Turbo C 2.0 там стоит, то значит, что все работает. Возможно ли такое?   
PM MAIL   Вверх
magesi
  Дата 23.6.2012, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



EvilsInterrupt, я уже на хабре по похожей теме отписывался, ничего вразумительного *nix-сторонники не ответили ( собственно за что там отвечать, если там ничего нет  smile практически )

тоже так обижались, ничего толком не сказали конкретного, обрывистами фразами "промолчу" а как дело до конкретики, так сразу  smile и в итоге ничего сказано не было нормального для восприятия и что-то существенного

и потом уже много офиц. тестов уже проводили , Венда уделыает по производительности во многим сегментах и в embedded и др., уж с этим спорить тоже будете или как? )

Добавлено @ 17:41
Цитата(margo1111 @  23.6.2012,  17:40 Найти цитируемый пост)
Сама прочитала, что Turbo C 2.0 для DOS предназначена, но там ОС Windows 95

9x Венда на dos базируется

Это сообщение отредактировал(а) magesi - 23.6.2012, 17:52
PM MAIL   Вверх
margo1111
Дата 23.6.2012, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



Т.е. мне программу над писать на DOS, а в DOSe семафоров нет....и опять ничего непонятно.... smile 
PM MAIL   Вверх
magesi
  Дата 23.6.2012, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



margo1111, семафор - это абстрактная модель/объект с опред. свойствами и методами

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

Цитата(margo1111 @  23.6.2012,  17:55 Найти цитируемый пост)
Т.е. мне программу над писать на DOS, а в DOSe семафоров нет....и опять ничего непонятно....

изначально на компе вообще ничего нет, но люди живут пишут ОС, файловые системы, драйвера всякие к ус-вам и визуализацию, когда изнчально ничего нет, в чем проблема?  smile 

Это сообщение отредактировал(а) magesi - 23.6.2012, 18:04
PM MAIL   Вверх
margo1111
Дата 23.6.2012, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



а можно хотя бы пример, а то сама точно не додумаюсь...
PM MAIL   Вверх
magesi
  Дата 23.6.2012, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



Цитата(margo1111 @ 23.6.2012,  18:03)
а можно хотя бы пример, а то сама точно не додумаюсь...

Написал крайне примитивный пример на псевдо коде ( но идею понять можно, да и на Вики хорошо про семафор расписано )

Код

#define MAX_RETRIES 4

static int count;

class Semaphore
{
private:
    key_t key;
    int nSems;
    int semid;

    int initSem();

public:
    Semaphore(int);

    void getLock();

    void ReleaseLock();
};

void Semaphore::getLock(thread **obj, int *count)
{
    if(check(&obj) == -1 && *count >= MAX_RETRIES)
    {  
        std::cout << "нельзя сделать блокировку";
    }
    else
    {
         *count++;
    }
}

void Semaphore::ReleaseLock(thread **obj)
{
    if(check(&obj) == -1)
    {  
        std::cout << "нельзя реализовать блокировку";
    }
    else
    {
         *count--;
    }

}

int main(void)
{
    Semaphore *sem = new Semaphore(1);

    for(int i = 0; i < 1000; i++)
    {  
        sem->getLock();
        sem->ReleaseLock();
    }

    return 0;
}



Это сообщение отредактировал(а) magesi - 23.6.2012, 20:38
PM MAIL   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.