BatteryMAX - BatteryMAX

BatteryMAX este un sistem de detectare inactiv utilizat pentru gestionarea alimentării computerelor sub controlul sistemului de operare dezvoltat la Digital Research, Inc. Centrul European de Dezvoltare (EDC) din Hungerford, Marea Britanie. A fost creat pentru a aborda noul gen de computere personale portabile ( laptopuri ) care funcționau de la baterie. Ca atare, a fost , de asemenea , o parte integrantă a Novell PalmDOS 1.0 sistem de operare adaptat pentru începutul palmtop în 1992.

Descriere

Economisirea energiei în computerele laptop se bazează în mod tradițional pe temporizatoarele de inactivitate hardware pentru a determina dacă un computer a fost inactiv. De obicei, ar dura câteva minute înainte ca computerul să poată identifica comportamentul de mers în gol și să treacă la o stare de consum redus de energie. Prin monitorizarea aplicațiilor software din cadrul sistemului de operare , BatteryMAX este capabil să reducă timpul necesar pentru a detecta comportamentul inactiv de la minute la microsecunde. Mai mult, poate comuta stările de alimentare de aproximativ 18 ori pe secundă între apăsările de taste ale unui utilizator. Tehnica a fost denumită Dynamic Idle Detection și include oprirea sau oprirea procesorului pentru perioade de doar câteva microsecunde până când apare un eveniment hardware pentru a-l reporni.

DR DOS 5.0 în 1990 a fost primul sistem de operare al computerului personal care a încorporat un sistem de detectare inactiv pentru gestionarea energiei. A fost inventat de inginerii britanici Roger Alan Gross și John P. Constant în august 1989. Un brevet american care descrie sistemul de detectare a mersului în gol a fost depus la 9 martie 1990 și acordat la 11 octombrie 1994.

În ciuda faptului că a preluat conducerea timpurie și a avut protecția unui brevet, BatteryMAX nu s-a bucurat de un succes comercial semnificativ, fiind eliminat după dezordinea care a urmat integrării Digital Research în Novell, Inc. în 1991. Abia în 1992, aproximativ trei ani după invenție, managementul energiei software sub controlul sistemului de operare a devenit omniprezent după lansarea Advanced Power Management (APM) de către Microsoft și Intel .

Prezentare generală funcțională

BatteryMAX folosește tehnica de detectare dinamică a ralanti pentru a asigura economii de energie prin detectarea a ceea ce face aplicația (indiferent dacă este inactivă) și comutarea stărilor de alimentare (intrarea în modul de consum redus) prelungind astfel durata de viață a bateriei produsului.

BatteryMAX folosește un model stratificat de software de detecție încapsulat într-un driver de dispozitiv cu caracter DOS numit $IDLE$care conține tot codul dependent de hardware pentru a sprijini detectarea dinamică de mers în gol. Poate fi conectat la BIOS-ul sistemului de operare DR-DOS sau încărcat dinamic folosind directiva CONFIG.SYS DEVICE , supraîncărcând driverul implicit încorporat. Toate versiunile de DR-DOS de la versiunea 5.0 au conținut suport pentru detectarea dinamicii de ralanti în nucleul sistemului de operare . Când sistemul de operare consideră că o aplicație este inactivă, apelează $IDLE$stratul BIOS / driver, care execută cod personalizat scris de producătorul computerului sau de terți pentru a verifica solicitarea și a comuta stările de alimentare. Folosind conceptul de driver de dispozitiv, BatteryMAX poate fi integrat cu facilități de gestionare a energiei legate de hardware, care ar putea fi furnizate de hardware-ul de bază, inclusiv interfața cu BIOS-urile de sistem APM sau ACPI .

Stările de alimentare depind de computer și vor varia de la producător la producător. Economisirea energiei se poate face în mai multe moduri, inclusiv încetinirea / oprirea vitezei ceasului procesorului sau oprirea alimentării pentru completarea subsistemelor.

Înainte de a comuta stările de alimentare, $IDLE$driverul folosește orice asistență hardware disponibilă pentru a detecta dacă aplicația a accesat alte componente din sistem. De exemplu, aplicația poate interoga un port serial sau actualiza un ecran grafic. Dacă acesta este cazul, driverul dispozitivului determină că aplicația nu este de fapt inactivă și anulează apelul nucleului pentru a comuta stările de alimentare prin trecerea informațiilor înapoi în straturi și permiterea reluării execuției aplicației.

COMMAND.COM în DR DOS 5.0 și versiunile ulterioare implementează o comandă internă care IDLEia ON|OFFparametri pentru a activa sau dezactiva detectarea dinamică a ralanti.

Detectarea momentului când o aplicație este inactivă

O aplicație este inactivă dacă așteaptă să apară un eveniment extern, de exemplu pentru o apăsare de tastă sau o mișcare a mouse-ului sau pentru o perioadă de timp fixă. Kernelul DR-DOS monitorizează toate apelurile API DOS construind un profil al comportamentului aplicațiilor. Anumite combinații de apeluri API sugerează că aplicația este inactivă.

$IDLE$Conducătorul auto este capabil să facă distincția subtilă între un program care este cu adevărat inactiv, de exemplu , una care este votare tastatura într - o buclă strânsă, iar unul care este activ , dar , de asemenea , de votare tastatura, pentru a testa o cheie de anulare pentru a fi apăsat . Șoferul face această distincție monitorizând timpul necesar pentru a rămâne inactiv. Dacă timpul se află într-o perioadă specificată, șoferul presupune că programul este inactiv, de exemplu, interogarea într-o buclă strânsă pentru apăsarea unei taste. Dacă timpul este în afara limitei specificate, șoferul presupune că s-au produs unele procesări între interogarea tastaturii și permite reluarea executării aplicației fără a comuta stările de alimentare. O variabilă locală, IDLE_CNTDN, specifică timpul cu care se compară timpul efectiv necesar pentru a rămâne inactiv. Valoarea acestei variabile este calculată dinamic la inițializare și recalculată periodic.

Originea BatteryMAX

Tehnica de detectare inactiv a fost folosită pentru a îmbunătăți mai multe sarcini multiple ale aplicațiilor DOS cu o singură sarcină în sistemul de operare DOS 386 (CDOS386) simultan multi-tasking / multi-utilizator Digital Research .

Programele scrise pentru sisteme de operare cu o singură sarcină, cum ar fi MS-DOS / PC DOS, pot intra în bucle interminabile până la întrerupere; de exemplu când așteptați ca un utilizator să apese o tastă. Deși aceasta nu este o problemă în care nu există niciun alt proces care așteaptă să ruleze, acesta pierde timp prețios de procesor care ar putea fi folosit de alte programe într-un mediu multi-tasking / multi-utilizator precum CDOS386. Aplicațiile concepute pentru un mediu multi-tasking utilizează apeluri API pentru a „dormi” atunci când sunt inactive pentru o perioadă de timp, dar aplicațiile DOS normale nu fac acest lucru, așa că trebuie utilizată detectarea inactivă.

Versiunea simultană DOS 386 a inclus o funcție de detectare inactivă în nucleul sistemului de operare, care a monitorizat apelurile API DOS pentru a determina dacă aplicația face o muncă utilă sau, de fapt, este inactivă. Dacă a fost inactiv, procesul a fost suspendat, permițând dispecerului să programeze un alt proces pentru executare.

Litigii privind brevetele

BatteryMAX și brevetul „detectare inactivitate” au jucat un rol important într-o presupusă încălcare a brevetului referitoare la gestionarea alimentării software-ului sub controlul sistemului de operare.

La 15 mai 2009, Sf. Clair Consultanți în Proprietate Intelectuală. a intentat acțiunea civilă nr. 09-354 în fața instanței districtuale a Statelor Unite D. Delaware, împotriva inculpaților Acer , Dell , Gateway și Lenovo și la 18 septembrie 2009 a intentat acțiunea civilă nr. 09-704 împotriva Apple și Toshiba Acțiunile presupuneau încălcarea mai multe brevete americane pe care le dețineau referitoare la gestionarea energiei software sub controlul sistemului de operare.

St. Clair a afirmat că Henry Fung a inventat software-ul de gestionare a energiei sub controlul sistemului de operare și a susținut că aceste companii au încălcat brevetele St. Clair și, prin urmare, datorează plățile redevențelor St. Clair . Microsoft a intervenit în numele inculpaților și a formulat o hotărâre declarativă împotriva lui St. Clair la 7 aprilie 2010, solicitând hotărâri de nerespectare și invaliditate a brevetelor Fung. (DI 1, CA nr. 10-282). Intel a formulat o intervenție în numele inculpaților și aceasta a fost acordată la 4 iunie 2010 (DI 178, CA nr. 09-354).

Firma de avocatură din Seattle, Perkins Coie , acționând pentru inculpați, a descoperit brevetul BatteryMAX și Gross de detectare inactivă în timpul unei căutări din stadiul tehnicii . Brevetul lui Gross avea o dată de prioritate mai devreme decât brevetele Fung care, dacă ar fi dovedite, ar submina cazul Sf. Clair. La 28 februarie 2011, Gross a fost angajat de Intel ca expert în materie pentru a oferi mărturie expertă pentru inculpații din caz. Gross a furnizat dovezi în raportul său de expertiză că el, nu Fung, a inventat software-ul de gestionare a energiei sub controlul sistemului de operare și a pus brevetul Idle Detection și existența BatteryMAX ca dovadă a acestui fapt.

St. Clair a depus o moțiune pentru a exclude avizele referitoare la BatteryMAX, în încercarea de a respinge raportul expert al lui Gross, însă la 29 martie 2013, instanța districtuală a respins moțiunea St. Clair prin care declara admisibilă mărturia lui Gross pentru inculpați, afirmând că „Curtea este de acord cu pârâții că există suficiente dovezi care confirmă faptul că BatteryMAX era disponibilă publicului înainte de data priorității brevetelor Fung. În plus, Curtea concluzionează că, chiar dacă BatteryMAX nu ar fi precedat brevetele Fung, mărturia domnului Gross [...] ar fi relevantă și utilă pentru căutătorul de fapte într-o anchetă privind claritatea ”.

Vezi si

Referințe

linkuri externe