Disk işlemlerinin yavaş olduğu her zaman biliniyor ve neden yavaş olduklarını biliyoruz. Öyleyse buradaki soru, neden G / Ç için beklememiz gerektiği veya neden IOWait, vs. gibi bir şey olduğu?
Demek istediğim, arka planda bazı G / Ç görevlerini yaparken, bilgisayarınızın temelde daha da yavaşladığını fark ettim, özellikle Linux kullanırken, eğer biraz daha uzun süre G / Ç görevleri yapıyorsanız bunu fark ettim. , işletim sistemi tamamlanana kadar neredeyse kullanılamaz hale geliyor.
Aslında, bu konuyu bir makalede de buldum, bir snippet var:
G / Ç beklemesi% 12,1'dir. Bu sunucunun 8 çekirdeği vardır (cat / proc / cpuinfo aracılığıyla). Bu çok yakındır (1/8 çekirdek = 0.125)
Yani temelde bu, bilgisayarı bir LOT yavaşlatıyor demektir, neden? Demek istediğim, normal bilgisayar şu anda en az 2 çekirdekli, bazen 4 ya da bazen aşırı okuyuculuk ya da öyle bir şey yüzünden daha çok var. Ama şimdi soru, CPU'nun aslında neden orada kalması gerektiği, pratikte sadece IO'yu beklemekten başka bir şey yapmaması? Süreç yönetiminin temel fikri ya da mimarisini kastediyorum, şimdi bundan sorumlu olan bir işletim sistemi olup olmadığını veya donanım kısmına inip gelmediğini bilmiyorum, ancak cpu'nun beklemesi veya beklemesi mümkün olmalı aslında birçok başka görevi yerine getirirken ve yalnızca hazır olduğunda IO sürecine geri dönerken düzenli olarak kontrol edin. Gerçekten, eğer bu kadar zor bir görevse ve işlemci beklemek zorunda kalırsa, neden olmasın? donanımdan daha verimli bir şekilde yönetildi mi? Mesela, onu bekleyecek ve verinin küçük bir kısmını işleme geri döndüğü anda gerçek CPU'ya ulaştırmak için bir çeşit mini işlemci olabilir ve böylece süreç tekrarlanacak ve elimizde olmazdı. pratik olarak veri kopyalama işlemi için bütün bir cpu çekirdeği ayırmak için ... Yoksa bu tür şeyleri icat edip nobel ödülü alacak olan ben olur muyum? : S
Şimdi tamam, gerçekten şimdi gözlemcilerin bakış açısından koyuyorum ve gerçekten bu konunun derinliklerine girmedim, ancak cpu'nun neden sadece HDD'nin hızı ile çalışması gerektiğini anlamıyorum. başka bir şey yapın ve hazır olunca HDD'ye geri dönün. Buradaki fikir, IO işlemine ya da kopyalama işlemine ihtiyaç duyan uygulamayı ya da her neyse onu hızlandırmak değildir, ancak fikir bu işlemi gerçekleştirirken CPU tüketimini en az düzeyde etkilemektir, böylece işletim sistemi diğer işlemler ve kullanıcı için faydalanabilir. bazı kopyalama işlemlerini yaparken genel bilgisayarın geciktiğini hissetmenize gerek kalmayacaktı ...