Hacker Newsnew | past | comments | ask | show | jobs | submit | bee_vik's commentslogin

The saddest part about this is that it's the opposite of what Apple originally stood for. With the Apple II line, Apple released schematics and extraordinarily detailed technical reference manuals. Everything about the inner workings of those computers was an open book. Their motherboards were covered in chip sockets so you could replace nearly every component, and peripheral cards could be slotted in at will. It was a hobbyist's dream computer.

Granted, computers have changed a lot in the intervening years, but it still makes me sad to compare what Apple was to what Apple became.


The Apple II was the Woz Apple. Woz basically has to threaten to walk out, and leave the company without a products, to get Jobs to allow the Apple II to have expansion ports.

The Mac etc is what Jobs wanted. A sealed beige box that only did what Jobs envisioned it to do (produce a GUI and look good).

And yet variants of the Apple II kept outselling the Mac all the way until the II was unceremoniously dropped.


Well Jobs was a complicated man and I don’t want to make excuses for other parts of his life but...

He was also responsible for NeXT. That company was about trying to make the power of Unix more mainstream.

Modern Macs are far more decended for NeXT computers than they are from the original baige box >= system 9 Macs.


To me making use of _nix but writing their own UI layer suggests that the _nix side was just a convenient way to get the base layer of the OS basically for free.

This in much the same way as Linux use used just about everywhere these days, hiding behind a myriad of custom UIs.


I’m not sure it’s that simple.

When Jobs founded NeXT in 1985 there was no standard GUI layer for Unix. What you’re referring to as the “base layer” was all of Unix.

X was only started in 1984 I believe and Sun also has a competing incompatible alternative at the time too.

It wasn’t at all clear that the X Windowing System would win out as the dominant implementation.


Steve Jobs was also trying to get UNIX on the Mac before he was kicked out of Apple in 1985 http://lowendmac.com/2013/apples-bigmac-project-failed-precu...


> And yet variants of the Apple II kept outselling the Mac all the way until the II was unceremoniously dropped

Although that was mostly due to price, not expandability (the Mac II with all its slots and RAM expandability was introduced 6 years before the Apple IIe was discontinued)


"And yet variants of the Apple II kept outselling the Mac all the way until the II was unceremoniously dropped."

That was mostly school purchases.


And people outside Wall Street worship Jobs, using him as the yardstick for good tech leaders. What gives, I don't know.


Because he was the Barnum of tech basically...


Apple's hardware is largely a combination of other companies products. So if you want the schematics for your CPU, GPU, RAM, Display etc ask Intel, Nvidia/AMD, SanDisk, LG.

If you want upgradeable hardware then buy the Mac Pro since it was the model designed for that purpose. Otherwise you need to understand that upgradeability comes at the expense of thickness and weight since those clips/sockets take up valuable space. And people that want upgradeability simply aren't Apple's market. Go buy something else instead.


The current “Tash Can” Mac Pro is not really upgradable. It has proprietary GPU and SSD interfaces and no other PCI slots.

You might be able to purchase a replacement SSD for someone like OWC or upgrade to the higher spec Apple sourced GPU if you bought a low end model but Apple is not expecting you to do this.

You can update the RAM or use external thunderbolt peripherals but that’s a long way from the older “cheese grater” Mac Pro.

If I was to guess I would say that this deliberate removal of upgrade path is actually about design for reliability.

If you remove the upgrades you remove the chance of static damage or use of faulty parts. Also the case is easier to manufacture and more robust because it’s less complex.

I think that’s the real reason the SSD is now soldered in the current MacBook Pro but it’s just a guess.


If they didn't solder the SSD you could buy their smallest one and then drop in a huge SSD at 1/4 the price apple would charge for the upgraded storage. Apple systems are very expensive for the base model but where they REALLY tax you is anything with upgraded specs.


I created a docker container that hosts the gcc cross-compiler I used to build my own OS:

https://hub.docker.com/r/brett/gcc-cross-x86_64-elf/

It hosts the gcc 7.1 x86_64-elf compiler with redzone disabled.

If you don't want to use the docker container, you can view the dockerfile to see the steps required to build the cross-compiler yourself:

https://github.com/beevik/docker/tree/master/gcc-cross-x86_6...


I'm part-way through my implementation of an x86_64 experimental OS and had to address all the issues you're facing right now. I didn't really document my process, but the code to get everything booted into x64 mode is there, including setting up the TSS.

https://github.com/beevik/MonkOS

In particular, the bootloader:

https://github.com/beevik/MonkOS/blob/master/boot/loader.asm


Neat thanks! I will check it out. It's really the context switching itself that's the trickiest part, I think. Or all of it. To me, it feels exactly like when I was learning about interrupts: while I was doing it, it was so tough... but as soon as I got something working, it made perfect sense and I wondered why I found it so hard in the first place.


One resource I found myself consulting over and over again was the Intel Architecture Software Development manuals (https://software.intel.com/en-us/articles/intel-sdm). They're huge and obviously a bit dry, but they had about 90% of what I needed to know about x86 memory architecture and interrupts.

I included some other resources I consulted in the README. The OSDev wiki (http://wiki.osdev.org/Main_Page) is also good, although I found some of it to be dated or incorrect.

Good luck on developing your OS. Even though I'm not finished, it's been an extraordinarily valuable and educational process.


Yeah, I probably need to just take a weekend day and actually read rather than skim and look for secondary sources. The OSDev wiki's pages on this particular topic are all kind of okay, but often aren't talking about long mode, only protected mode, or only have bits and pieces.

Thank you! Good luck with finishing yours, as though these things are ever finished :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: