fbpx
15.5 C
София

Най-добрите програмисти на века: Марк Русинович и неговите 65 системни помощни програми

Най-четени

Даниел Десподов
Даниел Десподовhttps://www.kaldata.com/
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

Кой системен администратор не познава инструментите на SysInternals (Winternals) за администриране и диагностика на Windows? Изглежда, че те съществуват от незапомнени времена. Не всички обаче знаят, че тези незаменими инструменти изобщо не са написани от Microsoft. Напротив, те са написани въпреки желанието на Microsoft.

И тук стигаме до личността на автора, талантливия и свръхпродуктивен програмист Марк Русинович. Той показа, че един умен човек е способен интелигентно да побутне една мегакорпорация. А на нея ще ѝ се наложи да му плаща много пари и дори да го наеме на работа. Защото не би могла да създаде неговите програми…

Сред най-великите програмисти на нашето време Марк Русинович се откроява с отличното си образование и докторска степен. Всъщност това е рядкост, защото половината от брилянтните програмисти нямат никакво висше образование, още по-малко пък диплома. Той, от друга страна, до 27-годишна възраст е глозгал гранита на науката и едва тогава е започнал да работи…

След като десет години изучава компютърни науки в университета Карнеги Мелън, Марк Русинович работи като програмист в няколко малки компании. След това обстоятелствата го подтикват да стартира собствена компания. Обстоятелствата са следните:

  • Излиза изключително популярната операционна система Windows 95/NT, която се инсталира на почти всички нови компютри (по това време компютрите Mac са в изключителен упадък).
  • Интернет стана достъпен за широката общественост, което даде възможност за глобалното разпространение на софтуера, включително и чрез Shareware модела.

Shareware

През 1996 г. двамата с Брайс Когсуел основават компанията Winternals Software, където Русинович е главният софтуерен архитект. По същото време стартира и сайтът sysinternals.com (първоначално ntinternals.com), където партньорите пишат и публикуват десетки популярни помощни програми (сега пренасочени към learn.microsoft.com/en-us/sysinternals/). В началото всички програми бяха безплатни.

Както вероятно знаете, от средата на 90-те години на миналия век публикуването и продажбата на неголеми програми по модела Shareware чрез интернет даде възможност на всеки самостоятелен програмист доста бързо да спечели милиони долари. Мнозина си спомнят 19 годишния студент Джъстин Франкел, който по цял ден си е седял вкъщи и играел компютърни игри, но след създаването на примитивния от днешна гледна точка плейър Winamp, което става през 1997 година той започва да получава тонове чекове на сума $10 и забогатява.

През 90-те години много програмисти си опитват късмета с модела Shareware. Тогава това си е направо революция: за  да печелиш, при това добре, е достатъчен само един компютър. Не е необходимо да ходиш в какъвто и да било офис и да си губиш времето с глупави мениджъри. Стой си в къщи  или в своя си кабинет и програмирай. Създавай. Щом имаш подходяща идея и талант, целият свят е твой. Именно тогава програмистите от цял свят, включително и от съвсем малките страни, започват да получават заплати от американско ниво. Благодарение на интернет…

Може да се каже, че полезните помощни програми на Winternals представят Microsoft някак в неизгодна светлина. Всички ясно видяха, а и сега виждат каква точно функционалност не достига на операционната система на Microsoft, кои настройки липсват и кое по подразбиране е направено доста криво и неудачно. Интересното е, че тези недостатъци са открити и демонстрирани от един единствен програмист. Това означава, че той много добре познава ядрата на различните версии на ОС Windows, и че може да програмира много по-добре от примерно хиляда разработчика на корпорацията от Редмънд. Това не е за учудване, понеже той работи за себе си, а не за някоя компания или корпорация.

Повечето помощни програми в базовата версия на комплекта на Русинович се разпространяват безплатно, но техните професионални версии се продават и не са безплатни, като всъщност това е един от вариантите на бизнес модела Shareware. Предлага се и отделен много добър софтуер за възстановяване на данни от на практика всякакви носители.

Списъкът с помощните програми

Нека накратко се спрем на някои от полезните и много компактни помощни програми на SysInternals, Wininternals и NTInternals, които се предлагат още от 1996 година. Повечето могат да се изтеглят от сайта на Microsoft (learn.microsoft.com/en-us/sysinternals).

Системните помощни програми

  • BlueScreen е скрийнсейвър, който емулира синия екран на смъртта и рестартирането на компютъра
  • Process Explorer и Process Monitor: значително по-добри и усъвършенствани версии на вградения в ОС Windows Мениджър на задачите – Windows Task Manager

  • Autoruns: може би най-добрата програма за управление на автоматично стартираните приложение в ОС Windows
  • SDelete: изтриване на файловете по такъв начин, че в диска не остават следни от тях
  • BgInfo: автоматично генериране на текст върху тапета на десктопа, показващ подробна система информация. Ако искате да премахнете този текст можете да изберете друг тапет и след това да се върнете към предишния – текстът ще бъде премахнат

  • TCPView: преглед на активните връзки
  • NTFSDOS: работа с форматирани с NTFS под Windows 98 и DOS, които преди време изобщо не поддържаха тази файлова система. Сега тази програма е премахната от официалния сайт, но я има на много места.
  • Contig: помощна програма за дефрагментиране на дисковете, работеща от командния ред
  • Coreinfo: програма от командния ред, която показва в конзолата съответствието между физическите и логическите ядра на процесора, NUMA, сокетите и кешовете на всеки логически процесор. Показва се много подробна информация за централните процесори.

Ето един пример:

Coreinfo v3.03 - Dump information on system CPU and memory topology
Copyright (C) 2008-2011 Mark Russinovich
Sysinternals - www.sysinternals.com

Intel(R) Xeon(R) CPU W3520 @ 2.67GHz
Intel64 Family 6 Model 26 Stepping 5, GenuineIntel
EM64T * Supports 64-bit mode
VMX - Supports Intel hardware-assisted virtualization
SVM - Supports AMD hardware-assisted virtualization
HYPERVISOR * Hypervisor is present
HTT * Supports hyper-threading

SMX - Supports Intel trusted execution
SKINIT - Supports AMD SKINIT
EIST * Supports Enhanced Intel Speedstep

NX * Supports no-execute page protection
PAGE1GB - Supports 1GB large pages
PAE * Supports > 32-bit physical addresses
PAT * Supports Page Attribute Table
PSE * Supports 4-MB pages
PSE36 * Supports > 32-bit address 4-MB pages
PGE * Supports global bit in page tables
SS * Supports bus snooping for cache operations
VME * Supports Virtual-8086 mode

FPU * Implements i387 FP instructions
MMX * Supports MMX instruction set
MMXEXT - Implements AMD MMX extensions
3DNOW - Supports 3DNow! instructions
3DNOWEXT - Supports 3DNow! extension instructions
SSE * Supports Streaming SIMD Extensions
SSE2 * Supports Streaming SIMD Extensions 2
SSE3 * Supports Streaming SIMD Extensions 3
SSSE3 * Supports Supplemental SIMD Extensions 3
SSE4.1 * Supports Streaming SIMD Extensions 4.1
SSE4.2 * Supports Streaming SIMD Extensions 4.2

AES - Supports AES extensions
AVX - Supports AVX intruction extensions
FMA - Supports FMA extensions using YMM state
MSR * Implements RDMSR/WRMSR instructions
MTTR * Supports Mmeory Type Range Registers
XSAVE - Supports XSAVE/XRSTOR instructions
OSXSAVE - Supports XSETBV/XGETBV instructions

CMOV * Supports CMOVcc instruction
CLFSH * Supports CLFLUSH instruction
CX8 * Supports compare and exchange 8-byte instructions
CX16 * Supports CMPXCHG16B instruction
DCA - Supports prefetch from memory-mapped device
F16C - Supports half-precision instruction
FXSR * Supports FXSAVE/FXSTOR instructions
FFXSR - Supports optimized FXSAVE/FSRSTOR instruction
MONITOR - Supports MONITOR and MWAIT instructions
MOVBE - Supports MOVBE instruction
PCLULDQ - Supports PCLMULDQ instruction
POPCNT * Supports POPCNT instruction
SEP * Supports fast system call instructions

DE * Supports I/O breakpoints including CR4.DE
DTES64 - Can write history of 64-bit branch addresses
DS - Implements memory-resident debug buffer
DS-CPL - Supports Debug Store feature with CPL
PCID - Supports PCIDs and settable CR4.PCIDE
PDCM - Supports Performance Capabilities MSR
RDTSCP * Supports RDTSCP instruction
TSC * Supports RDTSC instruction
TSC-DEADLINE - Local APIC supports one-shot deadline timer
xTPR * Supports disabling task priority messages

ACPI * Implements MSR for power management
TM * Implements thermal monitor circuitry
TM2 * Implements Thermal Monitor 2 control
APIC * Implements software-accessible local APIC
x2APIC - Supports x2APIC

CNXT-ID - L1 data cache mode adaptive or BIOS

MCE * Supports Machine Check, INT18 and CR4.MCE
MCA * Implements Machine Check Architecture
PBE * Supports use of FERR#/PBE# pin

PSN - Implements 96-bit processor serial number

Logical to Physical Processor Map:
*--- Physical Processor 0
-*-- Physical Processor 1
--*- Physical Processor 2
---* Physical Processor 3

Logical Processor to Socket Map:
**** Socket 0

Logical Processor to NUMA Node Map:
**** NUMA Node 0

Logical Processor to Cache Map:
*--- Data Cache 0, Level 1, 32 KB, Assoc 8, LineSize 64
*--- Instruction Cache 0, Level 1, 32 KB, Assoc 4, LineSize 64
*--- Unified Cache 0, Level 2, 256 KB, Assoc 8, LineSize 64
-*-- Data Cache 1, Level 1, 32 KB, Assoc 8, LineSize 64
-*-- Instruction Cache 1, Level 1, 32 KB, Assoc 4, LineSize 64
-*-- Unified Cache 1, Level 2, 256 KB, Assoc 8, LineSize 64
--*- Data Cache 2, Level 1, 32 KB, Assoc 8, LineSize 64
--*- Instruction Cache 2, Level 1, 32 KB, Assoc 4, LineSize 64
--*- Unified Cache 2, Level 2, 256 KB, Assoc 8, LineSize 64
---* Data Cache 3, Level 1, 32 KB, Assoc 8, LineSize 64
---* Instruction Cache 3, Level 1, 32 KB, Assoc 4, LineSize 64
---* Unified Cache 3, Level 2, 256 KB, Assoc 8, LineSize 64
**** Unified Cache 4, Level 3, 8 MB, Assoc 16, LineSize 64

Logical Processor to Group Map:
**** Group 0
  • DebugView: прихваща извикванията към DbgPrint от драйверите на различните устройства и програми, включително на отдалечена система без да се налага стартирането на дебъгер

  • Desktops: стартира до четири виртуални десктопа, които са съвсем самостоятелни и превключването между тях е лесно и удобно
  • LoadOrder: Показва реда на зареждане и активиране на устройства в ОС WinNT/2K
  • MoveFile и PendMoves: дават възможност за планиране на премахването или преместването на файл автоматично след рестартиране на компютъра (например в последния ден на работата в компанията)
  • NotMyFault: планиране на различни сривове, рестартирания и други подобни в ОС Windows

  • PageDefrag: дефрагментация на файловете, включително на суап файла и системния регистър, което навремето бе недостъпно за тогавашните инструменти за дефрагментиране. Тази програма бе включена в състава на 32-битовите ОС Windows
  • RootkitRevealer: безплатна програма за локално откриване на руткитове. Програмата непрекъснато сканира API на файловата система (MFT, NTFS, FAT16/32), както и системния регистър, и извежда списък с несъответствията с реалните данни;

  • PortMon: мониторинг на последователните и паралелните портове, включително с показването на обменяните данни
  • и други

Мениджъри и комплекти с помощни програми:

  • Winternals Administrator’s Pak (ERD Commander 2005, Remote Recover 3.0, NTFSDOS Professional 5.0, Crash Analyzer Wizard, FileRestore 1.0, Filemon Enterprise Edition 2.0, Regmon Enterprise Edition 2.0, AD Explorer Insight for Active Directory 2.0, TCP Tools)
  • Protection Manager
  • Defrag Manager
  • Recovery Manager
  • и други

Като цяло Марк и Брайс са написали над 65 полезни програми. По всичко личи, че дори след основаването на компанията и наемането на младши програмисти, те са работили като водещи разработчици и са написали голяма част от кода.

Сега Microsoft продължава да поддържа и актуализира много от тези инструменти и дори разработва версии за Linux.

Сделката с Microsoft

През месец юли 2006 г. Microsoft купува Winternals Software и всички нейни активи. Марк съобщи новината в блога си и заяви, че ще продължи да разпространява помощните програми от пакета Sysinternals, докато Microsoft не възразява срещу това.

Не всичко обаче върви гладко. Веднага след сделката с Microsoft от сайта беше премахната програмата NT Locksmith за възстановяване на „забравени“ пароли за Windows. Очевидно юристите ма софтуерния гигант са сметнали, че тя може да се използва за хакерство, т.е. за неоторизиран достъп до чувствителна компютърна информация, за което има член в Наказателния кодекс.

Въпреки че ако разглеждаме хакерството в по-широк смисъл, половината от системните помощни програми на Sysinternals могат да се разглеждат като „хакерство на Windows“, след като получаваме достъп до информация, която е недостъпна със стандартните средства на операционната система. В края на краищата, за да разберете структурата на всяка една система, трябва да проникнете в нея, как иначе? С други думи, хакерството е и системно програмиране.

Не след дълго по-голямата част от сорс кода на софтуера е премахната от сайта. Но това е логично, тъй като Microsoft винаги е била враг на движението за отворен код, считайки свободните (вирусни) лицензи за главната опасност за комерсиалната софтуерна индустрия.

Първоначално Марк Русинович е технически специалист в отдела за платформи и услуги на Microsoft, който се занимава с разработването на ядрото на Windows. С течение на времето талантите му стават все по-очевидни – и през 2014 г. той е повишен в главен технически директор в Microsoft Azure.

Тази история показва, че големият успех може да започне с едно съвсем малко начинание – една или няколко простички помощни програми, написани само за една вечер. При Марк Русинович обаче нещата стоят по съвсем различен начин. Той наистина се е доказал като първокласен системен програмист и е спечелил уважението на милиони системни администратори, които все още всеки ден използват неговите помощни програми. Подобно уважение от страна на милиони хора, съчетано с огромен талант лесно се трансформират в сериозни пари, стига да има желание за това.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iOS и Huawei!

Абонирай се
Извести ме за
guest

4 Коментара
стари
нови оценка
Отзиви
Всички коментари

Нови ревюта

Подобни новини