Directory Image
This website uses cookies to improve user experience. By using our website you consent to all cookies in accordance with our Privacy Policy.

Embedded Systems Certification Course in Bangalore | eTech Prowess

Author: Etech Prowess
by Etech Prowess
Posted: Sep 13, 2019

Hitching the UEFI ShellEmbedded Systems Certification Course in Bangalore | eTech ProwessHitching the UEFI Shell: Platform Moving Beyond DOS (Disk Operating System)The UEFI Shell obligated very humble beginnings. Its origin lies with the birth of the PC andthe advent of CPM/DOS. For those who can recall the predominant operating system of the1980s, it was part & parcel of the original IBM PC and was very much omnipresent for usersof computers in that era. In those days, DOS was the boot target. The expectations of theuser were a bit more humble than they are today.DOS exposed limited standardized APIs to access the underlying platform, so the complexityassociated with what one could do through the command-line interface was also fairlyrestricted. However, with the advent of UEFI and the myriad boundaries that it exposed, thepossibilities became fairly broad. For instance, within UEFI we have provided abstractions toaccess networking devices, graphical components, storage devices and a multitude of otherthings. The possibilities of what a third-party application or script can do are much broaderthan it was ever possible in the earliest of operating systems.It should be noted that in many UEFI-compliant platforms, the UEFI shell and its underlyingabstractions are all contained on the platform’s embedded non-volatile storage (e.g., FLASHdevice) and can execute even without a boot media target. This is something that theplatforms of old did not provide. On a UEFI-compliant system, you could potentially have arather robust environment of a complete network stack, UEFI shell and a modernprogramming environment with memory managers and a driver model.The first version of what is now the UEFI Shell was created to facilitate the debugging ofearly parts of EFI. It was never intended to see a customer. It was a simple convenient toolto speed up an EFI developer's job. Its escape to the rest of the world was in retrospect,inevitable because it was more valuable than we realized. It became popular enough that inthe eyes of many it was EFI but It was not and it is not. EFI (now UEFI) is a commonlyagreed-upon set of interfaces between operating systems, BIOS and option ROMs. Theshell is in many ways simply another operating system that sits on top of EFI.The shell became more and more valuable. Badly suffering from too many hands and notenough guidance, it became complex enough to warrant the serious effort, a seriously out ofcontrol adolescent if there ever was one. In the end, it has become valuable enough towarrant the creation of an industry specification and adoption throughout the industry. It isbecoming a basis of computer component validation, computer validation andmanufacturing, system testing, and applications. Pretty good for something originallyintended as a throwaway piece of code to test some EFI drivers.Shell started its life in 1999 or 2000 (we don’t exactly remember) so it is comparatively anewcomer. Yet it is in many ways a throwback to (at least what now) seems a much simplertime say 1970 or so. It doesn’t run protected code, has a swap file or a registry or even aGUI. As far as we know it doesn’t even have a virus scanner.We’ve discovered there is still a place for a small, simple, developer’s environment thatprovides enough resources and support for complex programs without getting in the way ofapplications that need to (or at least think they need to) "own the system".Embedded Systems Certification Course in Bangalore | eTech Prowess

Hitching the UEFI ShellEmbedded Systems Certification Course in Bangalore | eTech ProwessHitching the UEFI Shell: Platform Moving Beyond DOS (Disk Operating System)The UEFI Shell obligated very humble beginnings. Its origin lies with the birth of the PC andthe advent of CPM/DOS. For those who can recall the predominant operating system of the1980s, it was part & parcel of the original IBM PC and was very much omnipresent for usersof computers in that era. In those days, DOS was the boot target. The expectations of theuser were a bit more humble than they are today.DOS exposed limited standardized APIs to access the underlying platform, so the complexityassociated with what one could do through the command-line interface was also fairlyrestricted. However, with the advent of UEFI and the myriad boundaries that it exposed, thepossibilities became fairly broad. For instance, within UEFI we have provided abstractions toaccess networking devices, graphical components, storage devices and a multitude of otherthings. The possibilities of what a third-party application or script can do are much broaderthan it was ever possible in the earliest of operating systems.It should be noted that in many UEFI-compliant platforms, the UEFI shell and its underlyingabstractions are all contained on the platform’s embedded non-volatile storage (e.g., FLASHdevice) and can execute even without a boot media target. This is something that theplatforms of old did not provide. On a UEFI-compliant system, you could potentially have arather robust environment of a complete network stack, UEFI shell and a modernprogramming environment with memory managers and a driver model.The first version of what is now the UEFI Shell was created to facilitate the debugging ofearly parts of EFI. It was never intended to see a customer. It was a simple convenient toolto speed up an EFI developer's job. Its escape to the rest of the world was in retrospect,inevitable because it was more valuable than we realized. It became popular enough that inthe eyes of many it was EFI but It was not and it is not. EFI (now UEFI) is a commonlyagreed-upon set of interfaces between operating systems, BIOS and option ROMs. Theshell is in many ways simply another operating system that sits on top of EFI.The shell became more and more valuable. Badly suffering from too many hands and notenough guidance, it became complex enough to warrant the serious effort, a seriously out ofcontrol adolescent if there ever was one. In the end, it has become valuable enough towarrant the creation of an industry specification and adoption throughout the industry. It isbecoming a basis of computer component validation, computer validation andmanufacturing, system testing, and applications. Pretty good for something originallyintended as a throwaway piece of code to test some EFI drivers.Shell started its life in 1999 or 2000 (we don’t exactly remember) so it is comparatively anewcomer. Yet it is in many ways a throwback to (at least what now) seems a much simplertime say 1970 or so. It doesn’t run protected code, has a swap file or a registry or even aGUI. As far as we know it doesn’t even have a virus scanner.We’ve discovered there is still a place for a small, simple, developer’s environment thatprovides enough resources and support for complex programs without getting in the way ofapplications that need to (or at least think they need to) "own the system".Embedded Systems Certification Course in Bangalore | eTech Prowess

About the Author

Embedded course in JP nagar | Embedded institutes in JP nagar | eTech Prowess Explains Why Engineer Freshers get Rejected in Companies For More Details : http://etechprowess.com

Rate this Article
Leave a Comment
Author Thumbnail
I Agree:
Comment 
Pictures
Author: Etech Prowess

Etech Prowess

Member since: Jun 02, 2019
Published articles: 21

Related Articles