Technology Listing Related to Operating Systems (May 2020)


1. macOS 

macOS (/ˌmækoʊˈɛs/; previously Mac OS X and later OS X) is a series of proprietary graphical operating systems developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop, laptop and home computers, and by web usage, it is the second most widely used desktop OS, after Microsoft Windows.

macOS is the second major series of Macintosh operating systems. The first is colloquially called the classic Mac OS, introduced in 1984, the final release of which was Mac OS 9 in 1999. The first desktop version, Mac OS X 10.0, was released in March 2001, with its first update, 10.1, arriving later that year. After this, Apple began naming its releases after big cats, which lasted until OS X 10.8 Mountain Lion. Since OS X 10.9 Mavericks, releases have been named after locations in California. Apple shortened the name to "OS X" in 2012 and then changed it to "macOS" in 2016, adopting the nomenclature that they were using for their other operating systems, iOS, watchOS, and tvOS. The latest version is macOS Catalina, which was publicly released in October 2019.

Between 1999 and 2009, Apple sold a separate series of operating systems called Mac OS X Server. The initial version, Mac OS X Server 1.0, was released in 1999 with a user interface similar to Mac OS 8.5. After this, new versions were introduced concurrently with the desktop version of Mac OS X. Beginning with Mac OS X 10.7 Lion, the server functions were made available as a separate package on the Mac App Store.

macOS is based on the Unix operating system and on technologies developed between 1985 and 1997 at NeXT, a company that Apple co-founder Steve Jobs created after leaving Apple in 1985. The "X" in Mac OS X and OS X is the Roman numeral for the number 10 and is pronounced as such. The X was a prominent part of the operating system's brand identity and marketing in its early years, but gradually receded in prominence since the release of Snow Leopard in 2009. UNIX 03 certification was achieved for the Intel version of Mac OS X 10.5 Leopard and all releases from Mac OS X 10.6 Snow Leopard up to the current version also have UNIX 03 certification. macOS shares its Unix-based core, named Darwin, and many of its frameworks with iOS, iPadOS, tvOS, and watchOS. A heavily modified version of Mac OS X 10.4 Tiger was used for the first-generation Apple TV.

Releases of Mac OS X from 1999 to 2005 ran on the PowerPC-based Macs of that period. After Apple announced that they were switching to Intel CPUs from 2006 onwards, versions were released for 32-bit and 64-bit Intel-based Macs. Versions from Mac OS X 10.7 Lion (2011) run exclusively on 64-bit Intel CPUs, in contrast to the ARM architecture used on iOS, watchOS, and tvOS devices, and do not support PowerPC applications.

Ref: macOS

2. iOS 

iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that presently powers many of the company's mobile devices, including the iPhone, and iPod Touch; it also powered the iPad prior to the introduction of iPadOS in 2019. It is the second most popular mobile operating system globally after Android. It is the basis for other operating systems made by Apple Inc, like iPadOS, tvOS, and watchOS.

Originally unveiled in 2007 for the first-generation iPhone, iOS has since been extended to support other Apple devices such as the iPod Touch (September 2007) and the iPad (January 2010). As of March 2018, Apple's App Store contains more than 2.1 million iOS applications, 1 million of which are native for iPads. These mobile apps have collectively been downloaded more than 130 billion times.

The iOS user interface is based upon direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multi-touch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching between portrait and landscape mode). Apple has been significantly praised for incorporating thorough accessibility functions into iOS, enabling users with vision and hearing disabilities to properly use its products.

Major versions of iOS are released annually. On all recent iOS devices, iOS regularly checks on the availability of an update, and if one is available, will prompt the user to permit its automatic installation. The current version, iOS 13 was released to the public on September 19, 2019, introducing user interface tweaks and a dark mode, along with features such as a redesigned Reminders app, a swipe keyboard, and an enhanced Photos app. iOS 13 does not support devices with less than 2 GB of RAM, including the iPhone 5s, iPod Touch (6th generation), and the iPhone 6 and iPhone 6 Plus, which still make up over 10% of all iOS devices. iOS 13 is exclusively for the iPhone and iPod touch as the iPad variant is now called iPadOS.

Ref: iOS

3. iPadOS 

iPadOS is a mobile operating system created and developed by Apple Inc. for its iPad line of tablet computers. The successor of iOS 12 on iPad, it was announced at the company's 2019 Worldwide Developers Conference (WWDC), as a derivation from iOS but with a greater emphasis on multitasking. It was released in September 2019.

Features
- Home Screen
- Multitasking
- Safari 
- Sidecar
- Storage
- Mouse and trackpad support

Ref: iPadOS

4. Berkeley Software Distribution 

The Berkeley Software Distribution (BSD) was an operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley. Today, "BSD" often refers to its descendants, such as FreeBSD, OpenBSD, NetBSD, or DragonFly BSD, and systems based on those descendants.

BSD was initially called Berkeley Unix because it was based on the source code of the original Unix developed at Bell Labs. In the 1980s, BSD was widely adopted by workstation vendors in the form of proprietary Unix variants such as DEC Ultrix and Sun Microsystems SunOS due to its permissive licensing and familiarity to many technology company founders and engineers.

Although these proprietary BSD derivatives were largely superseded in the 1990s by UNIX SVR4 and OSF/1, later releases provided the basis for several open-source operating systems including FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Darwin, and TrueOS. These, in turn, have been used by proprietary operating systems, including Apple's macOS and iOS, which derived from them, and Microsoft Windows, which used (at least) part of its TCP/IP code, which was legal. Code from FreeBSD was also used to create the operating system for the PlayStation 4 and further.

Ref: Berkeley Software Distribution

5. Android-x86 

Android-x86 is an open source project that makes an unofficial porting of Google's Android mobile operating system to run on devices powered by AMD and Intel x86 processors, rather than RISC-based ARM chips.

Developers Chih-Wei Huang and Yi Sun originated the project in 2009. The project began as a series of patches to the Android source code to enable Android to run on various netbooks, tablets and ultra-mobile PC. Yi later quit due to personal affairs. Huang is the current project maintainer. Currently active developers include Mauro Rossi and Michael Goffioul.

Overview 
The OS is based on the Android Open Source Project (AOSP) with some modifications and improvements. Some components are developed by the project which allow it to run on PC architecture. For instance, some low-level components are replaced to better suit the platform, such as the kernel and HALs. The OS enables OpenGL ES hardware acceleration via Mesa if supported GPUs are detected, including Intel GMA, AMD's Radeon, Nvidia's chipsets (Nouveau), VMware (vmwgfx) and QEMU (virgl). Without a supported GPU, the OS can run in non-accelerated mode via software rendering. Since release 7.1, the software renderer has been implemented via the SwiftShader project.

Like a normal Linux distribution, the project releases pre-built ISO images which can run under live mode or installed to a hard disk on the target system. Since release 4.4-r2, the project also releases efi_img which can be used to create a live USB to be booted from on UEFI systems. Since release 4.4-r4, the UEFI support was united into the ISO images and efi_img was marked as deprecated.

Except AOSP, the following incomplete list of components are developed from scratch or derived from other open source projects to form the entire Android-x86 codebase:

- Kernel
- Installer
- Drm_gralloc and gbm_gralloc
- Mesa
- SwiftShader
- Audio
- Camera
- GPS
- Lights
- Ril
- Sensors

More and more components may be added to the updated version.

Android-IA 
A related project, Android-IA has been produced by Intel that will run on newer UEFI devices. The Android-IA project states that its intention is to drive Android support and innovation on Intel Architecture in addition to providing a venue for collaboration. Android-IA re-used the drm_gralloc graphics HAL module from Android-x86 in order to support Intel HD Graphics hardware. The Android-IA project provides a FAQ with more detailed information.

Ref: Android-x86

6. CentOS 

CentOS (/ˈsɛntɒs/, from Community Enterprise Operating System) is a Linux distribution that provides a free, community-supported computing platform functionally compatible with its upstream source, Red Hat Enterprise Linux (RHEL). In January 2014, CentOS announced the official joining with Red Hat while staying independent from RHEL, under a new CentOS governing board.

The first CentOS release in May 2004, numbered as CentOS version 2, was forked from RHEL version 2.1AS. CentOS version 7.0 officially supports only the x86-64 architecture, while versions older than 7.0-1406 also support IA-32 with Physical Address Extension (PAE). As of December 2015, AltArch releases of CentOS 7 are available for the IA-32 architecture, Power ISA, and for the ARMv7hl and AArch64 variants of the ARM architecture. Building of CentOS 8 started at May 2019. CentOS 8 was released on 24 September 2019.

Ref: CentOS

7. Unix shell 

A Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language, and is used by the operating system to control the execution of the system using shell scripts.

Users typically interact with a Unix shell using a terminal emulator; however, direct operation via serial hardware connections or Secure Shell are common for server systems. All Unix shells provide filename wildcarding, piping, here documents, command substitution, variables and control structures for condition-testing and iteration.

The following table is useful for knowing the various unix shells.

sh      The original Bourne shell   Present on every unix system 
ksh     Original Korn shell         Richer shell programming environment than sh 
csh     Original C-shell            C-like syntax; early versions buggy 
tcsh    Enhanced C-shell            User-friendly and less buggy csh implementation 
bash    GNU Bourne-again shell      Enhanced and free sh implementation 
zsh     Z shell                     Enhanced, user-friendly ksh-like shell

Ref: Unix Shell

8. Bash (Unix shell)

GNU Bash or simply Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. First released in 1989, it has been used widely as the default login shell for most Linux distributions and Apple's macOS Mojave and earlier versions. A version is also available for Windows 10. It is also the default user shell in Solaris 11.

Bash is a command processor that typically runs in a text window where the user types commands that cause actions. Bash can also read and execute commands from a file, called a shell script. Like all Unix shells, it supports filename globbing (wildcard matching), piping, here documents, command substitution, variables, and control structures for condition-testing and iteration. The keywords, syntax, dynamically scoped variables and other basic features of the language are all copied from sh. Other features, e.g., history, are copied from csh and ksh. Bash is a POSIX-compliant shell, but with a number of extensions.

The shell's name is an acronym for Bourne-again shell, a pun on the name of the Bourne shell that it replaces and the notion of being "born again".

A security hole in Bash dating from version 1.03 (August 1989), dubbed Shellshock, was discovered in early September 2014 and quickly led to a range of attacks across the Internet. Patches to fix the bugs were made available soon after the bugs were identified.

Configuration files 

Shells read configuration files in various circumstances. These files usually contain commands for the shell and are executed when loaded; they are usually used to set important variables used to find executables, like $PATH, and others that control the behavior and appearance of the shell. The table in this section shows the configuration files for popular shells.

Explanation:

% blank means a file is not read by a shell at all.
% "yes" means a file is always read by a shell upon startup.
% "login" means a file is read if the shell is a login shell.
% "n/login" means a file is read if the shell is not a login shell.
% "int." means a file is read if the shell is interactive.

$ENV (typically ~/.kshrc): int.
/etc/profile:              login
~/.profile:		           login
~/.bash_profile:           login
~/.bash_login:             login
~/.bash_logout:            login	
~/.bashrc:                 int. + n/login

Other shells 
Variations on the Unix shell concept that don't derive from Bourne shell or C shell include the following:

es – A functional programming rc-compatible shell written in the mid-1990s.
Friendly interactive shell (fish) – First released in 2005.
PowerShell – An object-oriented shell developed originally for Windows OS and now available to macOS and Linux.
rc – The default shell on Plan 9 from Bell Labs and Version 10 Unix written by Tom Duff. Ports have been made to various Unix-like operating systems.
scsh – A Scheme Shell.
wish – A windowing shell for Tcl/Tk.

Ref: Bash (Unix shell)

9. PowerShell

PowerShell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-source and cross-platform on 18 August 2016 with the introduction of PowerShell Core. The former is built on the .NET Framework, the latter on .NET Core.

In PowerShell, administrative tasks are generally performed by cmdlets (pronounced command-lets), which are specialized .NET classes implementing a particular operation. These work by accessing data in different data stores, like the file system or registry, which are made available to PowerShell via providers. Third-party developers can add cmdlets and providers to PowerShell. Cmdlets may be used by scripts and scripts may be packaged into modules.

PowerShell provides full access to COM and WMI, enabling administrators to perform administrative tasks on both local and remote Windows systems as well as WS-Management and CIM enabling management of remote Linux systems and network devices. PowerShell also provides a hosting API with which the PowerShell runtime can be embedded inside other applications. These applications can then use PowerShell functionality to implement certain operations, including those exposed via the graphical interface. This capability has been used by Microsoft Exchange Server 2007 to expose its management functionality as PowerShell cmdlets and providers and implement the graphical management tools as PowerShell hosts which invoke the necessary cmdlets. Other Microsoft applications including Microsoft SQL Server 2008 also expose their management interface via PowerShell cmdlets.

PowerShell includes its own extensive, console-based help (similar to man pages in Unix shells) accessible via the Get-Help cmdlet. Local help contents can be retrieved from the Internet via the Update-Help cmdlet. Alternatively, help from the web can be acquired on a case-by-case basis via the -online switch to Get-Help.

Wikipedia Card: 

Paradigm:          Imperative, pipeline, object-oriented, functional and reflective
Designed by:       Jeffrey Snover, Bruce Payette, James Truher (et al.)
Developer:         Microsoft
First appeared:    November 14, 2006; 13 years ago
Stable release:    7.0.0 / March 4, 2020; 2 months ago
Preview release:   v7.1.0-preview.2 / April 23, 2020; 24 days ago
Typing discipline: Strong, safe, implicit and dynamic
Implementation language: C#
Platform:          .NET Framework, .NET Core
OS:                Windows 7 and later, Windows Server 2008 R2 and later, macOS 10.12 and later, Ubuntu (14.04, 16.04, 17.04, and 18.04), Debian (8.7+, 9, and 10), CentOS 7 and 8, Red Hat Enterprise Linux 7, OpenSUSE (42.2, 42.3), Fedora (25, 26, 28), Docker
License:           MIT License (but the Windows component remains proprietary)
Filename extensions: .ps1 (Script), .ps1xml (XML Document), .psc1 (Console File), .psd1 (Data File), .psm1 (Script Module), .pssc (Session Configuration File), .cdxml (Cmdlet Definition XML Document)
Website:           microsoft.com/powershell
Influenced by:     Python, Ksh, Perl, C#, CL, DCL, SQL, Tcl, Tk, Chef, Puppet

Ref: PowerShell

10. IA-32

This article is about the 32-bit generation of Intel microprocessor architecture. For the x86 architecture in general, see x86.

IA-32 (short for "Intel Architecture, 32-bit", sometimes also called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnation of x86 that supports 32-bit computing; as a result, the "IA-32" term may be used as a metonym to refer to all x86 versions that support 32-bit computing.

Within various programming language directives, IA-32 is still sometimes referred to as the "i386" architecture. In some other contexts, certain iterations of the IA-32 ISA are sometimes labelled i486, i586 and i686, referring to the instruction supersets offered by the 80486, the P5 and the P6 microarchitectures respectively. These updates offered numerous additions alongside the base IA-32 set, i.e. floating-point capabilities and the MMX extensions.

Intel was historically the largest manufacturer of IA-32 processors, with the second biggest supplier having been AMD. During the 1990s, VIA, Transmeta and other chip manufacturers also produced IA-32 compatible processors (e.g. WinChip). In the modern era, Intel still produces IA-32 processors under the Intel Quark microcontroller platform, however, since the 2000s, the majority of manufacturers (Intel included) moved almost exclusively to implementing CPUs based on the 64-bit variant of x86, x86-64. x86-64, by specification, offers legacy operating modes that operate on the IA-32 ISA for backwards compatibility. Even given the contemporary prevalence of x86-64, as of 2018, IA-32 protected mode versions of many modern operating systems are still maintained, e.g. Microsoft Windows and the Ubuntu Linux distribution. In spite of IA-32's name (and causing some potential confusion), the 64-bit evolution of x86 that originated out of AMD would not be known as "IA-64", that name instead belonging to Intel's Itanium architecture.

Ref: IA-32

11. x86 

x86 is a family of instruction set architectures[a] initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introduced in 1978 as a fully 16-bit extension of Intel's 8-bit 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486 processors.

Many additions and extensions have been added to the x86 instruction set over the years, almost consistently with full backward compatibility.[b] The architecture has been implemented in processors from Intel, Cyrix, AMD, VIA Technologies and many other companies; there are also open implementations, such as the Zet SoC platform (currently inactive). Nevertheless, of those, only Intel, AMD, VIA Technologies and DM&P Electronics hold x86 architectural licenses, and from these, only the first two are actively producing modern 64-bit designs.

The term is not synonymous with IBM PC compatibility, as this implies a multitude of other computer hardware; embedded systems, as well as general-purpose computers, used x86 chips before the PC-compatible market started,[c] some of them before the IBM PC (1981) itself.

As of 2018, the majority of personal computers and laptops sold are based on the x86 architecture, while other categories—especially high-volume[clarification needed] mobile categories such as smartphones or tablets—are dominated by ARM; at the high end, x86 continues to dominate compute-intensive workstation and cloud computing segments.

Ref: x86

12. ARM 

ARM, previously Advanced RISC Machine, originally Acorn RISC Machine, is a family of reduced instruction set computing (RISC) architectures for computer processors, configured for various environments. Arm Holdings develops the architecture and licenses it to other companies, who design their own products that implement one of those architectures‍—‌including systems-on-chips (SoC) and systems-on-modules (SoM) that incorporate memory, interfaces, radios, etc. It also designs cores that implement this instruction set and licenses these designs to a number of companies that incorporate those core designs into their own products.

Processors that have a RISC architecture typically require fewer transistors than those with a complex instruction set computing (CISC) architecture (such as the x86 processors found in most personal computers), which improves cost, power consumption, and heat dissipation. These characteristics are desirable for light, portable, battery-powered devices‍—‌including smartphones, laptops and tablet computers, and other embedded systems‍—‌but are also useful for servers and desktops to some degree. For supercomputers, which consume large amounts of electricity, ARM is also a power-efficient solution.

Arm Holdings periodically releases updates to the architecture. Architecture versions ARMv3 to ARMv7 support 32-bit address space (pre-ARMv3 chips, made before Arm Holdings was formed, as used in the Acorn Archimedes, had 26-bit address space) and 32-bit arithmetic; most architectures have 32-bit fixed-length instructions. The Thumb version supports a variable-length instruction set that provides both 32- and 16-bit instructions for improved code density. Some older cores can also provide hardware execution of Java bytecodes; and newer ones have one instruction for JavaScript. Released in 2011, the ARMv8-A architecture added support for a 64-bit address space and 64-bit arithmetic with its new 32-bit fixed-length instruction set. Some recent Arm CPUs have simultaneous multithreading (SMT) with e.g. Arm Neoverse E1 being able to execute two threads concurrently for improved aggregate throughput performance. ARM Cortex-A65AE for automotive applications is also a multithreaded processor, and has Dual Core Lock-Step for fault-tolerant designs (supporting Automotive Safety Integrity Level D, the highest level). The Neoverse N1 is designed for "as few as 8 cores" or "designs that scale from 64 to 128 N1 cores within a single coherent system".

With over 130 billion ARM processors produced, as of 2019, ARM is the most widely used instruction set architecture (ISA) and the ISA produced in the largest quantity. Currently, the widely used Cortex cores, older "classic" cores, and specialized SecurCore cores variants are available for each of these to include or exclude optional capabilities.

Ref: ARM 

No comments:

Post a Comment