Re: Монополистът Microsoft - Технологический Шантаж
Брей че дълга тема стана, пък на всичкото отгоре и интересна.
От известно време имам едно чудене относно точно тази съвместимост на разни хардуери с линукс (щото и моята мишка не работи под Linux с всичките си екстри, пък струва 80 лв. и ми е някак криво :) ) - та има ли някаква пречка простите и стандартни Windows-драйвери (често някое .dll) да се интерпретират и използват от Linux за контролиране на хардуера? В крайна сметка те са просто инструкции... или греша?
Re: Монополистът Microsoft - Технологический Шантаж: . . .
За драйвер - не.
Мишката се управлява от драйвер, който идва с X сървъра. Пусни търсене в google за модела на мишката + "xorg.conf", ако не си го правил вече.
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Ghost, ще пробвам товя, което ме съветваш, но питането ми беше по-общо - защо линукс-разработчиците не проектират операционната система така, че да може да изпозлва широкоразпространените драйвери, вместо да се пишат отделно драйвери за уин и лин?
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Един въпрос и от мен: Има ли разлика в производителността на една машина под Windows и Linux?
За да няма двусмислие постановката е следната:
На една и съща машина се пуска тежка програма, с много математически изчисления, писана на С++ под двете операционни системи последователно. Програмата работи с поток от данни в реално време и трябва да извлече определена информация от тях. Ще има ли разлика във времето на откриване на тази информация?
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Cko,
Разработчиците на Линукс търсят определена функционалност, а не съвместимост с Windows. Все пак идеята на Линукс е да бъде свободна UNIX-like операционна система, а не Windows-like.
По същия начин не може да се ползва драйвер за Линукс под FreeBSD или Sun OS, както и обратно.
Lupus,
Разлика е ясно, че има, но...
Такова директно сравнение не е много подходящо, защото изходния код за двете операционни системи е различен. Когато имаме една и съща програма, която може да работи под няколко различни ОС, обикновено тя е написана за едната ОС (и най-често под тази ОС работи най-добре),а после е направен "port" (преведена) за другите ОС. Примерно - както стана дума в тази тема за skype. Това е програма писана за Windows и портната за GNU/Linux. Ясно се вижда, че е много по-добре да се ползва под Windows. Обратни примери - Apache, Squid.
За това аз бих казал така: подходящо е да се сравнява производителността на решения, които обслужват една и съща задача, а не конкретно програмите, които я изпълняват. Подходящо е да се сравни производителността на Windows базиран web hosting с тази под Linux, производителността на система за рендериране на анимация или нещо подобно. По-прост пример: на една и съща машина да се компресира филм рипнат от DVD и да се сравни времето под Linux под Windows. Програмите нямат значение.
Re: Монополистът Microsoft - Технологический Шантаж: . . .
@Ghost,
Ще поясня задачата - приемаме, че в двата случая програмата е оптимизирана за съответната ОС.
За конкретната задача съм принуден да избирам между две хардуерни платформи - едноплатков компютър (от типа на PC104 или подобен) или DSP базирана система.
И от тук идва дилемата каква ОС да се подбере за едноплатковия компютър.
Re: Монополистът Microsoft - Технологический Шантаж: . . .
при една и съща математика и хардуер какви разлики търсите...(изключвам разликите от компилаторите - в днешно време са достатъчно "умни")
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Цитат:
Първоначално публикувано от The_Wizard
при една и съща математика и хардуер какви разлики търсите...(изключвам разликите от компилаторите - в днешно време са достатъчно "умни")
Не се считам за специалист по ОС, но мисля че има разлики в:
1. Заети ресурси от самата ОС;
2. Оперативни ресурси за работата и;
3. Време за изпълнение на операциите.
Въпроса може да се предефинира и като ресурсоемкост на ОС за решаване на конкретна задача.
Системата ще прави това и само това - ще дискретизира и анализира поток от данни и ще записва резултатите във файл.
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Lupus,
Няма как да отговоря, кое решение е с по-висока производителност, докато не проведа тест или не прочета резултати от тестове. Предполагам последното, което ти трябва, е отговор "под Линукс е по-бързо", защото на мен Линукс ми харесва повече. ;-)
Да, харесвам го повече, но се старая да бъда обективен.
The_Wizard,
Според теб няма ли значение организацията на опашките и задачите в ядрото, нишковия модел, алгоритмите за достъп до хардуера и т.н. Да, програмка, дето пише 100х в цикъл "Hello, world", сигурно ще се изпълни еднакво бързо, но когато става дума за сложно многопроцесно приложение разликата е от земята до небето.
ДОБАВЕНО:
Malone,
Какво общо има разработката на виртуална машина с разработката на Linux? Има много такива проекти. За най-добър такъв проект за момента се смята VMWare. Други подобни проекти са qemu и Xen.
Нямам информация никой от тези проекти да се разработва от kernel.org
Време е да почнеш да правиш разлика между GNU/Linux (често наричано само Linux) и дистрибуция.
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Цитат:
Първоначално публикувано от Ghost
Разработчиците на Линукс търсят определена функционалност, а не съвместимост с Windows. Все пак идеята на Линукс е да бъде свободна UNIX-like операционна система, а не Windows-like.
Това в България.
А иначе другите разработчици на Linux търсят освен определена функционалност и Windows съвместимост.
Не за друго, ами за улеснение на миграцията към Linux.
Не е точно като българския подход, но все пак е нещо.
Справка ТУК.
Дет' се вика, стратегически партнъри на проекта са Sun Microsystems, IBM, Red Hat, NoMachine, Novell и др. Не са много известни разработчици.
Linux gives you security, reliability and cost-effectiveness.
Win4Lin Virtual Desktop Server gives you control.
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Мисля, че и това ще внесе малко яснота
Re: Монополистът Microsoft - Технологический Шантаж: . . .
мдам, значи че не си много запознат с "организацията на опашките и задачите в ядрото, нишковия модел, алгоритмите за достъп до хардуера и т.н...."
1.1 Unsuitability of Linux for Hard Real Time Applications
The following features make Linux infeasible to be used to run hard real-time applications: 1. Unpredictable scheduling - depends on system load; 2. Coarse timer resolution (10 ms); 3. Non-preemptible kernel; 4. Disabling of interrupts used for coarse-grained synchronization; 5. Use of virtual memory; 6. Reordering of requests for efficiency (e.g. for disk I/O). Moreover, Linux processes are heavyweight processes, and it can take several hundred microseconds to finish a context switch, and thus make it impossible to schedule a task to poll a sensor every 100 microseconds. Another disadvantage of Linux is that it uses process-based model instead of thread model and signals tend to get lost during the execution of processes.
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Ясно че темата хептен се изроди, доколкото чета първа страница беше дали ще има и в тоалетните след време Microsoft Shit Windows или не, а тука взехте да се замервате с Linux, производителности и прочее, при положение че почти всички отсвен Ghost са от типа - много гледали, малко разбирали.
Ако пък темата смятате да се изроди в "Microsoft VS ALL" тогава да дадем думата и на поддръжниците на BSD (Да, това не е ЛИНУКС), на MAC OS X (Има го вече и за Intel), на BeOS и прочее и тогава всеки да си премери патката.
Щот така се получава безкрайното доказване колко е смотан Linux щото има 1001 дистрибуции и щото никой не го разбира.
И кво стана, заговорихме за Windwos, оплюхте всичко което не разбирате.
Е аз прендирам че въм виждал и Mac OS X, и BeOS и доста Linux дистрибуции, че и BSD, така че по-отворените да се пробват в сравненията.
Почвам Windows 2039г VS Mac OS X 1.1 (Текущата версия е 1.5)
Re: Монополистът Microsoft - Технологический Шантаж: . . .
Цитат:
Първоначално публикувано от The_Wizard
мдам, значи че не си много запознат с "организацията на опашките и задачите в ядрото, нишковия модел, алгоритмите за достъп до хардуера и т.н...."
1.1 Unsuitability of Linux for Hard Real Time Applications
The following features make Linux infeasible to be used to run hard real-time applications: 1. Unpredictable scheduling - depends on system load; 2. Coarse timer resolution (10 ms); 3. Non-preemptible kernel; 4. Disabling of interrupts used for coarse-grained synchronization; 5. Use of virtual memory; 6. Reordering of requests for efficiency (e.g. for disk I/O). Moreover, Linux processes are heavyweight processes, and it can take several hundred microseconds to finish a context switch, and thus make it impossible to schedule a task to poll a sensor every 100 microseconds. Another disadvantage of Linux is that it uses process-based model instead of thread model and signals tend to get lost during the execution of processes.
Това пък от кой прахолясал шкаф в мазето го изри!? Ако не се лъжа въпросната статия беше на QNX от преди..хмх, а сега де, колко години...Мисля 2003-2004 някъде. Тогава версията на кернела далеч не беше 2.6.19, а 2.4.Х
1. Unpredictable scheduling - depends on system load;
Грешно! В момента в ядрото има 3 (по избор) алгоритъма за I/O scheduling, които се контролират чрез user-space програми.
2. Coarse timer resolution (10 ms);
Грешно! Дефинира се от потребителя
3. Non-preemptible kernel;
Грешно!
4. Disabling of interrupts used for coarse-grained synchronization;
Грешно!
5. Use of virtual memory;
Вярно.
6) За процеси и нишки потърси в google за glibc, NTPL и linuxthreads
Никой никога не е твърдял, че Linux е real-time ОС. Нито Windows, *BSD, Solaris, SCO, Mac OS и т.н.
Да започнем с въпроса: "за какво се използва real-time ОС?" За математически приложения ли? За networking ли, за графични приложения ли?
;-)))))))))
Re: Монополистът Microsoft - Технологический Шантаж: . . .
смееш се но не си сигурен...
само ще ти пасна 2 еквивалентни кода за изчакване - най-използвани и от двете ОС
ВИН
retVal = WaitForSingleObject(SemHandle, timelimit);
if (retVal == WAIT_FAILED)
return RC_SEM_WAIT_ERROR;
if (retVal == WAIT_TIMEOUT)
return RC_TIMEOUT;
ЛИН
if (rc = pthread_mutex_lock(&(token->mutex)))
return RC_SEM_WAIT_ERROR;
sec = timelimit / 1000;
millisec = timelimit % 1000;
ftime( &tp );
tp.time += sec;
tp.millitm += millisec;
if( tp.millitm > 999 )
{
tp.millitm -= 1000;
tp.time++;
}
tm.tv_sec = tp.time;
tm.tv_nsec = tp.millitm * 1000000 ;
while (token->semCount <= 0)
{
rc = pthread_cond_timedwait(&(token->condition), &(token->mutex), &tm);
if (rc && (errno != EINTR) )
break;
}
if ( rc )
{
if ( pthread_mutex_unlock(&(token->mutex)) )
return RC_SEM_WAIT_ERROR );
if ( rc == ETIMEDOUT) /* we have a time out */
return RC_TIMEOUT );
return RC_SEM_WAIT_ERROR );
}
token->semCount--;
if (rc = pthread_mutex_unlock(&(token->mutex)))
return RC_SEM_WAIT_ERROR;
кое ли ще е по-бързо....
ето ти цялата статия да не я търсиш
http://www-128.ibm.com/developerwork...linux-sem.html