- 00:00 Dave Cutler is a retired software engineer known for his work on Windows, RSX11m, and VMS. He is still actively coding at Microsoft at the age of 81.
- 00:43 Dave Cutler received the 2007 National Medal of Technology and Innovation and was honored as a fellow at the Computer History Museum in 2016.
- 01:09 ️ The legend goes that when Windows NT first shipped, the team sent black cardboard coffins with a special message and a playing death march to Sun's Scott McNeely and Lee riswick.
- 03:13 A video was created for the 24th anniversary, featuring humorous content related to the Windows-Sun rivalry.
- 08:41 ️ Dave later transitioned to Digital Equipment Corporation, initially working on OS/45, but ended up working on RSX-11C, a smaller project.
- 17:45 Development of VMS started with an emulator that allowed PDP-11 programs to run on VAX, leveraging the 16-bit mode.
- 19:20 Development for VMS primarily occurred on R611M, a PDP-11 system, with an emulator for VAX. The emulator was a microcoded hardware emulator.
- 23:13 ️ VMS development eventually transitioned to VAX Prototype Hardware, but self-hosting on early prototypes meant debugging was hands-on, right next to the machine.
- 24:33 ️ Dave Cutler discusses the AME (Application Migration Executive) as a thin layer for program migration.
- 25:12 Cutler emphasizes that the transition from RSX11m to VMS was a reimplementation, not an enhancement.
- 26:19 When VMS was shipped, there were zero known bugs, though bugs did exist and were subsequently addressed.
- 27:39 The company was schedule-driven due to the importance of selling hardware, which relied on a functioning operating system.
- 30:10 The VMS system took about a year to become fully usable and stable for development.
- 32:25 ️ Dave Cutler worked on the PL1 compiler after VMS, driven by a longstanding interest in compiler technology.
- 35:47 Dave Cutler's interest in optimization and register allocation led him to work on the PL1 compiler.
- 37:39 ️ After leaving Digital, Cutler explored opportunities on the West Coast, ultimately choosing Seattle to start a new engineering organization.
- 46:04 Dave Cutler wrote all the microcode for the first MicroVAX, a significant contribution to the project.
- 50:42 Dave Cutler received a call from Gordon Bell informing him about a job offer from Intel, which Dave wasn't actively seeking.
- 51:22 Dave met with Larry Portner and Gordon Bell from Digital to discuss the job offer from Intel and his worth.
- 53:17 Dave transitioned to DEC West (Digital Equipment Corporation) after deciding to leave the company.
- 57:27 ️ Digital started the Prism project in the mid-80s to create risk architectures, aiming to improve upon VAX.
- 01:00:54 Steve Ballmer, then at Microsoft, convinced Dave and his colleagues to join the company over breakfast at Denny's.
- 01:08:07 The initial vision for Windows NT was a portable system supporting multiple environments, including OS/2, POSIX, and CMU's Mach.
- 01:09:16 Windows gained prominence over OS/2, leading to the adoption of Windows as the primary environment for Windows NT.
- 01:13:01 ️ The first version of Windows NT supported x86, MIPS R3000, R4000, and Alpha processors.
- 01:15:26 The PowerPC architecture faced challenges and was eventually dropped from Windows NT development due to lack of competitiveness.
- 01:15:54 ️ Dave Cutler explains that in the development of Windows, the machine-independent code outweighed the machine-dependent code, with the latter dealing with processor-specific tasks like memory management and exceptions.
- 01:16:36 ️ Most of the code in the Hardware Abstraction Layer (HAL) was not written in Assembly Language, and operations were implemented as intrinsics in C code, making it less processor-specific.
- 01:18:00 Interrupt handling is primarily in the kernel, not the HAL. The HAL deals with configuration hardware, like PCI space on x86 and x64, along with other configuration elements.
- 01:19:18 Initially, the HAL was designed to be pluggable, but it was challenging for vendors to create their own. Over time, they integrated it as part of the system rather than a separate DLL.
- 01:41:03 ️ Dave Cutler discusses the development of Windows NT and its differences from the Cairo project.
- 01:42:26 The original version of Windows NT was estimated to take two to three years but took longer due to its complexity.
- 01:43:48 Windows NT project involved multiple architecture changes, including transitioning from 860 to MIPS and eventually supporting multiple architectures.
- 01:45:49 Dave Cutler recounts a moment of frustration, leading to him punching a wall during a discussion about debugger progress.
- 01:46:05 Over 80% of the original code from Windows NT is still present in Windows 11, though numerous additions and improvements have been made, especially in security and management.
- 01:48:37 ️ Handle table optimization was crucial for performance, as a large number of handles were used in the operating system.
- 01:52:20 ️ Dave explains the split between server and consumer versions (XP) after Windows 2000, which later led to challenges with security.
- 01:56:03 Dave shares the moment of success when the 64-bit system was successfully booted for the first time, marking a significant milestone in its development.
- 02:00:08 Dave discusses the technical architecture of Xbox, involving three VMs: one for the host system, one for presentation, and one for running games. The host system manages devices and acts as a traffic cop between VMs.
- 02:06:38 ️ Dave Cutler discusses challenges with updating games and the introduction of the "P pause resume" feature to address long loading times on Xbox.
- 02:10:55 ️ The host system for the Xbox is based on Windows 8, heavily customized for optimal performance while retaining core elements like the object manager and event handling.
- 02:11:39 The virtual machine (VM) that runs games on Xbox is Windows 11-based with specialized graphics drivers for enhanced gaming performance.
- 02:14:46 Dave Cutler reflects onhis sports background, including injuries, and how it shaped his approach to perseverance and determination in software engineering.
- 02:20:05 Successful software engineers are willing to go beyond their primary responsibilities, even if it means fixing bugs or doing tasks outside their comfort zone.
- 02:22:06 Dave Cutler shares his early career experiences, emphasizing the importance of understanding job roles before accepting them.
- 02:29:47 ️ Dave Cutler recalls his introduction to computer simulation languages, particularly GPSs 3, during a project at Scott Paper Company, highlighting the diversity of applications for such simulations.
- 02:30:40 ️ Dave Cutler recalls early experiences with punch cards and data-driven simulations, emphasizing the precision required in computer work.
- 02:32:15 ️ Cutler describes the meticulous scheduling and lack of resource sharing in early data centers, highlighting the challenges faced during program execution.
- 02:35:26 ️ Cutler's interest in compilers led him to delve into 7044 Assembly Language, where he developed a substantial help block to enhance his understanding of the machine.
- 02:36:07 The move to work on Xbox was driven by Cutler's desire for a new challenge, finding Azure to be less engaging at the time.
- 02:38:44 Cutler discusses the progression of programming approaches, from initial attempts to over-engineering, and then refining to achieve the desired outcome.
- 02:39:17 Cutler reflects on the development of RSX 11m, VMS, and NT, highlighting the unique constraints and considerations for each operating system.
- 02:43:32 ️ Cutler acknowledges the evolving nature of security challenges, from early security concerns to modern hardware-related vulnerabilities like the Threshold Bug and Spectre.
- 02:45:47 ️️ Cutler discusses Xbox security, emphasizing the challenges posed by determined individualswith a different approach to problem-solving.
- 02:52:09 ️ Cutler shares a humorous anecdote about the challenges posed by the early source control system "slime" and the need for file locks.
- 02:56:08 Dave Cutler discusses reporting to Steve Ballmer, the CEO of the company, despite not attending his meetings, which worked well for him.
- 02:56:49 When Steve Ballmer was leaving, Cutler emphasized the importance of finding someone knowledgeable to be his boss, ensuring a smooth transition for the new CEO.
- 02:57:13 Cutler's organizational size peaked at around 450 during the development of NT 4.0.
- 02:58:23 While Cutler believes in multitasking to an extent, he emphasizes that the highest productivity comes from focusing on one task.
- 02:59:32 Dave Cutler explains the concept of xcloud, repackaging Xbox consoles into data centers for remote access to high-performance games.
- 03:00:16 ️ Cutler's current project involves running AI and machine learning workloads on idle Xbox consoles to maximize system usage.
- 03:00:59 Dave Cutler recounts his donation to the University of Washington's computer science building and shares a humorous slogan for the lab.
- 03:02:07 ️ Cutler discusses the evolution of debugging tools, highlighting the significant improvements in modern development environments.
- 03:03:29 The conversation touches on early computing systems like Bendix and the challenges of working with drum memory.
- A hozzászóláshoz be kell jelentkezni
- 1852 megtekintés
Hozzászólások
Dave's Garage videóit szoktam nézni. Főleg a régi retró gépes videókat: Altair, IMSAI, KIM-1. Meg a régi windows-os témák is jók, feladatkezelő, ZIP folders...
Ez is érdekesnek tűnik! Meg fogom nézni!
- A hozzászóláshoz be kell jelentkezni
Én is fel vagyok iratkozva, bár egy ideje nem néztem tőle videót. Ezt mindenképp meg fogom nézni, mert nem ismerem ezt az NT-s fejlesztőt, kíváncsi vagyok mit mond. Mondjuk 3 órás cucc, így darabokban fogok nekigyürkőzni.
Ha bejön ez az Altair, IMSAI téma, akkor a deramp5113, IMSAI Guy csatornákat nagyon ajánlom. Kim-specifikusról nem tudok, de vannak több youtube-ernek elszórt videói arról is. Amit mostanában még nézek, és nagyon jó csatorna, az az Usagi Electric, régi mainframe-eket és nagyon régi gépeket újít fel a csávó, Warrex Centurion CPU5-6, PDP-11/83, Wang Writer, Bendix G15, de épít elektroncsövekből is koncepciógépeket. Esetleg Jerry Walker, de neki kicsit lassúak a videói, csak türelmeseknek ajánlom. Még Tech Tangents-nek vannak hasonló videói, bár neki nem minden videója érdekes, de akad, pl. Data General Nova Mini felújítása.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Usagi-t az elektroncsövek miatt néztem mostanában. Ő sem sz@rral gurít az biztos. Mikor megnéztem a 2 sorozatot, hogy elektroncsövekből összerakta az 555-ös IC-t, meg a 741-es műveleti erősítőt... Hát na! Nem, mellesleg van egy nyuszija, aki a "cég" CEO-ja! :-D
- A hozzászóláshoz be kell jelentkezni
Már elkezdtem nézni, iszonyat nagy sztorizgató ezt a Mr. Cutler. Aki eddig azt hitte, hogy én írok hosszúakat 2-3 bekezdésben, akkor ez a 3 órás, sok mellékszálas sztorizás ki fogja akasztani.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Ha érdekel valakit könyv formában a Windows NT fejlesztésének története: https://www.amazon.com//dp/0029356717
Alternatív internetes könyves letöltőhelyeken is fellelhető.
- A hozzászóláshoz be kell jelentkezni
Azért a dll "kezelést" meg a registry-t én nem tenném ki az ablakba. Egyébként riszpekt.
- A hozzászóláshoz be kell jelentkezni
A dll kezelés szerintem sztenderd, csak más rendszereken máshogy hívják. A registry-ben viszont teljesen igazad van, a legjobban utáltam azt az összes Windowsban. A Win3.x-ig nem volt nagy szerepe, csak az NT/95-tel szerveztek bele mindent, de az katasztrófa.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Pedig a registry önmagában nem lett volna rossz (még a cross platform alkamazások elterjedése előtt) ha értelmesen használják.
- A hozzászóláshoz be kell jelentkezni
főleg, hogy a koncepció más rendszereken is megvan. dconf, KDE sycoca/kregistry, Solaris SMF adatbázis.
- A hozzászóláshoz be kell jelentkezni
nem is a registry a baj; az alapvetoen tokjo, hogy nem kell kulon formatumot hasznalni minden konfighoz.
de legyen mar texteditorbol elerheto! nem olyan nehez egy json-ba belevagni egy filerendszerbe, es kesz. ezek a binaris adatbazisoktol egnek all a hajam. mintha a registry-nek a merete meg az eleresi sebessege szamitana...
- A hozzászóláshoz be kell jelentkezni
ezeket a binaris adatbazisokat akkor terveztek, amikor meg szamitott a dolog.
de legyen mar texteditorbol elerheto!
eleve scriptelheto a registry iras, olvasas, ott vannak a reg fileok. exportalod, reg filet szerkeszted, es import. es csak azt latod a textben, ami neked kell, nem kell mind a tobbmillio rekordot befosni egy jsonbe.
- A hozzászóláshoz be kell jelentkezni
ezeket a binaris adatbazisokat akkor terveztek, amikor meg szamitott a dolog.
jonapot, kozben 2023 van. ez nem erv sehol semmire.
eleve scriptelheto a registry iras, olvasas, ott vannak a reg fileok. exportalod, reg filet szerkeszted, es import. es csak azt latod a textben, ami neked kell, nem kell mind a tobbmillio rekordot befosni egy jsonbe.
arra gondoltam, hogy termeszetesen nem az egesz registry egy json-be, hanem dir-strukturaban, es a levelek 1-1 json file. hasonlokepp, mint a gnome/dconf -ban.
- A hozzászóláshoz be kell jelentkezni
dconfban is bináris formátumban vannak tárolva. Legalábbis nálam a ~/.config/dconf/user az baromira nem szerketszthető szövegszerkesztővel.
- A hozzászóláshoz be kell jelentkezni
Praktikusan mire szeretnéd használni az így kiexportált registryt?
- A hozzászóláshoz be kell jelentkezni
nem 'exportalt' - az *a* registry.
kezzel editalhato konfig file, nekem teccene.
- A hozzászóláshoz be kell jelentkezni
Tudom, hogy furán hangzik: igenis számít a registry mérete és elérési sebessége is. Ha belenézel a Windows I/O terhelési adataiba, akkor látni fogod, hogy folyamatosan olvassa a registryt. Nem véletlenül.
Azért a registry export-import már a kezdetek óta létezik. Szkriptből - akár cmd, akár powershell - könnyen olvasható/írható is.
Ha sima text fájlban lenne (json, xml, whatever), akkor még könnyebben piszkálgatnák a "szakértők", könnyebb lenne elcseszni.
Ami esetben értelmét látnám a teljesen text formátumnak:
- Könnyebb lenne 2 gép registry különbségét összehasonlítani. Például rendszerösszeomlás esetén (a Windows nem bootol be, kék halál) egyszerűbb lenne megkeresni a hibát, lehetséges okot a registryben ilyen összehasonlítással.
- A hozzászóláshoz be kell jelentkezni
Maga a registry módosítása monitorozható, registry módosítására event helyezhető, két registry fájl összevethető.
- A hozzászóláshoz be kell jelentkezni
Tudom, hogy furán hangzik: igenis számít a registry mérete és elérési sebessége is. Ha belenézel a Windows I/O terhelési adataiba, akkor látni fogod, hogy folyamatosan olvassa a registryt. Nem véletlenül.
Okolszabaly, hogy nem a szarul megirt szoftverre kell optimalizalni, hanem a korrekt viselkedest felmutatora.
- A hozzászóláshoz be kell jelentkezni
Rendszer szempontjából minden esetben hatékonyabb a bináris adatbázis mint szöveges fájlok halmaza.
- A hozzászóláshoz be kell jelentkezni
es amikor kezzel akarod szerkeszteni?
konfig olvasas/parse-olas sebessege hol szempont?
- A hozzászóláshoz be kell jelentkezni
Minden normális adatbázis bináris formátumban tárol. A relációs, SQL adatbázisok, de még a MongoDB is. A kulcs-érték páros adatbázisok (pl. etcd) is binárisan tárol.
- A hozzászóláshoz be kell jelentkezni
mert nem kell embernek tudnia irni-olvasni.
a registry nem ez az eset.
- A hozzászóláshoz be kell jelentkezni
A "dll kezelés" azon részét én is rühellem, ami miatt minden "szar" miatt teljes újraindítás kell, valamennyire kinőtték - de még mindig szánalmas bármelyik unixlikehoz képest. Rohadtul össze lehet gubancolva a belseje vagy csak rosszul tervezett vagy nem tudom és így jó ez mert ők nyilván jobban tudják. :)
Valószínűleg jobban tudják, mert a Mak meg az Android is ilyen állatul van megoldva.
- A hozzászóláshoz be kell jelentkezni
Kapcsolódó kérdés:
Régen olvastam egy blog post-ot egy Windows fejlesztőtől, ami azt magyarázta, hogy mennyi speciális eset van beleépítve a Win kernel-be backward compatibility miatt. Az egyik konkrét példa talán AutoCAD, talán valami játék kapcsán volt, hogy a program use-after-free bugot tartalmazott és a kernel figyelt rá, hogy ha ez a program fut, és felszabadít memóriát, akkor azt valójában nem szabad felszabadítani, mert még fogja használni.
Tudja valaki, hol találom ezt a blog-ot? Junior kollégáknak akartam többször linkelni, de nem találom.
- A hozzászóláshoz be kell jelentkezni
Nekem is rémlik, talán Joel?
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii-chicken-an…
Here’s the amazing part: On beta versions of Windows 95, SimCity wasn’t working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn’t free memory right away. That’s the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.
- A hozzászóláshoz be kell jelentkezni
Csakugyan ez volt az. Köszönöm! Valami zugblog rémlett, rossz helyen kerestem.
- A hozzászóláshoz be kell jelentkezni
Ahol még tök jó sztorik vannak a Windows fejlesztése kapcsán, az Raymond Chennek a The Old New Thing blogja.
Például: https://devblogs.microsoft.com/oldnewthing/20230829-00/?p=108661
https://devblogs.microsoft.com/oldnewthing/20071224-00/?p=24063
- A hozzászóláshoz be kell jelentkezni
hogy mennyi speciális eset van beleépítve a Win kernel-be backward compatibility miat
A release note-ok alapjan a SteamOS (Proton, Wine, stb...) is hasonlokat csinal most, egyes, sokszor egesz regi (es nyilvan csak binarisban meglevo, tehat mar nem modosithato) jatekok kompatibilitasat es teljesitmenyet javitgatjak. Nyilvan nem olyan szep munka, mint nullarol tokeletes rendszert epiteni, de ha egyszer ez adja az erteket a termeknek, akkor ezt kell csinalni.
- A hozzászóláshoz be kell jelentkezni
Majd ha képesek leszünk tökéletesen definiált apikat tervezni és ezeket tökéletesen megvalósító eszközöket készíteni, akkor már nem lesz szükség "kreatív" használathoz, félre-értelmezésekhez, egyedi megvalósításokhoz, határesetekhez, stb igazodni. ;D
- A hozzászóláshoz be kell jelentkezni
Mint elrettentő példa? :)
Elég szarul hangzik kernelbe háckolni egy userspace alkalmazását bugfixét.
- A hozzászóláshoz be kell jelentkezni
Mint érzékeltetése annak, hogy milyen legacy kódokkal dolgozni.
- A hozzászóláshoz be kell jelentkezni
ez a fajta kompatibilitás tette lehetővé a Windows 95 hatalmas elterjedését.
a felhasználót nem érdekli, hogy mennyire van tele hákolásokkal a kernel. az érdekli, hogy működik-e az alkalmazás, vagy nem.
- A hozzászóláshoz be kell jelentkezni
02:22:06 Dave Cutler shares his early career experiences, emphasizing the importance of understanding job roles before accepting them
Ez jól hangzik, csak ha a fejvadasz se tudja pontosan (vagy rosszabb esetben azt állítja h. tudja közben meg teljesen félrebeszél), a megbízója se tudja pontosan (vagy mégrosszabb esetben tudatosan hazudnak v. extrém mértékben ferdítenek), akkor sok sikert okosnak lenni előre, úgyis megégeted magadat többször, mire kialakul a 6.érzék. Ahhoz meg az kellett, h. előtte hibázz sokat.
Ez a megtévesztő az ilyen nagy öregek megosztott élettapasztalataikban, hogy ahhoz h. ők eljussanak erre a szintre, nekik is pofára kellett esniük párszor h. megtanulják. Tehát te hiába akarsz okos lenni tapasztalatlan naív lelkes fiatalként, nem fogsz tudni más tapasztalatai alapján ugyanúgy gondolkodni, mintha a saját személyes élményeiden alapulnának.
- A hozzászóláshoz be kell jelentkezni
Errol mindig az jut eszembe, hogy milyen az atlag magyar/kelet-europai 81 evesen.
Tipikusan "elt 70-egynehany evet". :(
Persze, ez erosen bias-szagu, mert usa-ban is vannak sokan rossz egeszsegi allapotban. Csak tenyleg szembeotlo, hogy nyugatabbra szemre sokkal tobb a kisimult, bekes, oregkoraban is alkoto ember.
- A hozzászóláshoz be kell jelentkezni
Nagyon igazad van. Sok nyugati kollégám van, nem csak a lové miatt élnek tovább. Jobban figyelnek az egezéségi állapotukra, rendszeresen járnak szürővizsgálatra, nem látsz kirohadt fogút közöttük. Betegszabit is 3x annyit vesznek ki mint mi. Teljesen más a habitusuk is, mi jóval többet pánikolunk és aggódunk, ők jellemzően nem idegesítik fel magukat munkaügyben. Ja és a legtöbbje aktív, sportol, kirándul, étterembe jár néha ahol kényelmesen jókat eszik (de nem sokat) szóval ja. Totál más emberek mint mi :D
- A hozzászóláshoz be kell jelentkezni