SWCON201
Opensource & Software
Development Methods and Tools
Department of
Software Convergence
Contents
Agenda
Class
Summary
Reference
Discussion
Homework
KYUNG HEE UNIVERSITY 2
Agenda
How many OSs did you use? Why?
What’s your decision point for selecting OS?
KYUNG HEE UNIVERSITY 3
Background for selecting OS
Business
Market share
Technical requirement
Distributed, Multi & Parallel processing
Realtime processing
Extremely small hardware resource environment
Secure computing
etc
KYUNG HEE UNIVERSITY 4
Market Share (PC/Desktop, 2022)
KYUNG HEE UNIVERSITY Reference: https://www.enterpriseappstoday.com/stats/linux-statistics.html 5
Market Share (PC/Desktop, 2013~2022)
KYUNG HEE UNIVERSITY Reference: https://www.statista.com/statistics/218089/global-market-share-of-windows-7/ 6
Market Share (Mobile, 2019)
KYUNG HEE UNIVERSITY Reference: https://www.statista.com/chart/3268/smartphone-os-market-share/ 7
Market Share (Mobile, 2012~2022)
KYUNG HEE UNIVERSITY Reference: https://www.digitalinformationworld.com/2022/04/google-android-vs-apple-ios-data.html 8
Market Share (Servers, 2022)
KYUNG HEE UNIVERSITY Reference: https://www.enterpriseappstoday.com/stats/linux-statistics.html 9
Market Share (Supercomputers, 2017)
KYUNG HEE UNIVERSITY Reference: https://en.wikipedia.org/wiki/Usage_share_of_operating_systems 10
Market Share (Developers, 2022)
KYUNG HEE UNIVERSITY Reference: https://www.enterpriseappstoday.com/stats/linux-statistics.html 11
Market Share (Linux Distros, 2022)
KYUNG HEE UNIVERSITY Reference: https://www.enterpriseappstoday.com/stats/linux-statistics.html 12
Market Share (Linux, 2022)
KYUNG HEE UNIVERSITY Reference: https://www.enterpriseappstoday.com/stats/linux-statistics.html 13
Market Share (Linux, 2022)
Women were 9.9% of all Linux kernel Git users.
Linux boasts more than a 27.8million lines of code.
SpaceX used Linux-supported Linux systems to successfully
complete 65 missions.
90+% of Hollywood special effects can be achieved using Linux.
“Linux is used to create amazing special effects. Linux is used in more
than 90% of Hollywood visual effects. Linux statistics show that Linux
is more popular than other operating systems due to its flexibility,
open-source code, and superior performance. (Source: Werts)”
Steam users are using Linux for 0.44%.
Intel Technologies and Huawei Technologies rank among the top two
contributors to Linux Kernel.
In 2027, the market of Linux worldwide will exceed $15.64Billion.
As of 2017, Linux users are around 90% of cloud infrastructure
KYUNG HEE UNIVERSITY Reference: https://www.enterpriseappstoday.com/stats/linux-statistics.html 14
Market Share (Linux, 2022)
Linux is used to power 96.3% of the world’s top web servers.
Today, over 600 Linux distros are active.
The US has almost two million Ubuntu websites.
50% of users saw AI and Machine Learning as the next big area of
growth for Ubuntu OS.
Over 1,000 developers have contributed to the Debian Project.
KYUNG HEE UNIVERSITY Reference: https://www.enterpriseappstoday.com/stats/linux-statistics.html 15
Market Share (Why Linux?)
KYUNG HEE UNIVERSITY Reference: https://www.linux.org/threads/are-you-using-linux-if-yes-why.29081/ 16
Market Share (Why Linux?)
KYUNG HEE UNIVERSITY Reference: https://www.linux.org/threads/are-you-using-linux-if-yes-why.29081/ 17
Linux Foundation
KYUNG HEE UNIVERSITY Reference: https://www.linuxfoundation.org/ 18
Linux (Open-source Distributed/Multi/Parallel Server OS)
Linux is a true 32 bit UNIX-like OS developed originally for home
PCs, but now it runs on a variety of platforms including PowerPC,
Macintosh, Amiga, DEC Alpha, Sun Sparc, ARM, and many others
The source code for Linux is freely available to everyone
Linux was created by Linus Torvalds in 1991, and it has been
developed with the help of many programmers across the Internet
Now it has evolved into a very functional, powerful and usable
clone of Unix which has at least 10 million users worldwide
A Linux Distribution has thousands of dollars worth of software for
no cost.
Linux provides a complete development environment
KYUNG HEE UNIVERSITY Reference: An Introduction to Linux Operating System”, Zihui Han 19
Linux (Open-source Distributed/Multi/Parallel Server OS)
Linux is a complete operating system:
Stable - the crash of an application is much less likely to bring
down the OS under Linux.
Reliable - Linux servers are often up for hundreds of days
compared with the regular reboots required with a Windows
system.
Extremely powerful
KYUNG HEE UNIVERSITY Reference: An Introduction to Linux Operating System”, Zihui Han 20
Linux (Open-source Distributed/Multi/Parallel Server OS)
Excellent networking facilities
Ideal environment to run servers such as a web server, or an ftp
server.
A wide variety of commercial software is available if not satisfied
by the free software
Easily upgradeable.
Supports multiple processors.
True multi-tasking, multi-user OS.
An excellent window system called X, the equivalent of Windows
but much more flexible.
Full source code is provided and free.
KYUNG HEE UNIVERSITY Reference: An Introduction to Linux Operating System”, Zihui Han 21
Linux (Open-source Distributed/Multi/Parallel Server OS)
The Linux system excel in many area, ranging from end user
concerns such as stability, speed, ease of use, to serious concerns
such as development and networking.
Linux kernel
Linux networking
Linux file system
KYUNG HEE UNIVERSITY Reference: An Introduction to Linux Operating System”, Zihui Han 22
Linux Kernel
KYUNG HEE UNIVERSITY Reference: https://www.softwaretestinghelp.com/unix-vs-linux/ 23
Linux Kernel
The kernel is the central nervous system of Linux, include OS code
which runs the whole computer.
It provides resources to all other programs that you run under
Linux, and manages all other programs as they run.
The kernel includes the code that performs certain specialized
tasks, including TCP/IP networking.
The kernel design is modular, so that the actual OS code is very
small to be able to load when it needs, and then free the memory
afterwards, thus the kernel remains small and fast and highly
extensible.
KYUNG HEE UNIVERSITY Reference: An Introduction to Linux Operating System”, Zihui Han 24
Linux Kernel - Ubiquity
KYUNG HEE UNIVERSITY Reference: https://en.wikipedia.org/wiki/Linux_distribution#/media/File:Linux_kernel_ubiquity.svg 25
Linux Networking
Networking comes naturally to Linux. In a real sense, Linux is a
product of the Internet or World Wide Web (WWW).
Linux is made for networking. Probably all networking protocols in
use on the Internet are native to Unix and/or Linux. A large part of
the Web is running on Linux boxes, e.g. : AOL.
KYUNG HEE UNIVERSITY Reference: An Introduction to Linux Operating System”, Zihui Han 26
Linux vs Unix
Linux Is Not UniX
KYUNG HEE UNIVERSITY Reference: https://i0.wp.com/ipwithease.com/wp-content/uploads/2020/10/linux-vs-unix-table.jpg?ssl=1 27
Linux & Unix
KYUNG HEE UNIVERSITY Reference: https://en.wikipedia.org/wiki/Linux 28
Linux Distros
KYUNG HEE UNIVERSITY Reference: http://futurist.se/gldt/ 29
Linux Distros
KYUNG HEE UNIVERSITY Reference: https://futurist.se/gldt/wp-content/uploads/12.10/gldt1210.png 30
VxWorks (Commercial RTOS)
KYUNG HEE UNIVERSITY Reference: https://www.windriver.com/products/vxworks/ 31
VxWorks (Commercial RTOS)
KYUNG HEE UNIVERSITY Reference: https://newsroom.intel.com/news/report-intel-technology-audi-a8/#gs.j5edg3 32
VxWorks (Commercial RTOS)
KYUNG HEE UNIVERSITY Reference: https://www.windriver.com/products/vxworks/ 33
VxWorks (Commercial RTOS)
VxWorks is a real-time operating system (RTOS) developed as
proprietary software by Wind River, an Intel Company of Alameda,
California, US.
First released in 1987, VxWorks is designed for use in embedded
systems requiring real-time, deterministic performance and, in
many cases, safety and security certification, for industries, such
as aerospace and defense, medical devices, industrial equipment,
robotics, energy, transportation, network infrastructure,
automotive, and consumer electronics.
KYUNG HEE UNIVERSITY Reference: https://en.wikipedia.org/wiki/VxWorks 34
VxWorks (Commercial RTOS)
Multitasking kernel with preemptive and round-robin scheduling
and fast interrupt response
Native 64-bit operating system (only one 64-bit architecture
supported: x86-64). Data model: LP64.
User-mode applications ("Real-Time Processes", or RTP) isolated
from other user-mode applications as well as the kernel via
memory protection mechanisms.
SMP, AMP and mixed mode multiprocessing support
Error handling framework
Bluetooth, USB, CAN protocols, Firewire IEEE 1394, BLE, L2CAP,
Continua stack, health device profile
KYUNG HEE UNIVERSITY Reference: https://en.wikipedia.org/wiki/VxWorks 35
VxWorks (Commercial RTOS)
Binary, counting, and mutual exclusion semaphores with priority
inheritance
Local and distributed message queues
Memory protection including real-time processes (RTPs), error
detection and reporting, and IPC
Symbolic debugging
KYUNG HEE UNIVERSITY Reference: https://en.wikipedia.org/wiki/VxWorks 36
VxWorks (Commercial RTOS) - Kernel
KYUNG HEE UNIVERSITY Reference: https://www.windriver.com/products/vxworks/ 37
RTL (Real Time Linux collaborative project)
KYUNG HEE UNIVERSITY Reference: https://wiki.linuxfoundation.org/realtime/start 38
Zephyr (OS for Resource Constrained Device)
KYUNG HEE UNIVERSITY Reference: https://www.zephyrproject.org/ 39
Zephyr (OS for Resource Constrained Device)
Complete flexibility & freedom of choice
Open source & neutral governance
Supports multiple hardware architectures
Small footprint: scales from small Cortex-M devices to multi-
core 64-bit CPUs
Connect embedded devices securely to any cloud
Multiple protocol options including BLE mesh and Thread
Supporting industrial, automotive, smart city and smart home
Cloud agnostic Connect with transport layer security to any
cloud
Develop products with safety built in
Long-term support
In-depth security development lifecycle
Functional safety certification coming soon
KYUNG HEE UNIVERSITY Reference: https://www.zephyrproject.org/ 40
Zephyr (OS for Resource Constrained Device)
Microcontroller operating system
Very small memory footprint (will run in 8k)
Open Source under Apache 2.0 license, hosted by Linux
Foundation
Supports multiple architectures
Provide an OS that runs best on MCUs for wearable and IoT
devices, where the cost of the silicon is minimal
Highly Configurable, Highly Modular
Kernel mode only
Two Modes:
Nanokernel: Limited functionality targeting small footprint
(below 10k)
Microkernel (superset of nanokernel): with additional
functionality and features
KYUNG HEE UNIVERSITY Reference: https://www.zephyrproject.org/ 41
Zephyr (OS for Resource Constrained Device)
A high-performance, multi-threaded execution environment with a
basic set of kernel features
Ideal for systems with sparse memory (the kernel itself requires as
little as 2 KB!) or only simple multi-threading requirements (such
as a set of interrupt handlers and a single background task)
Examples of zephyr systems include:
Embedded sensor hubs
Environmental sensors
Simple LED wearables
Store inventory tags
Fitness wearables
Smart watches
IoT wireless gateways
KYUNG HEE UNIVERSITY Reference: https://www.zephyrproject.org/ 42
Zephyr (OS for Resource Constrained Device)
KYUNG HEE UNIVERSITY Reference: https://docs.zephyrproject.org/3.1.0/security/security-overview.html 43
Secure Computing
KYUNG HEE UNIVERSITY Reference: https://developer.arm.com/ip-products/security-ip/trustzone 44
ARM TrustZone (Secure Computing)
Derived from ‘Trusted Computing’ concept
Trusted Computing (TC) is a technology developed and promoted
by the Trusted Computing Group.
The term is taken from the field of trusted systems and has a
specialized meaning.
With Trusted Computing, the computer will consistently behave in
expected ways, and those behaviors will be enforced by computer
hardware and software.
Enforcing this behavior is achieved by loading the hardware with a
unique encryption key inaccessible to the rest of the system.
KYUNG HEE UNIVERSITY Reference: https://www.zephyrproject.org/ 45
ARM TrustZone (Secure Computing)
KYUNG HEE UNIVERSITY Reference: https://www.microcontrollertips.com/embedded-security-brief-arm-trustzone-explained/ 46
ARM TrustZone (Secure Computing)
KYUNG HEE UNIVERSITY Reference: https://blog.quarkslab.com/introduction-to-trusted-execution-environment-arms-trustzone.html 47
ARM TrustZone (Secure Computing)
KYUNG HEE UNIVERSITY Reference: https://genode.org/documentation/articles/trustzone 48
Summary
Linux may be Ubiquitous
Special OS may be required for specific areas
KYUNG HEE UNIVERSITY 49
Reference
Famous OSs
Unix
https://en.wikipedia.org/wiki/Unix
History of Linux
https://en.wikipedia.org/wiki/History_of_Linux
NeXTSTEP
https://en.wikipedia.org/wiki/NeXTSTEP
KYUNG HEE UNIVERSITY 50
Discussion
Customizable OS
What’s your requirements?
KYUNG HEE UNIVERSITY 51
Homework
Surveys the famous (or interest) OS in your domain such as:
ROS for Robots
http://www.ros.org/
Alpine Linux for Container Technology
https://alpinelinux.org/
Orbis OS (based on FreeBSD) for PS4
https://en.wikipedia.org/wiki/PlayStation_4_system_software
KYUNG HEE UNIVERSITY 52