Yeah, I know about Raspberry Pi and it's probably the best ARM computer for low-level things.physecfed wrote:Neither. From ARM directly and from any number of other sources you can find the complete logic of ARM processors, and almost any one of them to boot (in fact, there are open-source ARM clones for FPGAs, i.e. the Amber processor. The issue you'll face is that ARM is simply a seller of IP cores for their processors; they don't fab out chips like other companies do.Muazzam wrote:ARM is popular too, but not it's not open/documented enough.
If you're a large company attempting to make a product with a processor in it that does some function X, you'll probably contract ARM and a bunch of other vendors for SIP cores that comprise ARM cores and the required intercomm/interconn logic. You might design your own core and include it. You then go to a foundry and ask them to make your design for you. The issue with ARM devices isn't their "openness" (although open-source people I've worked with tend to hate ARM), nor their documentation - it's their degree of standardization.
Unlike the PC market, which is driven by the de facto requirement with previous versions of that "standard" and software, ARM does not have a standard with virtually global scope forcing it to conform. For Android devices of one particular epoch, devices might have X, X, and X features laid out in a particular manner, but going to the iPhone, that has custom Apple-fabbed devices, those phones use internal standards that might differ completely. The issue with developing for ARM is the lack of a single, unifying standard that has leveled the playing field and forced everyone to conform. For the developer, that means that you'd be fighting an uphill battle to differentiate devices at the hardware level from each other, or targeting one specific implementation family of the cores. I suppose where the degree of "openness" comes in is that a large number of the vendor SIP cores (non-ARM, vendor- and chip-specific stuff) are very lock-and-key on docs. That's a battle I've had to fight at the corporate level as well.
Many "desktop" Linux distributions, for example, have begun to target ARM, because they realize they can now include the logic required to enumerate and cover a large number of the different bases in play. If you're interested in ARM development, I'd look at the ARMv7 ports of Ubuntu and Debian to the Raspberry Pi and Raspberry Pi 2.
Buying a PC: Mac EFI or UEFI?
Re: Buying a PC: Mac EFI or UEFI?
Re: Buying a PC: Mac EFI or UEFI?
I heard that Beaglebone Black is good for ARM OS development. There's full documentation for it available.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
- Alan Kay
- Nutterts
- Member
- Posts: 159
- Joined: Wed Aug 05, 2015 5:33 pm
- Libera.chat IRC: Nutterts
- Location: Drenthe, Netherlands
Re: Buying a PC: Mac EFI or UEFI?
It can replace your Windows easily but I'd still use Linux as a virtual machine. Unless you want to learn allot of stuff you will only use on a mac when your doing specialized things. You also explicitly said you wanted to code for the machine you end up buying or not.Muazzam wrote:Any good arguments? (Other than Mac's price. HPs, Dells, etc. are also similarly priced.)Nutterts wrote:Muazzam wrote: I agree wholeheartedly with iansjack... you should buy a normal PC.
I'd prefer Mac because OS X can replace (for me) Windows and Linux and because I'm just curious about it.
Normal PC's are standardized. Mac's are too, but only to an extent. I've not seen a single letter of code from you so I don't know what you can or can't do but if you're the general newbie (like me) then writing an OS for Mac hardware isn't what you want.
"Always code as if the guy who ends up maintaining it will be a violent psychopath who knows where you live." - John F. Woods
Failed project: GoOS - https://github.com/nutterts/GoOS
Failed project: GoOS - https://github.com/nutterts/GoOS
Re: Buying a PC: Mac EFI or UEFI?
Running Windows on Mac is OK. Running OS X (if needed) on PC is a true nightmare. Don't want ever to see hackintosh again.
Re: Buying a PC: Mac EFI or UEFI?
Of course.SWGDev wrote:Running Windows on Mac is OK. Running OS X (if needed) on PC is a true nightmare. Don't want ever to see hackintosh again.
-
- Member
- Posts: 396
- Joined: Wed Nov 18, 2015 3:04 pm
- Location: San Jose San Francisco Bay Area
- Contact:
Re: Buying a PC: Mac EFI or UEFI?
i am not sure how likely the BIOS is going away and extinct. It depends on whether market wants PC/laptop that is hassle free (config free) systems. I work with enterprise server and bios is as needed as ever before at least now.
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re: Buying a PC: Mac EFI or UEFI?
I am assuming that by 'normal PC', the posters are referring to a non-brand-name desktop (if feasible), or at least a laptop that is primarily stock hardware, rather than entirely proprietary. While a name-brand system is likely to be better for general users, I quite agree that when developing a general-purpose OS, targeting stock hardware in the middle of the performance range you intend to support during core development is important, otherwise you'll spend a lot of time supporting the needs of that specific system.
Also, I do not recommend using your general-use machine for live hardware testing, as the chances of writing to the wrong partition are too high. There are even rare cases where a HCF is possible, though I haven't heard of any in years and they almost always required a perfect storm of conflicting hardware configurations and lack of error checking for it to occur at all. Stick to using an emulator during coding, then move the code to your test rig after it is working under emulation. If having two whole systems isn't feasible, or you are using a dedicated OS-dev system for development and testing but not for your daily use, then I would recommend hosting both the development OS and the test OS under a hypervisor, set up a second hard drive or a flash drive for the OS being tested, and block access to the primary drive that user system is on.
(For those unfamiliar, HCF is a catch-all term for software-induced hardware failure, especially one which causes the hardware to be destroyed by overheating. It comes from an old joke about a computer whose instruction set included an instruction 'Halt and Catch Fire', usually alongside other absurd instructions such as 'Branch Both Ways', 'Water Binary Tree', and 'Insert Bug and Proceed'. Actual HCF conditions are so rare that they are usually almost impossible when running under a standard OS, but some bare-metal software can cause them under very specific circumstances.)
Also, I do not recommend using your general-use machine for live hardware testing, as the chances of writing to the wrong partition are too high. There are even rare cases where a HCF is possible, though I haven't heard of any in years and they almost always required a perfect storm of conflicting hardware configurations and lack of error checking for it to occur at all. Stick to using an emulator during coding, then move the code to your test rig after it is working under emulation. If having two whole systems isn't feasible, or you are using a dedicated OS-dev system for development and testing but not for your daily use, then I would recommend hosting both the development OS and the test OS under a hypervisor, set up a second hard drive or a flash drive for the OS being tested, and block access to the primary drive that user system is on.
(For those unfamiliar, HCF is a catch-all term for software-induced hardware failure, especially one which causes the hardware to be destroyed by overheating. It comes from an old joke about a computer whose instruction set included an instruction 'Halt and Catch Fire', usually alongside other absurd instructions such as 'Branch Both Ways', 'Water Binary Tree', and 'Insert Bug and Proceed'. Actual HCF conditions are so rare that they are usually almost impossible when running under a standard OS, but some bare-metal software can cause them under very specific circumstances.)
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Re: Buying a PC: Mac EFI or UEFI?
For corporate sector I would stick with proprietary hardware, especially when there are more than just a dozen of machines in your office. It's a great pain in the butt when you have to resolve same issues on totally different hardware.
Re: Buying a PC: Mac EFI or UEFI?
Ironically, the most common computers used in corporate sector are open standard, for example, Thinkpads, aren't they?SWGDev wrote:For corporate sector I would stick with proprietary hardware, especially when there are more than just a dozen of machines in your office. It's a great pain in the butt when you have to resolve same issues on totally different hardware.
Re: Buying a PC: Mac EFI or UEFI?
And it's OK if all PCs are Thinkpads with identical config. But yeah, often there are loads of different PCs that are built with totally random hardware. True paradise for system administrator.Muazzam wrote:Ironically, the most common computers used in corporate sector are open standard, for example, Thinkpads, aren't they?SWGDev wrote:For corporate sector I would stick with proprietary hardware, especially when there are more than just a dozen of machines in your office. It's a great pain in the butt when you have to resolve same issues on totally different hardware.
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re: Buying a PC: Mac EFI or UEFI?
While there really aren't many open standards for laptops and other mobile devices the way there are for desktop systems - I have yet to hear of any company selling generic parts which an individual could construct a laptop from, though I wouldn't be too surprised if there was at least one, and there are plans around for electronics hobbyists to build their own tablets based on Raspberry Pi and things like that but those are all going to be custom builds - to the extent that any laptop or notebook manufacturer follows any open standards, Lenovo and Asus do (unless it's a Windows-based tablet PC, in which case all bets are off). Dell and HP, meh, depends on the model, but for the most part not very much. Most others don't follow any standards at all, they only care that they can get Windows 10 and a huge pile of shovelware (and often, spyware) to run on it without crashing too often.Muazzam wrote:Ironically, the most common computers used in corporate sector are open standard, for example, Thinkpads, aren't they?
Interestingly, some of the most compatible laptops come from Linux-oriented vendors such as System76, Linux Certified Systems, zaReason, Think Penguin, or Emperor Linux PCs. Some of them, such as The Linux Laptop Company, focus on existing hardware, either rebranded or repurposed, while other do in fact make their own machines that use all-open-standards hardware and firmware. Whether you intend to run Linux or not, you will want such hardware for your own OS dev, so that's actually a good (if often pricey) way to go.
(Yeah, pricey. Want to know why there are so many cheap - in quality as well as price - Windows boxes around, sometimes selling for less than a copy of Windows itself does retail? Simple: the shovelware. Most of the cost of a low-end PC is subsidized by the makers of that junk, who actually pay the OEMs to install it with the expectation that they will get a full purchase or subscription later. This is also why a lot of cheap PCs come loaded down with a lot of adware and spyware - well, that, and the manufacturer wants you to come back a year later to upgrade the hardware that is now too slow to run anything because of all the junk it runs in the background, like spammers and phishers they count on their always being someone careless or uninformed enough not to realize what is going on. While the big players generally don't deliberately bundle spyware so much lately - too much risk of getting caught at it, which can hurt their PR, though that doesn't always stop them - it was a widespread practice circa 1996-2002, when most people hadn't heard of spyware yet, and a lot of the smaller OEMs will really hose you with that even now. Mind you, some of the really sleazy operators will also load you with unlicensed copies of Windows and other commercial software, knowing full well it will bite you rather than them, so caveat emptor.)
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Re: Buying a PC: Mac EFI or UEFI?
By the way, I thought desktops and laptops were the same--just with different casings.Schol-R-LEA wrote: While there really aren't many open standards for laptops and other mobile devices the way there are for desktop systems - I have yet to hear of any company selling generic parts which an individual could construct a laptop from, though I wouldn't be too surprised if there was at least one, and there are plans around for electronics hobbyists to build their own tablets based on Raspberry Pi and things like that but those are all going to be custom builds - to the extent that any laptop or notebook manufacturer follows any open standards, Lenovo and Asus do (unless it's a Windows-based tablet PC, in which case all bets are off). Dell and HP, meh, depends on the model, but for the most part not very much. Most others don't follow any standards at all, they only care that they can get Windows 10 and a huge pile of shovelware (and often, spyware) to run on it without crashing too often.
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re: Buying a PC: Mac EFI or UEFI?
Yes and no. While there are quite a few things in common, the details differ considerably, right down to the CPU models.
Laptop motherboards have to fit in a much smaller space than stock desktop motherboards, both in terms of real estate (width and depth) and in terms of profile (height - the PCIe expansion slots most desktop mobos have are taller by themselves than most laptops and notebooks today are). The motherboard has to be designed from the start to fit the specific model of chassis it is made for, and while most manufacturers use the same cases for several models, there is no standard of any kind for the laptop cases, so form factor is going to be model (or at least product-line) specific. No equivalent to the ATX and ITX form-factor standards has ever been put forth for laptops as far as I know.
The space squeeze also means that they require smaller memory modules - SO-DIMMs are about a third the width of a standard DIMM - and smaller hard drives. While laptop memory and drives are now (mostly) standardized, this wasn't always the case.
They have to produce less heat, and eliminate the heat they do produce without the large fan and heat sink typical of desktop systems, which is part of why they use different (lower power consumption) chips - even if they are nominally an i7 or an i5, a mobile CPU is quite a different beast than the desktop equivalent, and much more expensive to design and produce.
Mobile hardware also has to be shock resistant, which for the chips means a different attachment system - most mobile CPUs have a kind of ball-and-socket interface rather than a set of narrow pins, which furthermore means that once in place, a mobile CPU is almost impossible to remove without special equipment. Some even get soldered on permanently.
Finally, mobile systems have very different peripheral connectors, especially for the monitors, which are usually specific to a particular model of laptop - they couldn't use the screens from another model of the same product line in most instances, never mind mix and match across brands.
Oh, and trying to service a laptop yourself will not only void most warranties, it is a genuine pain as well. I could probably build a high-end desktop system in my sleep, given the parts, but trying to do even the most basic work on the innards of a laptop is a nightmare.
The same is true of many desktop systems built by major vendors, of course, but for a different reason - the biggest players, like Dell, HP, and Lenovo design their systems with automated production in mind, so their hardware is far from stock. They also often deliberately make it harder for users to service their own systems, making it so only the vendor's technicians can repair them, meaning that to upgrade the processor or the motherboard you have to buy a whole new system. Stock hardware, conversely, is designed so that pretty much anyone who can turn a screwdriver and has the sense not to zap the mobo with static electricity can put a working PC together from parts made by a dozen different companies and ordered online - but there's no equivalent of that for laptops.
Laptop motherboards have to fit in a much smaller space than stock desktop motherboards, both in terms of real estate (width and depth) and in terms of profile (height - the PCIe expansion slots most desktop mobos have are taller by themselves than most laptops and notebooks today are). The motherboard has to be designed from the start to fit the specific model of chassis it is made for, and while most manufacturers use the same cases for several models, there is no standard of any kind for the laptop cases, so form factor is going to be model (or at least product-line) specific. No equivalent to the ATX and ITX form-factor standards has ever been put forth for laptops as far as I know.
The space squeeze also means that they require smaller memory modules - SO-DIMMs are about a third the width of a standard DIMM - and smaller hard drives. While laptop memory and drives are now (mostly) standardized, this wasn't always the case.
They have to produce less heat, and eliminate the heat they do produce without the large fan and heat sink typical of desktop systems, which is part of why they use different (lower power consumption) chips - even if they are nominally an i7 or an i5, a mobile CPU is quite a different beast than the desktop equivalent, and much more expensive to design and produce.
Mobile hardware also has to be shock resistant, which for the chips means a different attachment system - most mobile CPUs have a kind of ball-and-socket interface rather than a set of narrow pins, which furthermore means that once in place, a mobile CPU is almost impossible to remove without special equipment. Some even get soldered on permanently.
Finally, mobile systems have very different peripheral connectors, especially for the monitors, which are usually specific to a particular model of laptop - they couldn't use the screens from another model of the same product line in most instances, never mind mix and match across brands.
Oh, and trying to service a laptop yourself will not only void most warranties, it is a genuine pain as well. I could probably build a high-end desktop system in my sleep, given the parts, but trying to do even the most basic work on the innards of a laptop is a nightmare.
The same is true of many desktop systems built by major vendors, of course, but for a different reason - the biggest players, like Dell, HP, and Lenovo design their systems with automated production in mind, so their hardware is far from stock. They also often deliberately make it harder for users to service their own systems, making it so only the vendor's technicians can repair them, meaning that to upgrade the processor or the motherboard you have to buy a whole new system. Stock hardware, conversely, is designed so that pretty much anyone who can turn a screwdriver and has the sense not to zap the mobo with static electricity can put a working PC together from parts made by a dozen different companies and ordered online - but there's no equivalent of that for laptops.
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Re: Buying a PC: Mac EFI or UEFI?
You always write very long and helpful posts, thanks. I'll consider buying a desktop, too.Schol-R-LEA wrote:Yes and no. While there are quite a few things in common, the details differ considerably, right down to the CPU models.
Laptop motherboards have to fit in a much smaller space than stock desktop motherboards, both in terms of real estate (width and depth) and in terms of profile (height - the PCIe expansion slots most desktop mobos have are taller by themselves than most laptops and notebooks today are). The motherboard has to be designed from the start to fit the specific model of chassis it is made for, and while most manufacturers use the same cases for several models, there is no standard of any kind for the laptop cases, so form factor is going to be model (or at least product-line) specific. No equivalent to the ATX and ITX form-factor standards has ever been put forth for laptops as far as I know.
The space squeeze also means that they require smaller memory modules - SO-DIMMs are about a third the width of a standard DIMM - and smaller hard drives. While laptop memory and drives are now (mostly) standardized, this wasn't always the case.
They have to produce less heat, and eliminate the heat they do produce without the large fan and heat sink typical of desktop systems, which is part of why they use different (lower power consumption) chips - even if they are nominally an i7 or an i5, a mobile CPU is quite a different beast than the desktop equivalent, and much more expensive to design and produce.
Mobile hardware also has to be shock resistant, which for the chips means a different attachment system - most mobile CPUs have a kind of ball-and-socket interface rather than a set of narrow pins, which furthermore means that once in place, a mobile CPU is almost impossible to remove without special equipment. Some even get soldered on permanently.
Finally, mobile systems have very different peripheral connectors, especially for the monitors, which are usually specific to a particular model of laptop - they couldn't use the screens from another model of the same product line in most instances, never mind mix and match across brands.
Oh, and trying to service a laptop yourself will not only void most warranties, it is a genuine pain as well. I could probably build a high-end desktop system in my sleep, given the parts, but trying to do even the most basic work on the innards of a laptop is a nightmare.
The same is true of many desktop systems built by major vendors, of course, but for a different reason - the biggest players, like Dell, HP, and Lenovo design their systems with automated production in mind, so their hardware is far from stock. They also often deliberately make it harder for users to service their own systems, making it so only the vendor's technicians can repair them, meaning that to upgrade the processor or the motherboard you have to buy a whole new system. Stock hardware, conversely, is designed so that pretty much anyone who can turn a screwdriver and has the sense not to zap the mobo with static electricity can put a working PC together from parts made by a dozen different companies and ordered online - but there's no equivalent of that for laptops.
Re: Buying a PC: Mac EFI or UEFI?
If it's not Macbook than you can do a thing or two... I've replaced HDD in mine Samsung with SSD. It seems that i can add some more RAM, but everything else is built-in.Schol-R-LEA wrote:
Oh, and trying to service a laptop yourself will not only void most warranties, it is a genuine pain as well. I could probably build a high-end desktop system in my sleep, given the parts, but trying to do even the most basic work on the innards of a laptop is a nightmare.