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

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

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

Страници по тази тема: 1 | 2 | 3 | (покажи всички)
Тема Re: Приоритети в NTнови [re: MиГ]  
Автор Balam (непознат )
Публикувано14.11.01 22:22



Ah, za suzalenie ne sum zapoznat kak diskovete v dneshno vreme rabotiat :( No mi se struva, che dori i da napravish programa za chetene na sektori direktno ot diska, izmervaneto na vremeto niama da bude mnogo tochno poradi limitacii na architekturata v NT. Za da razberesh za kakvo govoria, bih ti obiasnil kak se pravi chetene na sektori na nisko nivo, no shte triabva da izturpish polzvanite ot men angliiski temini:

Za da se prochete informacia na nisko nivo, client-a obshto vzeto triabva da polzva interface-a za memory manager, caching, i otchasti suotvetnia disk draiver. S pomoshtta na memory manager-a i caching se pravi memory map, zapochvashta sus purvia sektor za chetene, i s dulzina na broia sektori koito triabva da se prochetat. Tazi memory map se konfigurira taka, che kogato exception se poiavi v neia, informaciata se prochita ot diska (podobno na nachina na polzvane na paging file). Ta tazi memory map se markira kato ne-prochetena, i posle se pravi read ot pametta suotvetvashta na vseki edin ot sektorite. Pri vseki memory access, exception se generira, i suotvetnia draiver obsluzva zapulvaneto na pametta s validna informacia (demek taia ot diska). Tova obsluzvane se izvurshva vutreshno v disk draivera, i pochti vinagi stava asynchronous i ot high priority tasks.

Taka che, ako ti po niakakuv nachin uspeesh da zabranish procesi da se izpulniavat kogato iskash da chetesh ot diska, nai-veroiatno cheteneto ot samia disk shte uvisne dokato procesa koito obsluzva cheteneto ne e osvoboden. I poradi sushtoto tova "asynchronous" chetene, izmervaneto na vremeto niama da e tochno, tui kato ne ti e garantirano koga procesa izvurshvasht istinskata rabota zapochva i svurshva.

Moia suvet e da se razrovish malko iz dokumentaciite za disk draiveri, i da vidish dali te ne ti davat vuzmoznost za "query" na loshite sektori.



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



Ами ползва се флагът FILE_FLAG_NO_BUFFERING, който изключва кеша, както ще прочетеш по-долу:

Instructs the system to open the file with no intermediate buffering or caching. When combined with FILE_FLAG_OVERLAPPED, the flag gives maximum asynchronous performance, because the I/O does not rely on the synchronous operations of the memory manager. However, some I/O operations will take longer, because data is not being held in the cache.
An application must meet certain requirements when working with files opened with FILE_FLAG_NO_BUFFERING:

File access must begin at byte offsets within the file that are integer multiples of the volume's sector size.
File access must be for numbers of bytes that are integer multiples of the volume's sector size. For example, if the sector size is 512 bytes, an application can request reads and writes of 512, 1024, or 2048 bytes, but not of 335, 981, or 7171 bytes.
Buffer addresses for read and write operations should be sector aligned (aligned on addresses in memory that are integer multiples of the volume's sector size). Depending on the disk, this requirement may not be enforced.
One way to align buffers on integer multiples of the volume sector size is to use VirtualAlloc to allocate the buffers. It allocates memory that is aligned on addresses that are integer multiples of the operating system's memory page size. Because both memory page and volume sector sizes are powers of 2, this memory is also aligned on addresses that are integer multiples of a volume's sector size.

An application can determine a volume's sector size by calling the GetDiskFreeSpace function.



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



А, и виж VirtualAlloc, понеже е спомената.
Това, при положение, че се занимаваш с NT, разбира се :)



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



Tova oznachava, che cheteneto shte "assume" vsichki operacii s cache manager-a sa izlishni, no pri vse tova shte markira tazi pamet kato unavailable, i shte generira exception vuv vsiaka page. Obsluzvanteto na vsichki exceptions e pak asynchronno, i suotvetno shte se izvurshi ot draivera v context-a na drug high priority thread i/ili process. Niama zaobikolki, za suzalenie :(



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



Pamet i caching ot Win32 e obshto vzeto svurzano s normalnia Windows paging file, i suotvetno e obsluzvano na po-visoko nivo, prez failovata sistema.



Тема Re: Приоритети в NTнови [re: MиГ]  
Автор Mixy (почетен член)
Публикувано21.11.01 01:27



А как ще изключиш вградения кеш-буфер в самия HDD? Щото ако не го направиш, измерването ще бъде доста относително ...

Mixy


Тема Re: Приоритети в NTнови [re: Mixy]  
АвторMиГ (Нерегистриран)
Публикувано21.11.01 12:46



Лесно - отивам в средата и изчитам няколко мегабайта. Когато се върна в началото кеша ще е безполезен.



Тема Re: Приоритети в NTнови [re: MиГ]  
Автор PeterS (виртуален)
Публикувано21.11.01 19:25



S.M.A.R.T. ne moje li da ti pomogne?

Toi e tochno za takiva fokusi sazdaden!

PeterS



Тема Re: Приоритети в NTнови [re: PeterS]  
Автор_ (Нерегистриран)
Публикувано22.11.01 12:35



да. затова е.
ама човека не ще да пише driver.

в DDK-то за Win2000 има примери:

The Disk sample is used with Classpnp.sys as disk driver. The sample supports Plug and Play, Power Management, WMI, and failure prediction (S.M.A.R.T.), and it is 64-bit compliant.

+ The DiskPerf filter driver monitors disk-accesses, capturing performance data. It supports Plug and Play, Power Management, and WMI . It is not 64-bit compliant.



Тема Re: Приоритети в NTнови [re: _]  
Автор MиГ (insane)
Публикувано22.11.01 15:07



Абе не, по принцип нямам нищо против да напиша, ама го нямам DDK-то, а и къде да го намеря?



Si Vis Pacem, Para Bellum



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


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

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