24C3: Inside the Mac OS X Kernel

Поділитися
Вставка
  • Опубліковано 25 лют 2011
  • Speaker: Lucy
    Debunking Mac OS Myths
    Many buzzwords are associated with Mac OS X: Mach kernel, microkernel, FreeBSD kernel, C++, 64 bit, UNIX... and while all of these apply in some way, "XNU", the Mac OS X kernel is neither Mach, nor FreeBSD-based, it's not a microkernel, it's not written in C++ and it's not 64 bit - but it is UNIX... but just since recently.
    This talk intends to clear up the confusion by presenting details of the Mac OS X kernel architecture, its components Mach, BSD and I/O-Kit, what's so different and special about this design, and what the special strengths of it are.
    For more information visit: bit.ly/24c3_information
    To download the video visit: bit.ly/24c3_videos
  • Наука та технологія

КОМЕНТАРІ • 140

  • @NeovanGoth
    @NeovanGoth 6 місяців тому +17

    Great talk! 12 years later still mostly up-to-date.

  • @armoredninja4975
    @armoredninja4975 8 років тому +85

    What an insightful keynote. The micro kernel myth for Mac OS X has been running for far too long. The speaker delved into almost all of the core parts that form the innards of Mac OS X. Great job. I don't I have ever seen anyone touch these topics on Mac OS X inner workings in such great detail and more importantly, compressed in under a 40 min keynote. The explanation has been done quite succinctly.

    • @xcoder1122
      @xcoder1122 8 місяців тому +2

      There has never been a micro kernel myth, Apple has always only spoken of a hybrid kernel and never claimed anything else. And this is the truth, as the kernel is not fully monolithic, since you could in theory move the BSD and I/O Kit part into user space and everything would still work as before, leaving only the Mach code in kernel space. It was just a performance decision to not do that. Yet if you take any other monolithic kernel out there, you cannot just take 98% of it and move that into user space, as there is no underlying abstraction layer below that code as the one that Mach provides. That's where she says "There is a clean separation..." in the video - this separation is what makes that kernel almost micro, except for address space and privilege separation.

    • @megatronskneecap
      @megatronskneecap 7 місяців тому

      nigga how are you gonna comment back 7 years later when apple has messed about with their kernel about 60 times since then. darwin doesn't even support 32-bit anymore like it did in 2015...@@xcoder1122

  • @Dima1415
    @Dima1415 7 місяців тому +20

    I love how comments are 10+ years old but the responses to the comments are 10 days old. I guess the algorithm blessed us all with this video in 2023

    • @mofik26
      @mofik26 7 місяців тому +1

      the algorithm sure does like 8-12 year old videos

    • @Freshbott2
      @Freshbott2 7 місяців тому +2

      I noticed the same and I love that people are so dedicated to it. I got a reply to an 11 year old comment recently, made my day. I wonder if in 100 years time people are talking with my GPT comment bot like I’m still around.

    • @eugrus
      @eugrus 5 місяців тому

      No wonder that it got recommended to me after watching Mark Russinovich's comparative analysis of NT 🌝 and Linux kennels

    • @EirikrTinkerTries
      @EirikrTinkerTries 5 днів тому

      And 2024 for whatever reason. I’m just trying to find videos of PureDarwin in action.

  • @OKtheAppleHead
    @OKtheAppleHead 13 років тому +31

    This is the most brief description of a very deep topics that I've ever seen.. Good job Lucy!! :D

  • @DaryxFox
    @DaryxFox 11 років тому +70

    Mac OS X as of version 10.5 "Leopard" IS a UNIX® System, despite what it's kernel is named. It conforms to version 3 of the Single UNIX® Specification, and as such is registered by The Open Group. The reason why Apple hasn't been sued for saying that it is UNIX® is because in fact it is, and they have a license to prove it.

    • @xcoder1122
      @xcoder1122 8 місяців тому +24

      They don't have a license, they have a certificate, that just confirms standard conformity. And the reason they didn't get sued is because their code is not based on any AT&T code. All of that is also said in the video, apparently you have never watched it.

    • @thewhitefalcon8539
      @thewhitefalcon8539 8 місяців тому +9

      Yes. It's a UNIX system. I know this.

    • @DorperSystems
      @DorperSystems 7 місяців тому

      @@xcoder1122 The sole owner of the UNIX trademark is The Open Group. Apple pays money for the ability to call their operating system UNIX. SCO paid license fees to TOG to use the name UNIX. MacOS not being derived from AT&T code does not change the fact that it is UNIX because UNIX is just a registered trademark of TOG, even though it is a derivative of BSD and not System V. Maybe you know the answer of why SCO didn't sue Sun over OpenSolaris's source code even though OpenSolaris is SVR4.

    • @vitek7219
      @vitek7219 7 місяців тому +1

      Mac OS not unix system it's a unix-like system. Apple have certificate posix '03
      Posix its api Unix system.
      Api = Application program interface.
      Interface system its a structure from head file and hierarchy standard memory, coherent method and target system programing.

    • @DorperSystems
      @DorperSystems 7 місяців тому

      @@vitek7219 UNIX is a registered trademark of The Open Group, formerly X/Open, formerly Novell, formerly UNIX System Laboratories, formerly AT&T. The Open Group has certified Mac OS X to be compliant to the Single UNIX Specification and gave apple the license to call Mac OS X UNIX.

  • @servo1k530
    @servo1k530 3 роки тому +18

    Wow I watched this for reference to see how big sur x64 mode only would change the Kernel and I got way more information and clarity thanks good video.

    • @emirhanmutlu5644
      @emirhanmutlu5644 3 роки тому +1

      Could you elaborate please?

    • @pspspsp1010
      @pspspsp1010 3 роки тому

      @@emirhanmutlu5644 discord?

    • @piecaruso97
      @piecaruso97 3 роки тому +7

      Actually since snow leopard the kernel runs in 64 bits mode and 32 bit kernel operations were no longer a thing from mountain lion onwards and with Big Sur they just added the arm64 port into the public os release including all the system binaries

  • @topcomp1066
    @topcomp1066 7 місяців тому +8

    Why was this recommended to me at 3 AM..

  • @sooo0kie
    @sooo0kie 7 місяців тому +10

    The algorithm brought me here.

  • @adriansilvestre
    @adriansilvestre 8 місяців тому +12

    These videos looked HD back in the day.

  • @elpapichulo4046
    @elpapichulo4046 12 днів тому

    Does this speaker have any more talks or blogs?

  • @nikitaskripchenko5136
    @nikitaskripchenko5136 5 років тому +7

    where i can find this keynote?

    • @nikitaskripchenko5136
      @nikitaskripchenko5136 5 років тому +3

      ok, just google it, if it helps anyone: fahrplan.events.ccc.de/congress/2007/Fahrplan/events/2303.en.html

  • @siavoshkasravi398
    @siavoshkasravi398 7 місяців тому +1

    Said runtime ifs for the runtime but showing build time ifs on the screen. Furthermore the solution was explained at being C++ abstraction which will be a build time solution. So it seems the problem was at development and could not have any effect at runtime.

  • @ChristopherGray00
    @ChristopherGray00 Рік тому +2

    absolutely amazing, thank you

  • @Time4Technology
    @Time4Technology 8 місяців тому

    Thanks for uploading this!

  • @YaroKasear
    @YaroKasear 6 місяців тому +1

    Pretty decent rundown and from what I understand not entirely inaccurate to how macOS works even now.
    That said, I do feel like she's kind of implying that because Apple did it differently that somehow makes it better. I'd kind of argue that there's probably a reason why Windows and Linux continue to do the things the way they do. Sure, some of it's compatibility, but it's not like Linux or Windows couldn't do some things as macOS does without being altogether disruptive. In many many many cases, there's just no real technical edge given by the Mach/XNU ways of doing things.
    A few examples I can think of.
    Kernel caches are great! But initramfs is truly more useful. Calling it a "hack" feels disingenuous. There are things you can do in an actual early userspace that you would never be able to do in a kernel cache without having to go out of your way to make a kext to do it when in intramfs you can write a no-nonsense shell script. This means an initramfs can bring up all sorts of custom and unusual boot environments a kernel cache couldn't even dream of supporting.
    Her description of how PCs boot was both outdated even then and also inaccurate. For example: BIOS does understand partitions. It's filesystems that BIOS doesn't understand. It's a very important difference. BIOS also does more than just "load the MBR." But on top of that, even 12 years ago when this talk was delivered: PCs were making the jump to UEFI at this time and so her information was largely outdated.
    She also didn't seem to acknowledge that EFI was not an innovation that came from Apple, but Intel for their Itanium platform. In fact, the way Apple implements EFI is largely criticized for not really being all that compliant with the actual standards of UEFI, largely for the sake of locking down macOS.
    I personally don't really find the idea of making device drivers behave in an object-oriented design is actually a good idea, and might be one of the chief things people hold against I/O Kit negatively. This is largely because "objects" are meaningless to hardware and this approach only really makes sense to developers who are solely focused on developing their drivers for macOS, which is not really how drivers are written today, where most drivers usually have a component for hooking into the kernel or I/O API and the other part that does the actual device driver stuff. A better approach for a driver framework is one that encourages abstracting a device as if it was an API, not an object.
    Also, there's a good reason Linux does the unstable ABI and doesn't take efforts to make things easier for third party driver devs: The philosophy of drivers for Linux is to get your driver into the kernel tree, not to make it something you have to go download off of the manufacturer's website. The whole idea is that if the driver is done properly by the hardware manufacturer for Linux, you don't even HAVE to go to the manufacturer's website to get drivers, you already have it as part of the kernel package. This has the benefit of forcing manufacturers to have to deliver drivers with a certain quality standard and not introduce drivers that break things. Even if the driver has poor hardware support, you can't accuse the drivers in the kernel of being unstable. There are downsides to this (Out of tree drivers suffer a bit, even if they're open source.), but I do find it odd she thinks it's more convenient to get drivers off a manufacturer's website, as opposed to the Linux way of doing it, which is just to have the driver already there and available as part of the kernel package, which means the average Linux user literally has to do nothing to get their hardware working, which was true even 12 years ago.

  • @Garegin
    @Garegin 12 років тому +2

    hmm, did not know that.

  • @arranmc182
    @arranmc182 11 років тому +14

    When I was at college studying I.T. we got to use some of the Mac's they had and the tutor was a Mac users going on about have stable they are and the Mac he was on locked up and did a Kernel Panic on him the look on his face was priceless his first words where oh I think they have not updated the system in a while, I love when any one says such OS is better than another OS they all have there good & bad parts no matter the OS

  • @nodupe
    @nodupe 3 місяці тому

    Loved it

  • @UncleMarioBoss
    @UncleMarioBoss 12 років тому +6

    Cool, thanks.So, it's technically possible to develop your own OS using the XNU Darwin Kernel?.... Hmm....

    • @gazdubz
      @gazdubz 4 роки тому +2

      Yes Apple had a opensource project for it for a while but they shut it down but revived more recently

  • @shinobi5189
    @shinobi5189 Місяць тому

    I’m not even a Mac user but the kernel they use somehow interests me. Idk I’m weird

  • @tomrow32
    @tomrow32 7 місяців тому +5

    "C:\WINDOWS\SYSTEM64"
    what the hey is that?

    • @Ybalrid
      @Ybalrid 7 місяців тому +3

      give it to windows on the 64bit platform for not making sense. You're 64bit operating system files are stored in "system32", as the main implementation for the "win32" subsystem for the NT kernel, while the 32bit libraries and system files are stored in "SysWow64", as they implement the Windows on Windwos layer for Windows 64bit. An implementation of the 32bit runtime libraries for windows that actually call into the 64bit OS instead
      Weird eh?

  • @Aragubas
    @Aragubas Місяць тому

    omg awesome talk tysm

  • @teamredstudio7012
    @teamredstudio7012 Місяць тому

    What is happening at 16:56?
    Also she called her MacBook slow!

  • @mickliddy
    @mickliddy 12 років тому +2

    At 31:40, did she just say "The architecture is slower because we have lazy programmers" or did I completely misunderstand that? 0.o

  • @mrS64100
    @mrS64100 4 місяці тому

    The fact that this talk is from before OSX was even certified as UNIX is funny

  • @Luca_040
    @Luca_040 7 місяців тому

    What does she mean with "Mark"?

    • @udofromgermany
      @udofromgermany 7 місяців тому +2

      „Mach“, the name of the micro kernel from Carnegie Mellon university

  • @Garegin
    @Garegin 12 років тому +8

    the kernel is 64 bit. at least since 10.6.

    • @teamredstudio7012
      @teamredstudio7012 Місяць тому

      I thought Mac OS wasn't x64 until Lion, and Snow Leopard was x86 but supported 64bit applications. I guess I was wrong.

  • @MyOwnClone
    @MyOwnClone 11 років тому +2

    No, it is old white MacBook.

  • @DaryxFox
    @DaryxFox 11 років тому +1

    10.6 and higher are 64bit, with the ability to run in 32bit mode (to support older Intel Core 2 Macs), and load 32bit drivers/kexts. Besides, what does it matter whether the kernel is 64bit or not? If you can run 64bit apps then why complain?

    • @xcoder1122
      @xcoder1122 8 місяців тому +4

      Because x86_64 has several performance benefits, e.g. way more registers, as well as some new instructions only available in 64 bit mode. The kernel was running slower than it could have on 64 hardware until Snow Leopard, where the kernel could run fully 64 bit and since Mountain Lion it is 64 bit only.

  • @gametechish
    @gametechish 11 років тому +2

    WAIT Mac OS is Open Source

    • @subscriber6181
      @subscriber6181 4 роки тому +17

      The XNU kernel and the Darwin base OS is

  • @pppkenken6610
    @pppkenken6610 7 місяців тому

    mach kernel micro architecture.

  • @Piralitto
    @Piralitto 6 років тому +1

    Now I will read you my lecture as to how I passed last weekend at the lake.

  • @kristianiwannou482
    @kristianiwannou482 6 років тому

    Diss n leave

  • @JackFate76
    @JackFate76 8 місяців тому +4

    System 7 was released 4 years before win95. To say "it couldn’t keep up" with something that wasn’t even around is kinda silly.

    • @LostieTrekieTechie
      @LostieTrekieTechie 8 місяців тому +3

      I think it's meant to suggest a lack of progression in those four years. A 1995 Mac ran a cooperative multitasking OS from 1984

    • @lhpl
      @lhpl 7 місяців тому

      @@LostieTrekieTechie So did Win95. There is a good reason Mac users in 1995 would chant "Win95 = Mac 84". At that time, the direction was set towards POWERPC, Taligent, Copland and many other advanced things. Unfortunately bad luck happened. Like IE. As a result the Internet had to adapt to a horrible platform, and instead of advanced and consistent user interfaces, and a proper peer-to-peer network, we got chaos, inconsistency, malware, incompatibilities, lack of good standards etc etc. IT hasn't properly recovered since.

    • @lhpl
      @lhpl 7 місяців тому +1

      @@LostieTrekieTechie oh, but except: the Mac II family actually did run a preemptive multitasking OS, as early as 1987, with complete Mac compatibility. It was called A/UX. Ran the interface in a process under SVR4, a bit like you would run X11. Worked great.

    • @aaroninclub
      @aaroninclub 7 місяців тому

      @@lhplwin95 was dos-based!!!!

    • @lhpl
      @lhpl 7 місяців тому

      @@aaroninclub win 3.11 was for sure, but I believe the big fuss about Win95 was that it no longer was the case? I don't know, as I've never used DOS/Windows much - I went directly from CP/M to a Mac, and later to Unix (A/UX, NetBSD, Irix, AIX, and eventually Linux. I've used WinXP at work at times, when forced to, but just for SSHing out, simple Office work and web browsing.)

  • @UncleMarioBoss
    @UncleMarioBoss 12 років тому +3

    Or, Modify Linux to act more like XNU, providing a proper KernelCache sytem, and letting 32bit applications run on 64-bit machine....

    • @subscriber6181
      @subscriber6181 4 роки тому

      or BSD

    • @Freshbott2
      @Freshbott2 7 місяців тому

      What was the context of you saying this 11 years ago before Apple killed off 32bit?

    •  5 місяців тому

      @@Freshbott2 Apple first tried to use with the M4 micro kernel which also uses Mach

  • @FireicerCooper
    @FireicerCooper 10 років тому +1

    Why cant the hardware manufacturers just place the source code into the Linux tree ready for users to just compile the kernel as needed for the hardware when they buy it. Oh wait of course MAC want to keep it propriatery lol

    • @askhowiknow5527
      @askhowiknow5527 5 років тому +5

      Fireicer Cooper MAC isn’t a company... and there are advantages to both open and closed source software models

    • @spell105
      @spell105 7 місяців тому +3

      Because nobody expect like 15 sweaty nerds with a UNIX beard care about this stuff.

    • @FireicerCooper
      @FireicerCooper 7 місяців тому

      @spell105 well there will be most likely one sweaty nerd with a pizza and a bottle whiskey but OK 15 sweaty nerds is you thing. Pornhub likes you to record that lol

  • @eazel7
    @eazel7 6 років тому +7

    Beautiful engineer

  • @Mankindux
    @Mankindux 2 роки тому

    macOS is no longer POSIX conformant now.

    • @mentix002
      @mentix002 Рік тому

      How so?

    • @Mankindux
      @Mankindux Рік тому +5

      @@mentix002 does not have many of the newest requirements (missing fields in stat structure), timer API missing and many more.

  • @pederb82
    @pederb82 6 місяців тому

    yes, she is so correct. This is why linux have overtaken mac os x (sarcastic)

    • @pederb82
      @pederb82 6 місяців тому

      @@ramp6727 It was meant as sarcasm/irony.

  • @menacarl
    @menacarl 7 місяців тому +1

    Is she wearing a wig??

    • @rndofpipowe
      @rndofpipowe 6 місяців тому +1

      Is that only thing you interested in this keynote?

    • @menacarl
      @menacarl 6 місяців тому +1

      ​@@rndofpipowewhats the problem with asking?

    • @rndofpipowe
      @rndofpipowe 6 місяців тому

      @@menacarl No any, just curious.

  • @StringerNews1
    @StringerNews1 7 місяців тому +1

    Wow, what a mess! I knew that OSX was a hodgepodge of borrowed (and stolen) software NIH to Apple, but didn't know just how much of a hodgepodge it was! And considering that the Berkeley Software Distribution was defunct some 30 years ago, why the constant reference to "BSD"? This is a joke, right?

    • @sundhaug92
      @sundhaug92 7 місяців тому +2

      1. The parts of macOS not developed by Apple are properly licensed
      2. BSD still exists, and in fact is the basis for the PS5

    • @StringerNews1
      @StringerNews1 7 місяців тому

      @@sundhaug92 the burden of proof is on the claimant, and I don't see that burden being met here. What I see is weasel words, the "anonymous authority" tactic that liars frequently employ. Where are these alleged licenses?
      In reality, software like Linux and FreeBSD use a "by use" license that states beforehand that the act of using the product is acceptance of the license. In the case of FOSS, the original license, and sometimes the original code must be redistributed with the commercial product. It's not hard to check for if it's true, but if not ... well perhaps that's why we see nothing but an empty claim above.
      BSD stands for Berkeley Software Distribution. As the name suggests, it was a UNIX distribution, made by the Computer Systems Research Group at the University of California, Berkeley campus. And the problem with this claim is that BSD ended when the CSRG was closed down in 1992. AT&T sold UNIX to Novell, and Novell never resold Research UNIX. I could be wrong, but the bar for proving me wrong is to produce a licensed copy of Research UNIX from Novell, SCO or one of the recent owners of the UNIX product. Likewise, to prove the claim "BSD still exists" all you have to do is show some kind of software distribution system that originates at UC Berkeley. You can't because there isn't such a thing.

    • @kippie80
      @kippie80 7 місяців тому +3

      It was Microsoft that pled guilty to stealing the BSD up stack for its “NT” based OS. Apple was above board on this front and gave (still does) proper attribution for all open source code used in its system. Where is Microsoft’s Darwin?

    • @StringerNews1
      @StringerNews1 7 місяців тому

      @@kippie80 as bad as Microsoft is, they never hired an army of attorneys to flat-out lie to the general public like you are lying. No, Microsoft never "pled guilty" to stealing BSD, because it never happened. BSD was a UNIX distribution, and the UNIX that Microsoft sold was not '"NT" based OS' but Xenix, which _was_ legally purchased from AT&T. Windows NT is not Xenix. Rather famously, Dave Cutler of DEC fame was hired to write Windows NT, a product that nobody would ever mistake for Research UNIX.
      Darwin is an Apple product! Microsoft is not obliged to sell it, how arrogant you are! The real question is where is the OSX source code? The GPL license requires that Apple publish it, but that has never happened.
      Shame on you, liar!

    • @kippie80
      @kippie80 7 місяців тому

      Google it. Microsoft was convicted and paid in the ‘90s

  • @fieryjalapenos
    @fieryjalapenos Рік тому

    wig

  • @MajorGoodGuy
    @MajorGoodGuy 12 років тому +5

    she's useing a Windows PC.

    • @michig7561
      @michig7561 6 років тому +9

      looks more like an iBook

    • @Yep6803
      @Yep6803 6 років тому +1

      Lol

    • @Mainyehc
      @Mainyehc 8 місяців тому +1

      I’m pretty sure that’s either an iBook G3 or a pre-Unibody MacBook…

  • @helipilot727
    @helipilot727 11 років тому +5

    The blond wig will work for me if she just keeps talking :D

    • @askhowiknow5527
      @askhowiknow5527 5 років тому +2

      Her accent gives me the crawling shits

  • @chucknorris9295
    @chucknorris9295 11 років тому

    i'd tap

  • @basharalchammani
    @basharalchammani 10 років тому +6

    blonde

  • @OasisAllure2010
    @OasisAllure2010 8 років тому +6

    I really can't take her seriously.

    • @SaurikSI
      @SaurikSI Рік тому +3

      Why?

    • @SaurikSI
      @SaurikSI 6 місяців тому

      @@ramp6727 What info is she leaving out?
      Do you know a keynote better than this? This is the only one I found about the inner-workings of macOS.

    • @DanDan-zs6wg
      @DanDan-zs6wg 6 місяців тому

      @@ramp6727 Lmfao you’re mad over someone giving a pretty good presentation. You can’t always go into explicit details on everything. She acknowledged she took some liberties in her explanations in order to arrive at an overall point. She did a great job! She made no misrepresentations - no one is looking at MacOS as a “hairball of stolen code,” except you!

    • @SaurikSI
      @SaurikSI 6 місяців тому

      @@ramp6727 I agree, it’s not stolen code, most OSes borrow other work and it’s OK if you credit them.

    • @DanDan-zs6wg
      @DanDan-zs6wg 6 місяців тому

      @@ramp6727 Lmfao you sound hurt 😂 I have given quite civil input, but hey, you want to make it personal

  • @gametechish
    @gametechish 11 років тому +2

    She doesn't know what a microkernel is

    • @DanDan-zs6wg
      @DanDan-zs6wg 7 місяців тому +4

      Yes, she does.

    • @DanDan-zs6wg
      @DanDan-zs6wg 6 місяців тому

      @@ramp6727 Lol bruh, I watched the video. She knows what a microkernel is. Just because I disagree with a comment, doesn’t mean I’m being a contrarian for the sake of it. But hey, if it makes you feel better calling me one, power to ya! 👍

    • @DanDan-zs6wg
      @DanDan-zs6wg 6 місяців тому

      @@ramp6727 I disagree with these characterizations of her and now you’re saying I can’t comment in disagreement? I think you have a problem with being openly criticized and you’re a little sensitive 😉
      But hey, you do you, boo! 😝

  • @booooooooooooooooooooooo
    @booooooooooooooooooooooo 4 роки тому +2

    She is so judgemental. I find her snobby and a bit annoying.

    • @murray6512
      @murray6512 3 роки тому +13

      Bit judgemental mate

    • @oaktowndimond668
      @oaktowndimond668 2 роки тому

      She still works for me. 😜

    • @Reichstaubenminister
      @Reichstaubenminister 10 місяців тому +4

      She's German, what did you expect?

    • @lhpl
      @lhpl 8 місяців тому

      This video is so full of errors and half-truths just in the first five minutes it would be worse than a waste of time to finish watching it. And it not something I say because I am an Apple-user. On the contrary.

    • @inzMBL
      @inzMBL 7 місяців тому

      plus wig :)

  • @4Nanook
    @4Nanook 7 місяців тому +1

    Mostly bullshit, but if you weren't around at the time this can sound convincing.

    • @DanDan-zs6wg
      @DanDan-zs6wg 7 місяців тому +2

      No, this is not mostly bullshit.

    • @DanDan-zs6wg
      @DanDan-zs6wg 6 місяців тому

      @@ramp6727 Were you paid by Apple to leave all these comments? Lol get a life, my dude