Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 09:51 25.04.24 
Компютри и Интернет
   >> Програмисти
*Кратък преглед

Страници по тази тема: 1 | 2 | 3 | (покажи всички)
Тема Приоритети в NTнови  
Автор MиГ (insane)
Публикувано06.11.01 17:35



Правя tool за HDD и е необходимо за определен период от време достъп до диска да има само моята програма. За целта пробвах да дам realtime приоритет на процеса, но при изпълнение на ReadFile ОС дава парчета от CPU време и на други процеси, които съответно могат да си ръчкат HDD. Пробвах освен realtime приоритет на процеса да дам и time critical приоритет и на нишката, в която тече обработката, но пак без успех. Пробвах и да пращам кода FSCTL_LOCK_VOLUME с DeviceIoControl, но пак нищо, другите програми си работят свободно.
Та това е, общо взето, предложения приемам всякакви



Si Vis Pacem, Para Bellum


Тема Re: Приоритети в NTнови [re: MиГ]  
Автор SDR ()
Публикувано07.11.01 13:32



ama kato rabotqt jitkat li harda? shtoto maj ne bi trqbwalo da mogat ako si loknal unita. Towa obaje moje bi se prenebregwa za paging fajla... te towa weche maj ne mojesh da go zabranish ama se ochakwa i che nqma da ti trqbwa



Тема Re: Приоритети в NTнови [re: SDR]  
АвторMиГ (Нерегистриран)
Публикувано07.11.01 15:54



Да, вече споменах, че си работят нормално. По принцип не трябва да се допуска дори стартирането им, тъй като то само по себе си е "джиткане на харда".



Тема Re: Приоритети в NTнови [re: MиГ]  
Автор_ (Нерегистриран)
Публикувано07.11.01 19:56



откога разправям аз, че REALTIME_PRIORITY клас не означава чак толкова много, ама... :)


праволинейният начин да предотвратим превключването към други нишки си е да ползваме KeRaiseIrql() и да вдигнем IRQL до DISPATCH_LEVEL или по-високо. разбира се трябва да се внимава какво ще се прави в този период (е.. най-много deadlock да стане де. :)))

не знам какъв е tool-a за HDD-то, но.. ако е примерно нещо за дефрагментация - Марк Русинович имастатийка по върпоса + сорс код (www.sysinternals.com беше нещо - NT Disk Defragmenting или нещо подобно) - може да свърши работа. :)



Тема Re: Приоритети в NTнови [re: _]  
АвторMиГ (Нерегистриран)
Публикувано08.11.01 18:02



Изтеглих го, но няма нищо полезно :(
А за KeRaiseIrql няма документация, деба



Тема Re: Приоритети в NTнови [re: MиГ]  
Автор_ (Нерегистриран)
Публикувано08.11.01 18:42



е как да няма документация?
ето от Win2000 DDK (за XP-то още не се е появило):

Kernel-Mode Drivers: Windows 2000 DDK
KeRaiseIrql
VOID
KeRaiseIrql(
IN KIRQL NewIrql,
OUT PKIRQL OldIrql
);
KeRaiseIrql raises the hardware priority to a given IRQL value, thereby masking off interrupts of equivalent or lower IRQL on the current processor.

Parameters
NewIrql
Specifies the new IRQL to which the hardware priority is to be raised.
OldIrql
Pointer to the storage for the original (unraised) IRQL value to be used in a subsequent call to KeLowerIrql.
Include
wdm.h or ntddk.h

Comments
If the new IRQL is less than the current IRQL, a bug check occurs. Otherwise, the current IRQL is set to the specified value.

Callers of this routine can be running at any IRQL. Any caller should restore the original IRQL with KeLowerIrql as soon as possible.

A call to KeLowerIrql is valid if it specifies NewIrql <= CurrentIrql. A call to KeRaiseIrql is valid if the caller specifies NewIrql >= CurrentIrql.

See Also
KeGetCurrentIrql, KeLowerIrql

See Also
KeGetCurrentIrql, KeLowerIrql



но при всички положения (не само за help-a) за да напишеш driver трябва да си изтеглиш DDK-то от microsoft...



Тема Re: Приоритети в NTнови [re: _]  
Автор SDR ()
Публикувано09.11.01 14:43



btw siguren li si che funkciqta lokwashta volume-to ne wrashta greshka?



Тема Re: Приоритети в NTнови [re: SDR]  
АвторMiG (Нерегистриран)
Публикувано09.11.01 14:49



По принцип връща TRUE, но локвам \\\\.\\PhisycalDrive0, а пък за локващия код пише, че работи само на \\\\.\\C:
Странна работа, общо взето



Тема Re: Приоритети в NTнови [re: MиГ]  
Автор Balam (непознат )
Публикувано11.11.01 20:43



MiG,

Ne davash podrobnosti za tova kakuv tool pravish za HDD i kakvi sa usloviata za izpulnenie, no bih te posuvetval da ne se muchish s prioriteti. Win32 programa v NT nikoga niama da moze da predotvrati prekusvane i izpulnene na drugi procesi. Teoreticheski i prakticheski e nevuzmozno. Za HDD-to, proveri na tazi stranica dali draiverite v NT ne ti pozvoliavat da pravish tova koeto iskash: http://msdn.microsoft.com/library/en-us/hardware/devio_9cc3.asp?frame=true

Ako tova ne stava, nai-veroiatno shte triabva da napishesh filter driver koito da blokira access do HDD-to kogato tvoita programa raboti. Mozesh da go napravish na dve stepeni - physical drive ili logical drive (file system). I v dvata sluchaia triabva da osigurish bezusloven dostup do paging faila.



Тема Re: Приоритети в NTнови [re: Balam]  
АвторMиГ (Нерегистриран)
Публикувано12.11.01 14:15



Привет
Програмката ми е предназначена за анализ на състоянието на твърди дискове. Сигурно познаваш структурата на съвременните твърди дискове: в началото им (първите цилиндри) са запазени за самия диск (недостъпни са за нищо друго), там той съхранява дефектните сектори. Направено е щото дисковете са твърде големи като капацитет и със физически твърде малки сектори и е невъзможно някой hdd да работи без чат-пат да дава лоши сектори. Та контролера на диска като открие, че някой сектор дава фира го мести в зоната на първите силиндри. Доколкото съм чел, когато някой диск започне да има твърде много лоши сектори е добре да се хвърля и да се купува нов.
Та идеята е чрез измерване на времето на последователно изчетени сектори да се определя дали сред тях има дефектни - времето за изчитане на комбинацията "добър-лош-добър" е по-голямо от времето за изчитане на комб. "добър-добър-добър", тъй като при четене на лош сектор главите трябва да се преместят в началото и после пак да се върнат на старата позиция.

Програмата е направена в осн. линии, но за сега е безполезна, тъй като тя няма абсолютна власт в/у устройството. Ако успея да я направя както трябва, обещавам да я пусна заедо със сорсовете :)




Страници по тази тема: 1 | 2 | 3 | (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.