LaurieWired
LaurieWired
  • 90
  • 2 339 856
How a Clever 1960s Memory Trick Changed Computing
Ever wondered how your computer can run multiple programs at once? Join me as we explore the historical innovations of Britian's Atlas supercomputer, enabling efficient multitasking and memory management that modern computing relies on.
We'll cover various computer engineering and operating system topics, such as Virtual Memory, Memory Management Units, Translation Lookaside Buffers, as well as Spatial and Temporal locality!
---
Follow LaurieWired on Social Media:
►linktr.ee/lauriewired
---
Timestamps:
00:00 Intro
01:07 Physical Memory Addressing
05:12 Virtual Memory Addressing
10:53 Translation Lookaside Buffer
17:42 Closing Thoughts
---
Resources on Memory Paging:
x86 Paging:
Vol 3A Part 1 Chapter 4, Paging:
www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf
Vol 3C Part 3 Chapter 28, VMX Support for Address Translation:
www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3c-part-3-manual.pdf
Arm Paging:
AArch64 Memory Management Guide:
developer.arm.com/documentation/101811/latest
RISC-V Paging:
The RISC-V Instruction Set Manual: Volume II, Sections 10.3 through 10.6:
riscv.org/technical/specifications/
---
Atlas Emulator for Modern PCs:
www.icsa.inf.ed.ac.uk/research/groups/hase/models/atlas/
---
Intro Music by Analog Summer:
www.youtube.com/@AnalogSummer-fj1pn
Переглядів: 180 708

Відео

The Magic of RISC-V Vector Processing
Переглядів 214 тис.21 день тому
The 1.0 RISC-V Vector Specification is now Ratified, and the first pieces of silicon using the new spec are starting to hit the shelves. I go over the utility of Vector Instructions, why you would want them, why you should care, and how to use them in raw assembly code! We also touch on some complex computer engineering topics like Vector Length Agnosticism. By the end of this video, you'll und...
A Competition for Unreadable Code?
Переглядів 152 тис.2 місяці тому
Let's explore the winning submissions of The International Obfuscated C Code contest! Held every year, the IOCCC is a celebration of the syntactical quirks and unique features of C, encouraging submitters to create the most unreadable and unique code possible. In this video, you'll also learn how to quickly deobfuscate IOCCC submissions using various reverse-engineering tricks, turning the inde...
Deciphering Obfuscated JavaScript Malware
Переглядів 70 тис.2 місяці тому
Do you like solving programming puzzles? Want to uncover what a malicious attacker is actually trying to do with their code? In this video, we manually deobfuscate and Reverse Engineer an obfuscated JavaScript file. We look at a malicious loader file that downloads and executes a secondary AsyncRAT payload. You can follow along yourself with the video, by using the hash listed below! File Hash:...
What ACTUALLY happens during a Stack Overflow?
Переглядів 136 тис.3 місяці тому
In this video, we demonstrate a stack overflow happening in real-time using a recursive function in ARM assembly. We visualize the value of the stack pointer as it surpasses the maximum amount of space allocated for the call stack. You can experiment yourself on a Raspberry Pi or any ARMv7 device, by using the open-source code I wrote here: github.com/LaurieWired/Assembly-Algorithms Timestamps:...
Mastering Memory: Allocation Techniques in C, C++, and ARM Assembly
Переглядів 155 тис.3 місяці тому
In this video, we explore equivalent memory allocation techniques in C , C, and raw ARM assembly. We discuss the methods and system calls associated with each language to allocate then free memory once a dynamic variable is no longer required. Timestamps: 00:00 Intro 01:46 C Memory Allocation 05:41 C Memory Allocation 09:50 ARMv7 Assembly Memory Allocation 16:18 Conclusion LaurieWired Socials: ...
Reverse Engineering 101: How to Dissect and Master Any Platform
Переглядів 81 тис.4 місяці тому
Ever wanted to be a Reverse Engineer? Don't know where to start? In this video, I go over my suggested path to become a well-rounded Reverse Engineer. This strategy applies to any platform and should give you a solid foundation to pursue even specialized RE roles in the future. Timestamp: 00:00 Intro to RE 00:30 Programming Basics 01:45 Assembly Code 03:30 Windows RE Book Recommendation 04:08 A...
Computing the Euclidean Algorithm in raw ARM Assembly
Переглядів 240 тис.4 місяці тому
In this video, we translate C into equivalent ARM assembly code to compute the GCD of two numbers (also known as the Euclidean Algorithm). We visualize our completed GCD calculator on a raspberry pi. Timestamp: 00:00 Intro 00:44 C Equivalent 02:26 Base Case in ASM 04:36 Writing Comparison 05:26 Recursive Case 07:29 Manual Creation of a Modulus 09:10 Calling the function 10:11 Compiling and Runn...
Cybersecurity "Experts" suck at coding. It's a problem.
Переглядів 102 тис.5 місяців тому
In this video, we discuss why security researchers need to understand software engineering. We examine common tasks within cyber security and how they would be improved with development experience. Timestamp: 00:00 Intro 00:35 Reverse Engineering Unfamiliar Languages 04:10 Exploit Development and Vulnerability Research 07:45 Big Data 08:58 Ransomware Cryptography 10:50 Writing Good Detections 1...
Using Recursion in ARM Assembly to compute the Fibonacci Sequence
Переглядів 16 тис.5 місяців тому
Using Recursion in ARM Assembly to compute the Fibonacci Sequence
Exploring Info.plist: Essential Knowledge for iOS Reverse Engineering
Переглядів 14 тис.5 місяців тому
Exploring Info.plist: Essential Knowledge for iOS Reverse Engineering
Extended Cut: Asuka Roasts Your Sorting Algorithms
Переглядів 28 тис.7 місяців тому
Extended Cut: Asuka Roasts Your Sorting Algorithms
Demangling Swift Symbols for Reverse Engineering
Переглядів 6 тис.7 місяців тому
Demangling Swift Symbols for Reverse Engineering
Asuka Roasts Your Sorting Algorithms
Переглядів 83 тис.7 місяців тому
Asuka Roasts Your Sorting Algorithms
ARM Assembly: Lesson 11 (Stack Operations)
Переглядів 6 тис.8 місяців тому
ARM Assembly: Lesson 11 (Stack Operations)
Ghidra Scripting to Speed Up Reverse Engineering
Переглядів 16 тис.8 місяців тому
Ghidra Scripting to Speed Up Reverse Engineering
ARM Assembly: Lesson 10 (Function Calls)
Переглядів 6 тис.9 місяців тому
ARM Assembly: Lesson 10 (Function Calls)
Pointers in RISC-V Assembly
Переглядів 14 тис.9 місяців тому
Pointers in RISC-V Assembly
Do This When Your Android Decompiler Fails
Переглядів 3 тис.9 місяців тому
Do This When Your Android Decompiler Fails
TROOPERS23: Beyond Java: Obfuscating Android Apps with Purely Native Code
Переглядів 4,4 тис.9 місяців тому
TROOPERS23: Beyond Java: Obfuscating Android Apps with Purely Native Code
Android Banker Deep Dive (Part 6)
Переглядів 1,8 тис.10 місяців тому
Android Banker Deep Dive (Part 6)
Triggering Android Intents
Переглядів 4,5 тис.10 місяців тому
Triggering Android Intents
Objective-C Calling Conventions for iOS Reverse Engineering
Переглядів 11 тис.10 місяців тому
Objective-C Calling Conventions for iOS Reverse Engineering
ARM Assembly: Lesson 9 (While Loops)
Переглядів 4,5 тис.10 місяців тому
ARM Assembly: Lesson 9 (While Loops)
Dynamically Analyzing Linux Black Basta Ransomware
Переглядів 19 тис.10 місяців тому
Dynamically Analyzing Linux Black Basta Ransomware
Android Banker Deep Dive (Part 5)
Переглядів 1,4 тис.10 місяців тому
Android Banker Deep Dive (Part 5)
Speeding up Linux Malware Analysis with Docker
Переглядів 5 тис.10 місяців тому
Speeding up Linux Malware Analysis with Docker
RISC-V Assembly Hello World (Part 2)
Переглядів 8 тис.11 місяців тому
RISC-V Assembly Hello World (Part 2)
RISC-V Assembly Hello World (Part 1)
Переглядів 23 тис.11 місяців тому
RISC-V Assembly Hello World (Part 1)
Using Strace to Trace Linux Syscalls
Переглядів 14 тис.11 місяців тому
Using Strace to Trace Linux Syscalls

КОМЕНТАРІ

  • @skyletoft
    @skyletoft 50 хвилин тому

    How on Earth is this not just automated constant folding? The analysis is interesting but the lack of automation for this in 2024 is a bit depressing. And why the console.log in the repl? You were just printing string expressions, not using any of the formatting functionality, it would just return (and print) the string?

  • @jaybird57
    @jaybird57 Годину тому

    Amazing production quality on this video.. I could listen to you talk 24/7. You make a perfect 60's pinup too..

  • @gustavodemacenabarreto4572
    @gustavodemacenabarreto4572 3 години тому

    Im really proud that RISC-V is finally getting noticed. Actually, I'm working as intern in order do develop verilog modules for such operations in RISC-V Architecture.

  • @adalbertocaldeirabrantfilh8490
    @adalbertocaldeirabrantfilh8490 4 години тому

    Hi, Nice screen about copland os !! Great Work !!!

  • @adalbertocaldeirabrantfilh8490
    @adalbertocaldeirabrantfilh8490 4 години тому

    u r the best.

  • @eeydabez2169
    @eeydabez2169 6 годин тому

    Great warm up video to bring younger folks up to speed on what their grandparents were up to! Even for an old Nerd like me it was enjoyable watching you explain these lovely basics. :) Ahem.. 2 points though: a) "Contiguous" <- sorry you're saying it wrong, i checked if there was any part of the world that says it like you are and couldn't find it, b) Godel Escher Bach - you are a person of my own heart!! <3

  • @typingcat
    @typingcat 8 годин тому

    Is this an A.I. voice?

  • @flv-hd7nn
    @flv-hd7nn 8 годин тому

    I can watch you hours breaking down all computer engineering concepts LOL

  • @Feliper871
    @Feliper871 8 годин тому

    i love this absolutely crazy thing. is real? what a contest!

  • @stevejackson4340
    @stevejackson4340 9 годин тому

    17:52 ...."breakthorugh".... opps.

  • @perfishfan
    @perfishfan 11 годин тому

    this video is incredible

  • @q-mansion145
    @q-mansion145 12 годин тому

    Advanced, not for me😂but I appreciate ❤

  • @WRSomsky
    @WRSomsky 12 годин тому

    Very nice! But I've never heard 'contiguous' pronounced as 'con-ti-jus'. I've always heard it as 'con-tig-yew-us'. Is this a dialectal variation I've not heard before?

  • @95rav
    @95rav 12 годин тому

    If Agent 99 was computer savvy...

  • @mbnqpl
    @mbnqpl 12 годин тому

    Nice video! You also look so cool in '60s style =D

  • @ice2seeU
    @ice2seeU 13 годин тому

    You pitch up your voice too much. You make it obvious.

  • @tpoppy9303
    @tpoppy9303 13 годин тому

    She really didnt win.

  • @jamess1787
    @jamess1787 14 годин тому

    Windows Vista!? 😂 (Thanks for the video!)

  • @metavore7790
    @metavore7790 14 годин тому

    My mind is blown, and the world makes a bit more sense. Thanks for this entertaining and really clear explanation with literal physical blocks! This felt like a piece of the puzzle a level up in abstraction from what Ben Eater covers. Looking forward to learning more!

  • @jamesjpak
    @jamesjpak 16 годин тому

    very well explained. The production is amazing. When i grow up I wanna be like you

  • @7stringsam943
    @7stringsam943 17 годин тому

    I subscribed as soon as I saw the Lain reference in the opening!

  • @Ode-
    @Ode- 19 годин тому

    A better mic and better care on audio is needed.

  • @salerio61
    @salerio61 20 годин тому

    Why no mention of Lynn Conway who actually developed multi-tasking systems in the first place? Without her it would have taken years for others to develop multi-tasking, pipe-lining, multiple processing, and not only that she actually wrote the book on processor design

  • @anjanbora7943
    @anjanbora7943 20 годин тому

    💋💋💋💋💋💋💋

  • @anjanbora7943
    @anjanbora7943 21 годину тому

    ❤💋💋💋

  • @chris94kennedy
    @chris94kennedy 21 годину тому

    exfiltrate is a great word

  • @matthewday7565
    @matthewday7565 22 години тому

    If I recall correctly, the 8086/8088 didn't have paging, but got round the problem by segmentation - and the fact that multiple programs were usually loaded in sequence, so that there were no gaps to worry about

  • @kennethstephani692
    @kennethstephani692 22 години тому

    Great video!

  • @humanrightsadvocate
    @humanrightsadvocate 23 години тому

    Nobody takes it for granted that they computers can do multitasking. They all take it for granit.

  • @ryanellinger1607
    @ryanellinger1607 23 години тому

    Nice vid

  • @godmarback9866
    @godmarback9866 23 години тому

    When using vim on a dark background, try `:set background=dark` for better syntax highlighting.

  • @argvminusone
    @argvminusone День тому

    Note that virtual memory isn't the only way to solve the overlapping problem. It is also possible for the operating system to rewrite a program during loading to run from a different address. This is called “relocation”, and it's how 1980s/1990s Windows and Mac OS accomplished multitasking without virtual memory. Relocation is still used for loading DLLs. DLLs have the same “what if they overlap” problem, and it _can't_ be solved with virtual memory because they must be inside the same address space as the program that loaded them. Besides relocation, there's also position-independent code. This is code where all references to portions of the program (function calls and so on) are relative, meaning they take the form “jump backward by 123 bytes” instead of “jump to the address 2345”. This kind of code will work the same no matter which address it's loaded at.

  • @Nick-qy3hu
    @Nick-qy3hu День тому

    I ended up losing my K6-2 back in the early "Naught'ies", but a buddy of mine wound up with Salvage from our local university that salvage I acquired a Pentium 166 MMX that overclocked to 233. A Voodoo 3 And a pair of 128 MB SDRAM DIMMS. After installing Linux and recompiling the kernel to work with the TDFX framebuffer, my place was the place to go for movies. I also had an S-Video port on my TV. Back in the day, /dev/fbdev was whacky.🙂

  • @OmniKoneko
    @OmniKoneko День тому

    I was not listening, I was just staring at her face

  • @thepoonhound3003
    @thepoonhound3003 День тому

    thank.

  • @MiNa-kv3lp
    @MiNa-kv3lp День тому

    Little hint: con·​tig·​u·​ous kən-ˈtig-yə-wəs. Great video!

  • @ByWire-yk8eh
    @ByWire-yk8eh День тому

    Great video. How about TLBs on IBM S/360-370-390? 1970's. I worked on them. (I'm very old)

  • @connclissmann6514
    @connclissmann6514 День тому

    Great fun as well as informative. Bring back Peek and Poke!

  • @proshadu606
    @proshadu606 День тому

    you switt girl

  • @jimparsons6803
    @jimparsons6803 День тому

    I think that I head about this back in the day; studying FORTRAN in 1969, was it?

  • @minsapint8007
    @minsapint8007 День тому

    Genius level presenation Absolutely loved it.

  • @thephoenix215-po2it
    @thephoenix215-po2it День тому

    What gets me is those communities are not bigger than they actually are.

  • @king_james_official
    @king_james_official День тому

    please back off a bit i'm uncomfortable

  • @Unikladhalo
    @Unikladhalo День тому

    Thanks for this. It was like a trip down memory lane(pun intended). I remember running FORTRAN programs on the school mainframe which was hard-linked to the state’s machine on punched cards. Felt like the Stone Age.

  • @ladyTired
    @ladyTired День тому

    can you please do a series teaching c++

  • @alihassancodes
    @alihassancodes День тому

    Her name in English 🤟 Her name in Hindi ☠

  • @Deathrape2001
    @Deathrape2001 День тому

    U look nice & stuff but should work on the voice = kinda goofy generic. Better 2 B mor 'substantial' sounding. High is OK if not squeaky nasal ~> www.youtube.com/@lexirose4264

  • @ryanmccampbell7
    @ryanmccampbell7 День тому

    I like the production value and the period costumes. Also a pretty good explanation of virtual memory.

  • @questions141
    @questions141 День тому

    Hi, thank you for the video. However I have a question, an app even though having all those dangerous permissions they wouldn't be granted right? So if the permissions are not granted the app wouldn't be able to do malicious things without the required permission (Recording audio) or can an app use the functionality without declaring the permissions in the manifest?

  • @teolcd
    @teolcd День тому

    Wait, the voice is real?