CertNote/ Commute Study Notes
Roadmap
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
Linux Master 2 · 2급KAIT Linux Master - Level 2
  • Week 1
    • 1.Operating Systems and the Kernel: What Linux Does
    • 2.The Birth of Linux: From Unix to Linus
    • 3.Free Software and Open Source: What a License Decides
    • 4.Distributions: The Unit That Bundles the Kernel and Tools for Sale
    • 5.Week 1 Review: The Identity Behind the Name Linux
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
    • 1.Clustering
    • 2.Virtualization
    • 3.Embedded Systems and Technology Trends
    • 4.Comprehensive Mock Exam 1: Linux General + Operation and Management
    • 5.Comprehensive Mock Exam 2: Linux Usage and Final Review
SCS-C03 · SpecialtySecurity - Specialty
Linux Master 1 · 1급KAIT Linux Master - Level 1
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
SQLD · 개발자SQL Developer (SQLD)

© CertNote · 주간랩스

  • About
  • Changelog
  • Contact
  • Terms
  • Privacy
← Linux Master 2/Week 11/Day 3

Based on the Linux Master 2 exam syllabus·Report an error

Linux Master 2· AssociateWeek 11 · Day 3~33 min read

Day 3 - Embedded Systems and Technology Trends

📌 Key Takeaways

  • An embedded system is a system built into a device for a specific function. It is found inside refrigerators, routers, and cars.
  • Android is based on the Linux kernel. iOS is not — this distinction gets asked.
  • Operating systems that use the Linux kernel — Android · Tizen · webOS · ChromeOS.
  • The three cloud service models — IaaS (infrastructure) · PaaS (platform) · SaaS (software).
  • The representative of big data distributed processing is Hadoop.

Embedded Systems

ItemDetails
DefinitionA computer system built into a device to perform a specific function
CharacteristicsDoes only fixed tasks · limited resources · stays on for a long time
ExamplesRouters, smart TVs, refrigerators, cars, medical devices, drones
  • Unlike a general-purpose PC, its job is fixed. So it is made small, containing only the needed functions.
  • The reasons Linux is widely used in embedded systems are clear.
ReasonExplanation
FreeNo license cost
Open sourceYou can pick only the parts you need and trim them down
PortabilitySupports many CPUs such as ARM and MIPS
StabilityHolds up well even when left on for a long time
  • An RTOS (Real-Time Operating System) is an operating system for systems that must respond within a fixed time. It is used where lateness is not allowed, such as a car's braking system.
CategoryGeneral-purpose computer (PC, server)Embedded system
What it doesUp to the userFixed at manufacture
ResourcesPlenty of CPU, memory, and storageSmall and limited. Saves power too
StorageHard disk, SSDMostly flash memory
Screen and keyboardYesOften none
Software installationFreely by the userOnly what the manufacturer put in (firmware)
CPUMostly x86ARM, MIPS, and others

What Embedded Linux Is Made Of

The week 2 boot sequence (bootloader → kernel → root file system) is there as is, only smaller.

ComponentCommon in embeddedJob
BootloaderU-BootLoads the kernel into memory when power is applied (the PC's GRUB spot)
KernelA Linux kernel with only the needed features leftBuilt without drivers for devices the device does not have
Root file systemBusyBoxA tool that packs hundreds of basic commands like ls, cp, and sh into a single executable
  • This is where why "open source" matters for embedded shows up. The kernel has to be trimmed and rebuilt yourself to fit in a small device, which is impossible without the source.
  • An embedded device is too weak to build programs on itself. So we use cross-compilation: building executables for the target device (ARM) on a development PC (x86).
   Development PC (host, x86)               Embedded board (target, ARM)
   ┌─────────────────────┐    transfer      ┌──────────────────────┐
   │ Builds an ARM       │ ───────────►     │ Runs the ARM         │
   │ executable with a   │                  │ executable (does not │
   │ cross compiler      │                  │ build here)          │
   └─────────────────────┘                  └──────────────────────┘

Two Grades of Real-Time

CategoryIf the deadline is missedExamples
Hard real-timeIt is a failure or an accidentAirbags, braking systems, medical devices
Soft real-timeQuality merely dropsVideo playback, voice calls
  • Real-time is not "fast" but "a guarantee of not being late". Even if the average is slow, it is real-time as long as deadlines are not violated.
  • Linux is originally a general-purpose operating system, so it prioritizes throughput. Where strict real-time is needed, a dedicated RTOS such as VxWorks or QNX is used, or a real-time patch is applied to Linux. VxWorks and QNX are not based on the Linux kernel.

Operating Systems Based on the Linux Kernel

Operating systemMade byUsed for
AndroidGoogleSmartphones, tablets
TizenSamsung, IntelSmartwatches, TVs
webOSLG (originally Palm)Smart TVs
ChromeOSGoogleChromebooks
Raspberry Pi OSRaspberry Pi FoundationSmall boards

⚠️ iOS and macOS do not use the Linux kernel. They use Apple's Darwin (BSD family) kernel. Windows is of course not either. These names appear as wrong answers in questions like "which is not an operating system based on the Linux kernel".

  • Android is the Linux kernel with its own framework on top. It shares the kernel but does not use the GNU toolset.
   ┌──────────────────────────────────────────────┐
   │ Apps        Phone · camera · downloaded apps │
   ├──────────────────────────────────────────────┤
   │ Application framework   Java APIs apps call  │
   ├──────────────────────────────────────────────┤
   │ Native libraries · Android Runtime (ART)     │  ← layer made by Google
   ├──────────────────────────────────────────────┤
   │ Linux kernel   drivers · memory · processes  │  ← layer shared with Linux
   └──────────────────────────────────────────────┘
LayerRegular Linux distributionAndroid
KernelLinux kernelLinux kernel (the same)
C libraryGNU's glibcGoogle's Bionic
Basic commands and toolsGNU toolsetIts own tools
How apps runExecutables run directlyRun on a runtime (ART, formerly Dalvik)
LicenseMostly GPLKernel is GPL, most of what is above it is Apache 2.0
  • Android is the operating system of a company that Google acquired in 2005, and it was released together with the OHA (Open Handset Alliance), an alliance of manufacturers and carriers.
  • The table above is the basis for saying in week 1 that "Android is not a Linux distribution". Only the kernel layer is the same; the rest is different.

Separate the names that get mixed into the choices into two boxes.

Is based on the Linux kernelIs not based on the Linux kernel
Android (Google)iOS · macOS (Apple, Darwin)
Tizen (Samsung, Intel)Windows · Windows Mobile (Microsoft)
webOS (Palm → LG)Symbian (Nokia and others)
ChromeOS (Google)QNX · VxWorks (RTOS)
MeeGo (Nokia, Intel)FreeBSD · Solaris (Unix)
Firefox OS (Mozilla)
  • What matters about the left box is that the makers are all different. Because the Linux kernel is released under the GPL, anyone can take it and use it as the foundation of their own operating system.
  • Tizen and webOS survived in TVs and home appliances rather than smartphones. If a passage says "the operating system of a smart TV", it is one of these two.

Cloud Computing

ModelWhat it providesExample
IaaSInfrastructure — servers, storage, networksAWS EC2
PaaSPlatform — runtime environment and development toolsApp Engine
SaaSSoftware — finished softwareWeb mail, web office
   IaaS  ─── Rent only the hardware.  I install from the OS up
   PaaS  ─── Runtime environment provided.  Just deploy the app
   SaaS  ─── Use the finished product.      Nothing to install
  • Tell them apart by the middle letter — I is Infrastructure, P is Platform, S is Software.
  • The further down you go, the less there is for you to manage.

Spreading "who manages it" out by layer shows the boundaries of the three models.

LayerBuild it yourselfIaaSPaaSSaaS
ApplicationMeMeMeProvider
Runtime environment (runtime, middleware)MeMeProviderProvider
Operating systemMeMeProviderProvider
Servers, storage, network, virtualizationMeProviderProviderProvider
  • The boundary between IaaS and PaaS is the operating system. If "the user installs from the operating system up", it is IaaS; if "just deploy the app", it is PaaS.
  • The boundary between PaaS and SaaS is the application. If you deploy a program you made, it is PaaS; if you just use a finished product made by someone else, it is SaaS.
  • Unfamiliar names like DaaS (Desktop as a Service — a service for renting a desktop screen) sometimes get mixed into the choices. Just knowing it is not one of the three basic models lets you filter it out.
  • The cloud is a service built on the virtualization we learned yesterday. One physical server is split into several virtual machines and rented to several customers. That is why "virtualization" appears in the bottom row of IaaS.
CharacteristicMeaning
On demandUsers turn resources on and off themselves, without going through a person
Pay as you goYou pay according to usage instead of buying equipment
ElasticityScale up when traffic surges and scale down when it is quiet
Deployment typeMeaning
Public cloudShared, rented by anyone
Private cloudExclusive to an organization
HybridA mix of the two
  • OpenStack is a representative open-source platform for building private clouds.
  • OpenStack was started in 2010 by NASA and Rackspace. As a service model it is a tool for building IaaS, and it is installed on Linux servers.
  • Similar open-source projects include CloudStack and Eucalyptus. All three are not services for "renting the cloud" but software for "building the cloud yourself".
Easily confused pairDeciding criterion
Public vs privateWho uses it — an unspecified crowd, or a single organization
IaaS vs PaaS vs SaaSWhat is rented — infrastructure, a platform, or software
Cloud vs virtualizationVirtualization is a technology; the cloud is a service form built with that technology
Cloud vs gridThe cloud is rented; the grid gathers scattered spare resources

Big Data

TechnologyJob
HadoopSplits large volumes of data across several servers to store and process
HDFSHadoop's distributed file system
MapReduceA method of splitting up the processing (Map) and merging (Reduce)
SparkFaster, memory-based processing than Hadoop
NoSQLDatabases for unstructured data (MongoDB and others)
  • The characteristics of big data are explained by the 3 Vs — Volume · Velocity · Variety.
  • Both Hadoop and Spark run on Linux.

Read Hadoop as two parts: storage (HDFS) and processing (MapReduce).

   HDFS — cuts big files into blocks and replicates them across several servers
 
     NameNode (remembers which block is where — holds only the listing)
        │
     ┌──┴─────────┬────────────┐
   DataNode 1   DataNode 2   DataNode 3      ← store the actual data
    Block A      Block A      Block A        same block, 3 copies by default
NameRole
NameNodeManages which blocks a file is split into and where they are
DataNodeActually stores the blocks
ReplicationKeeps 3 copies by default of the same block. The data survives even if one server breaks

Following MapReduce through "word counting" makes the meaning of the name clear.

   Input       Server 1: linux unix linux     Server 2: unix linux
 
   Map        (linux,1) (unix,1) (linux,1)   (unix,1) (linux,1)     ← each splits and marks
   Gather      linux → 1,1,1                  unix → 1,1             ← same words together
   Reduce     linux 3                        unix 2                 ← summed up
  • Map scatters and processes individually, and Reduce gathers and sums up. Because the computation happens right on the server that holds the data, there is no need to move big data to one place.
  • Hadoop is an Apache Foundation open-source project and is written in Java. In that it ties together several cheap servers, it shares its roots with the cluster from day 1.
  • Hadoop and the HPC cluster both "split and process", but the target differs. HPC is for big computation, Hadoop is for big data.
The Vs of big dataMeaning
VolumeThe amount is large
VelocityData is generated and processed quickly
VarietyThe forms are diverse (text, photos, logs, and so on)
Veracity · ValueAccuracy · value — the Vs added as the fourth and fifth
  • The basic set is the 3 Vs (volume, velocity, variety). Plausible-sounding Vs like Virtual and Visual get mixed into the choices.

Where Linux Is Used

FieldDetails
ServersWeb, mail, DB, and file servers — the largest market
SupercomputersThe world's top supercomputers are practically all Linux
MobileAndroid
EmbeddedRouters, TVs, cars
CloudMost cloud instances are Linux
DesktopA small share, but steady
  • The fact that Linux's share in the supercomputer field is overwhelming falls within the exam scope. It is because the source can be modified to fit the hardware.
  • On TOP500, the world supercomputer ranking, all 500 systems have been Linux since November 2017.
  • The reasons Linux is chosen in each field boil down to two — it costs nothing, and the source can be modified to fit. Embedded picks it to trim down, supercomputers to tune to the hardware, and the cloud to eliminate the license cost of countless instances.

Recent Technology Terms

TermMeaning
IoTInternet of Things
5GFifth-generation mobile communication. The standard is made by 3GPP
Edge computingProcessing close by rather than at a center
Container orchestrationAutomatically managing containers — Kubernetes
  • IoT is things such as appliances, sensors, and cars connecting to the internet and exchanging data with each other. What sits inside those things is the embedded system we learned about at the start of today.
  • The characteristics of 5G are summarized as three — ultra-fast · ultra-low latency · massive connectivity. The body that makes the standard is 3GPP, exactly as covered in week 9.
  • Edge computing is the opposite side of the cloud. Sending all data to a distant data center is slow, so it is processed first, close to the device.
CategoryCloud computingEdge computing
Where it processesA central data center far awayClose to the device
StrengthLarge capacity, large-scale analysisLow latency
Suited toData storage and statisticsThings that need an immediate reaction, such as autonomous driving and factory control
  • Kubernetes is an open-source project started by Google. If yesterday's Docker is the tool that starts one container, Kubernetes is the tool that places many containers across several servers and restarts them if they die.

Telling Them Apart from Passages

Expression in the passageAnswer
"Built into a device for a specific function"Embedded system
"Guarantees a response within a fixed time"RTOS
"A mobile operating system based on the Linux kernel"Android
"Rent servers and storage, install the operating system yourself"IaaS
"Provides even the development and runtime environment, just deploy the app"PaaS
"Finished software used through a web browser"SaaS
"Open source for building a private cloud"OpenStack
"Distributed storage and processing of large volumes of data"Hadoop
"Hadoop's distributed file system"HDFS
"Faster processing based on memory"Spark
"Automatically deploys and manages containers"Kubernetes
"Things connected through the internet"IoT

Commonly Missed Points

  1. iOS is also based on the Linux kernel → No. It is Apple's Darwin. It only resembles Linux in being Unix-family.
  2. Android is a Linux distribution → It shares only the kernel. It does not use GNU tools.
  3. Tizen and webOS have their own kernels → Both are based on the Linux kernel.
  4. An embedded system is a type of cluster → A completely different concept. It was a wrong choice in the day 1 question.
  5. An RTOS is the operating system with the fastest processing speed → It is not about speed but a guaranteed deadline.
  6. With PaaS you install from the operating system up → That is IaaS. PaaS gives you the runtime environment too.
  7. SaaS is the model that rents out infrastructure → The order is reversed. I is infrastructure, S is software.
  8. OpenStack is a big data technology → It is a cloud-building platform. Big data is Hadoop.
  9. HDFS processes the data → HDFS is for storage; processing is MapReduce.
  10. Kubernetes is a tool for creating containers → Docker does the creating; Kubernetes does the management (orchestration).

Expanding the Abbreviations

AbbreviationFull name
RTOSReal-Time Operating System
IoTInternet of Things
IaaSInfrastructure as a Service
PaaSPlatform as a Service
SaaSSoftware as a Service
HDFSHadoop Distributed File System
OHAOpen Handset Alliance

From tomorrow, we gather everything learned so far and work through comprehensive questions.

📖 Glossary

  • Embedded system : A computer system built into a device for a specific function.
  • RTOS : A real-time operating system that must respond within a fixed time.
  • Android : A mobile operating system made by Google based on the Linux kernel.
  • IaaS / PaaS / SaaS : Cloud service models that provide infrastructure / a platform / software.
  • OpenStack : An open-source platform for building private clouds.
  • Hadoop : A big data technology that splits large volumes of data across several servers to store and process.
  • HDFS : Hadoop's distributed file system.
  • MapReduce : A processing method in which data is split and processed on several servers (Map) and the results are gathered and merged (Reduce).
  • Cross-compilation : Building, on a development PC, executables for a device with a different CPU architecture.
  • Kubernetes : An orchestration tool that automatically deploys and manages containers.

📝 Practice Questions

Click a choice to reveal the answer and explanation.

Question 1

Which of the following is a mobile operating system built on the Linux kernel?

Question 2

Which of the following statements about embedded systems is correct?

Question 3

Which of the following is the operating system used in systems that must complete processing within a fixed time?

Question 4

Which of the following is the representative big data technology that stores and processes large volumes of data distributed across several servers?

Question 5

Which of the following is the cloud service model that rents out hardware resources such as servers and storage, with the user installing everything from the operating system up?

PreviousVirtualizationWeek 11 · Day 2Next Comprehensive Mock Exam 1: Linux General + Operation and ManagementWeek 11 · Day 4

Official references

  • Linux Master 2 official exam syllabus(opens in a new tab)

On this page

  • Key Takeaways
  • Embedded Systems
  • What Embedded Linux Is Made Of
  • Two Grades of Real-Time
  • Operating Systems Based on the Linux Kernel
  • Cloud Computing
  • Big Data
  • Where Linux Is Used
  • Recent Technology Terms
  • Telling Them Apart from Passages
  • Commonly Missed Points
  • Expanding the Abbreviations
  • Glossary
  • Practice Questions