SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
The	
  Evolu*on	
  of	
  
Embedded	
  Linux	
  
Patanjali	
  Somayaji	
  
(patanjalisomayaji@gmail.com)	
  
Embedded	
  Linux	
  
TiVo	
  
Roku	
  
Leapster	
  Explorer	
  
Samsung	
  Smart	
  TV	
  Robonaut	
  2	
  
The	
  Early	
  Days	
  
•  Tradi*onally,	
  Embedded	
  Systems	
  used	
  “roll-­‐your-­‐own”,	
  
“homegrown”	
  or	
  “in-­‐house”	
  RTOSes	
  
•  1980:	
  Arrival	
  of	
  the	
  first	
  general	
  purpose	
  commercial	
  embedded	
  OS	
  
–  VRTX	
  (from	
  Hunter	
  and	
  Ready)	
  	
  
–  Used	
  in	
  the	
  Hubble	
  space	
  telescope	
  and	
  soWware-­‐controlled	
  radio	
  in	
  
early	
  Motorola	
  Mobile	
  phones)	
  	
  
•  Mid-­‐1980s:	
  Increased	
  adop*on	
  of	
  commercial	
  RTOSes	
  
–  VxWorks	
  from	
  WindRiver	
  became	
  the	
  market	
  leader	
  
–  Other	
  solu*ons	
  –	
  QNX,	
  Greenhills	
  Integrity	
  
–  Embedded	
  developer	
  value	
  add	
  was	
  in	
  the	
  App	
  	
  
–  Time-­‐to-­‐market	
  increasingly	
  important	
  
•  Linux	
  v0.1	
  in	
  1991,	
  by	
  1995	
  supported	
  Alpha,	
  i386,	
  MIPS	
  and	
  Sparc	
  
architectures;	
  and	
  by	
  1996	
  had	
  support	
  for	
  m68K	
  and	
  PPC	
  
The	
  Early	
  Days	
  
•  1995:	
  Busybox	
  ini*al	
  release	
  to	
  enable	
  a	
  small	
  Linux	
  image	
  to	
  fit	
  on	
  a	
  
1.44	
  MB	
  floppy	
  
–  Started	
  by	
  Bruce	
  Perens	
  to	
  use	
  as	
  a	
  Debian	
  bootable	
  install	
  and	
  rescue	
  
disk	
  
•  1997:	
  Linux	
  Router	
  Project	
  –	
  first	
  embedded	
  Linux	
  project	
  
•  1999:	
  Commercial	
  RTOS	
  industry	
  was	
  USD	
  1	
  Billion	
  
•  1999:	
  The	
  first	
  year	
  you	
  could	
  buy	
  a	
  commercial	
  off	
  the	
  shelf	
  
Embedded	
  Linux	
  Distribu*on	
  –	
  Montavista’s	
  Red	
  Hat	
  Linux	
  based	
  
“Hard	
  Hat	
  Linux”	
  
•  1999:	
  Linux	
  based	
  TiVo	
  DVR	
  announced	
  (PPC	
  403,	
  16	
  MB	
  RAM,	
  13	
  GB	
  
HDD)	
  
•  2000:	
  Embedded	
  Linux	
  Consor*um	
  (ELC)	
  –	
  now	
  transi*oned	
  to	
  the	
  
Linux	
  Founda*on	
  star*ng	
  2005	
  
•  CE	
  Linux	
  Forum	
  (CELF)	
  –	
  now	
  CE	
  working	
  group	
  of	
  the	
  Linux	
  
Foumda*on	
  
Why	
  did	
  Embedded	
  Linux	
  grow	
  ?	
  
•  “given	
  enough	
  eyeballs,	
  all	
  bugs	
  are	
  shallow”	
  -­‐	
  ESR	
  
–  So	
  reliability,	
  which	
  a	
  concern	
  in	
  the	
  beginning,	
  faded	
  away	
  
•  Linux	
  supported	
  MMUs	
  providing	
  memory	
  par**oning	
  and	
  virtual	
  
memory	
  
–  App	
  crashes	
  do	
  not	
  crash	
  the	
  system	
  
–  Became	
  important	
  as	
  embedded	
  systems	
  grew	
  in	
  complexity	
  
–  MMUs	
  became	
  common	
  in	
  low-­‐cost	
  32-­‐bit	
  embedded	
  systems	
  
–  uCLinux	
  developed	
  for	
  MMU-­‐less	
  high	
  volume,	
  cost-­‐sensi*ve	
  markets	
  
•  Royalty	
  free	
  
–  No	
  license	
  free	
  per	
  unit	
  deployed,	
  unlike	
  commercial	
  RTOSes	
  
–  Commercial	
  linux	
  is	
  usually	
  sold	
  on	
  a	
  developer-­‐seat	
  license	
  basis	
  
–  Important	
  for	
  large	
  scale	
  embedded	
  deployment	
  which	
  is	
  cost	
  sensi*ve	
  
•  No	
  dependency	
  on	
  a	
  single	
  OS	
  vendor	
  for	
  a	
  cri*cal	
  component	
  of	
  
embedded	
  applica*on	
  
Why	
  did	
  Embedded	
  Linux	
  grow	
  ?	
  
•  Networking	
  was	
  usually	
  a	
  paid-­‐for	
  extra	
  on	
  commercial	
  RTOSes.	
  
Linux	
  was	
  built	
  with	
  networking	
  support	
  from	
  the	
  ground	
  up.	
  
•  Open	
  source	
  alterna*ve	
  –	
  Net	
  BSD	
  
–  NetBSD	
  was	
  mature,	
  open	
  source	
  and	
  gemng	
  established	
  at	
  the	
  same	
  
*me	
  
–  Linux	
  however	
  was	
  based	
  on	
  GPLv2	
  which	
  triggered	
  a	
  lot	
  of	
  give-­‐back	
  
–  More	
  drivers	
  and	
  architectures	
  started	
  to	
  get	
  support,	
  and	
  there	
  was	
  a	
  
massive	
  Network	
  effect	
  
•  ARM	
  processors	
  were	
  heavily	
  adopted,	
  and	
  Linux	
  was	
  ported	
  to	
  
various	
  SoCs	
  and	
  development	
  planorms	
  
•  Linux	
  development	
  in	
  other	
  areas	
  e.g.	
  Servers	
  were	
  leveraged	
  in	
  
Embedded	
  systems	
  e.g.	
  Networking,	
  CPU	
  Hotplug	
  
Embedded	
  Linux	
  -­‐	
  Networking	
  
•  The	
  Linux	
  Router	
  Project	
  (LRP)	
  –	
  the	
  
first	
  embedded	
  Linux	
  project	
  ?	
  
•  Pioneering	
  features	
  
–  Small	
  base	
  OS	
  footprint	
  
–  A	
  simplified	
  packaging	
  system	
  
–  Menu	
  based	
  system	
  and	
  package	
  
configura*on	
  
–  Strict	
  separa*on	
  of	
  vola*le,	
  non-­‐
vola*le,	
  Read	
  Only,	
  and	
  Read/Write	
  
areas	
  of	
  the	
  root	
  hierarchy	
  
–  Unpacked	
  and	
  run	
  from	
  ramdisk	
  or	
  
run	
  directly	
  from	
  flash	
  
–  A	
  system	
  to	
  commit	
  configura*on	
  
changes	
  to	
  a	
  non-­‐vola*le	
  medium	
  
(Disk/Flash)	
  
•  Spawned	
  a	
  deluge	
  of	
  Embedded	
  Linux	
  
Networking	
  Devices	
  
Cisco	
  Linksys	
  WRT54GL	
  Wireless-­‐G	
  
Broadband	
  Linux	
  Router	
  
“Every	
  age	
  had	
  its	
  own	
  kind	
  of	
  war,	
  its	
  
own	
  limi*ng	
  condi*ons,	
  and	
  its	
  own	
  
peculiar	
  preconcep*ons”	
  –	
  Carl	
  von	
  
Clausewitz,	
  German-­‐Prussian	
  Soldier	
  &	
  
Military	
  Strategist	
  
Real-­‐*me	
  Linux	
  
•  Different	
  approaches	
  
–  TimeSys	
  introduces	
  proprietary	
  Linux/RT	
  1.0	
  	
  	
  
–  FSM	
  Labs	
  RTLinux	
  (commercially	
  licensed)	
  	
  
•  Real-­‐*me	
  kernel	
  running	
  Linux	
  as	
  a	
  low-­‐priority	
  thread	
  
•  Posix	
  API	
  to	
  run	
  real-­‐*me	
  threads	
  from	
  User	
  Space	
  
•  Under	
  15	
  micro-­‐second	
  response	
  (Year	
  2000)	
  
•  Acquired	
  by	
  WindRiver	
  in	
  2007	
  
–  MontaVista	
  worked	
  on	
  kernel	
  pre-­‐emp*on	
  
•  Meanwhile	
  the	
  Linux	
  Kernel	
  developers	
  were	
  
working	
  on	
  their	
  solu*on	
  
Real-­‐*me	
  Linux	
  
•  2000	
  –	
  Ingo	
  Molnar	
  and	
  Andrew	
  Morton	
  start	
  work	
  on	
  voluntary	
  
pre-­‐empt	
  “CONFIG_PREEMPT_VOLUNTARY”	
  
–  Reduce	
  worst-­‐case	
  interrupt	
  latencies	
  
–  Break	
  lengthy	
  kernel	
  cycles	
  into	
  smaller	
  chunks	
  and	
  add	
  checks	
  to	
  
common	
  causes	
  of	
  long	
  latencies	
  
–  Rescheduling	
  if	
  an	
  interrupt	
  handler	
  has	
  set	
  the	
  “need_resched”	
  flag	
  
–  Eventually	
  merged	
  in	
  Linux	
  Kernel	
  2.6	
  
•  2001	
  –	
  Robert	
  Love	
  began	
  work	
  on	
  the	
  kernel	
  pre-­‐emp*on	
  
“CONFIG_PREEMPT”	
  
–  Ini*ally	
  based	
  on	
  MontaVista	
  patch	
  	
  	
  
–  Target	
  low-­‐latency	
  apps	
  and	
  smooth	
  user	
  interac*on	
  
–  Makes	
  kernel	
  pre-­‐emp*ble	
  like	
  user-­‐space,	
  allowing	
  higher	
  priority	
  
tasks	
  to	
  run	
  -­‐	
  all	
  kernel	
  code	
  outside	
  of	
  spinlock-­‐protected	
  regions	
  and	
  
interrupt	
  handlers	
  eligible	
  for	
  pre-­‐emp*on	
  
–  Adopted	
  by	
  MontaVista	
  in	
  MVL	
  4.0	
  and	
  merged	
  with	
  Linux	
  Kernel	
  2.6	
  
Controlling	
  a	
  laser	
  with	
  Linux	
  is	
  crazy,	
  but	
  everyone	
  in	
  
this	
  room	
  is	
  crazy	
  in	
  his	
  own	
  way.	
  So	
  if	
  you	
  want	
  to	
  use	
  
Linux	
  to	
  control	
  an	
  industrial	
  welding	
  laser,	
  I	
  have	
  no	
  
problem	
  with	
  your	
  using	
  PREEMPT_RT.”	
  -­‐	
  Linus	
  Torvalds	
  
Real-­‐*me	
  Linux	
  
•  2005	
  –	
  Ingo	
  Molnar	
  and	
  others	
  began	
  work	
  on	
  
CONFIG_PREEMPT_RT	
  
–  Convert	
  Linux	
  Kernel	
  into	
  a	
  fully	
  pre-­‐emp*ble	
  kernel	
  
•  In-­‐kernel	
  locking	
  primi*ves	
  made	
  pre-­‐emp*ble	
  
•  Cri*cal	
  sec*ons	
  made	
  pre-­‐emp*ble	
  (crea*on	
  of	
  non-­‐pre-­‐
emp*ble	
  sec*ons	
  s*ll	
  possible)	
  
•  Implemented	
  priority	
  inheritance	
  for	
  in-­‐kernel	
  spinlocks	
  and	
  
semaphores	
  
•  Converted	
  interrupt	
  handlers	
  to	
  pre-­‐emp*ble	
  kernel	
  threads	
  
•  Converted	
  Linux	
  *mer	
  API	
  into	
  separate	
  infrastructures	
  for	
  
high	
  resolu*on	
  *mers	
  and	
  *meouts	
  	
  
•  10	
  to	
  30	
  micro-­‐second	
  scheduler	
  and	
  interrupt	
  latencies	
  	
  
Real-­‐*me	
  Linux	
  
•  Patches	
  for	
  Linux	
  2.6	
  Kernel	
  suppor*ng	
  Real-­‐*me	
  
–  Preemp*ble	
  Interrupt	
  Handlers	
  in	
  Thread	
  Context	
  
–  IRQ-­‐Disable	
  Virtualiza*on	
  for	
  Drivers	
  
•  IRQ	
  threads	
  disabled	
  without	
  masking	
  hardware	
  
–  Integrated	
  Kernel	
  Mutex	
  with	
  Priority	
  Inheritance	
  (PI)	
  
•  Protec*on	
  of	
  Kernel	
  Cri*cal	
  Sec*ons	
  by	
  Preemp*ble	
  PI	
  Mutex	
  
–  PI	
  Mutex	
  Subs*tuted	
  for	
  Non-­‐Preemp*ble	
  Kernel	
  (SMP)	
  Locks	
  
•  Big	
  Kernel	
  Lock	
  (BKL)	
  converted	
  to	
  PI	
  Mutex	
  
•  Spin-­‐Locks	
  converted	
  to	
  PI	
  Mutex	
  
•  Read-­‐Write	
  Locks	
  converted	
  to	
  PI	
  Mutex	
  
•  RCU	
  Preemp*on	
  Enhancements	
  
–  High	
  Resolu*on	
  Timers	
  
–  User-­‐Space	
  Mutex	
  
•  Robustness/Dead-­‐owner/Priority	
  Queueing 	
  	
  
ARM	
  is	
  Everywhere	
  
•  Smartphones	
  
•  Inexpensive	
  evalua*on	
  
boards	
  
–  BeagleBoards	
  
–  BeagleBones	
  
–  Raspberry	
  Pi	
  
•  Now	
  also	
  coming	
  for	
  
Servers	
  
–  AMD	
  to	
  release	
  its	
  first	
  
“Seaule”	
  ARM	
  Server	
  
Chip	
  in	
  2014	
  
Source:	
  hup://arstechnica.com/business/2012/08/from-­‐
altair-­‐to-­‐ipad-­‐35-­‐years-­‐of-­‐personal-­‐computer-­‐market-­‐share/	
  
ARM	
  Linux	
  
•  Started	
  out	
  in	
  1994	
  as	
  a	
  port	
  of	
  the	
  1.0.x	
  kernel	
  to	
  the	
  
Acorn	
  5000	
  
•  1999	
  Linux	
  2.2.0	
  –	
  ARM	
  architecture	
  added	
  to	
  mainline	
  
•  Variety	
  of	
  architectures,	
  Kernel	
  Patches	
  and	
  drivers	
  	
  
–  Hardware	
  varies	
  from	
  SoC	
  to	
  SoC	
  
–  Development	
  planorm	
  divergence	
  
•  “ARM	
  Wrestling”	
  
–  Grew	
  to	
  be	
  a	
  massive	
  collec*on	
  of	
  “subplanorms”	
  
–  Managed	
  independently	
  by	
  different	
  developers	
  	
  
–  “ARM	
  support	
  is	
  a	
  labyrinthine	
  maze	
  of	
  wheels	
  within	
  
reinvented	
  wheels”	
  
•  Linaro	
  formed	
  in	
  2010	
  to	
  drive	
  common	
  development	
  and	
  
integra*on	
  
“I	
  think	
  the	
  more	
  serious	
  long-­‐term	
  issue	
  we	
  have	
  in	
  the	
  
kernel	
  is	
  the	
  wild	
  and	
  crazy	
  embedded	
  planorm	
  code	
  
(and	
  mostly	
  ARM	
  -­‐	
  not	
  because	
  ARM	
  is	
  in	
  any	
  way	
  
fundamentally	
  crazier,	
  but	
  because	
  ARM	
  is	
  clearly	
  the	
  
most	
  successful	
  embedded	
  planorm	
  by	
  far).	
  The	
  
embedded	
  world	
  has	
  always	
  tended	
  to	
  eschew	
  
standardized	
  planorms:	
  they've	
  been	
  resource	
  
constrained	
  etc,	
  so	
  they've	
  done	
  very	
  tailored	
  chip	
  and	
  
board	
  solu*ons,	
  and	
  felt	
  that	
  they	
  couldn't	
  afford	
  a	
  lot	
  of	
  
planorm	
  abstrac*on.”	
  -­‐	
  Linus	
  Torvalds	
  –	
  May	
  2011	
  
Mobile	
  Linux	
  …	
  
2001/2002:	
  	
  
Sharp	
  Zaurus	
  
SL-­‐5500	
  running	
  
OpenZaurus	
  and	
  
OPIE	
  
SA-­‐1110	
  CPU	
  @	
  
206	
  MHz,	
  64	
  MiB	
  
RAM,	
  16	
  MiB	
  
NOR	
  
	
  
2003:	
  
Motorola	
  A760	
  
ARM	
  925	
  chip	
  (an	
  
Intel	
  PXA270)	
  at	
  
316	
  MHz,	
  48	
  MiB	
  
flash	
  storage,	
  
QVGA	
  (240	
  x	
  320)	
  
touch	
  screen	
  
	
  
2008:	
  
HTC/T-­‐Mobile	
  G1	
  	
  
Qualcomm	
  MSM7210A	
  
(ARM11)	
  processor	
  running	
  @	
  
528	
  MHz,	
  256	
  MiB	
  NAND	
  flash	
  
storage,	
  192	
  MiB	
  RAM,	
  3.2-­‐inch	
  
touchscreen	
  (320	
  x	
  480).	
  
Launched	
  with	
  Android	
  1.0	
  
based	
  on	
  modified	
  Linux	
  2.6.25	
  
	
  
2005:	
  
Nokia	
  N770	
  Tablet	
  	
  
TI	
  OMAP	
  1710	
  @	
  252	
  MHz	
  
64	
  MB	
  RAM,	
  128	
  MB	
  Flash	
  
4.1	
  inch	
  touchscreen	
  (800	
  x	
  
480).	
  Launched	
  on	
  Maemo/
Linux	
  
	
  
…	
  and	
  Mobile	
  Linux	
  Consor*ums	
  
Brief	
  Interlude:	
  Embedded	
  Filesystems	
  
•  Ini*al	
  configura*ons	
  
–  Expensive	
  NOR	
  Flash	
  for	
  Cri*cal	
  storage	
  
–  Cheaper	
  and	
  denser	
  NAND	
  Flash	
  for	
  larger	
  capaci*es	
  
–  NAND	
  flash	
  used	
  in	
  consumer	
  devices	
  
•  Flash	
  usage	
  needed	
  “wear-­‐leveling”	
  to	
  spread	
  the	
  block	
  erases	
  evenly	
  
•  Ini*al	
  Linux	
  support	
  for	
  read-­‐only	
  FS	
  (no	
  need	
  for	
  wear-­‐levelling)	
  
–  CramFS	
  &	
  SquishFS	
  
•  Since	
  Flash	
  connected	
  as	
  raw	
  memory	
  devices,	
  Linux	
  needed	
  to	
  handle	
  intelligently	
  
for	
  RW	
  via	
  the	
  Linux	
  MTD	
  Interface	
  (Memory	
  Technology	
  Device)	
  
–  JFFS2,	
  YAFFS2,	
  LogFS,	
  UBIFS	
  
•  Smartphones	
  evolved	
  to	
  using	
  eMMC	
  	
  
–  Large	
  volume	
  of	
  NAND	
  storage	
  with	
  a	
  controller	
  
–  Connect	
  as	
  block	
  devices	
  
–  Use	
  flash	
  vendor’s	
  flash	
  wear-­‐leveling	
  algorithms	
  	
  
•  2012:	
  F2FS	
  	
  
–  SoWware	
  layer	
  to	
  handle	
  “smartness”	
  outside	
  the	
  Flash	
  Transla*on	
  Layer	
  (FTL)	
  
–  Targeted	
  at	
  SSDs,	
  eMMC,	
  SD	
  Cards	
  and	
  other	
  Flash	
  storage	
  with	
  FTL	
  	
  
–  Flash	
  wear-­‐leveling	
  in	
  controller	
  
Brief	
  Interlude:	
  Power	
  Management	
  
•  Embedded	
  Linux	
  –	
  started	
  off	
  with	
  Routers,	
  etc.	
  
“plugged	
  in”	
  devices	
  so	
  Power	
  Management	
  was	
  not	
  a	
  
priority	
  
•  PM	
  focused	
  mostly	
  on	
  Desktop/Laptop/Server	
  support	
  	
  
–  APM	
  (1992	
  Intel	
  &	
  MicrosoW)	
  
•  PM	
  in	
  BIOS,	
  BIOS	
  HW	
  specific	
  	
  
•  Reduce	
  CPU,	
  turn-­‐off	
  Display,	
  disable	
  Harddisk	
  aWer	
  *me-­‐out	
  
–  ACPI	
  (1996	
  v1.0	
  open	
  standard	
  industry	
  specifica*on)	
  
•  OS	
  controls	
  PM,	
  BIOS	
  provides	
  API	
  
•  Power	
  Management	
  cri*cal	
  for	
  Mobile	
  Phones	
  –	
  
supported	
  on	
  ARM	
  SoCs	
  with	
  the	
  usual	
  fragmenta*on	
  
•  Integra*ng	
  Power	
  Management	
  in	
  drivers	
  and	
  kernel	
  is	
  
a	
  major	
  ac*vity	
  for	
  the	
  Mobile	
  OEM	
  
Brief	
  Interlude:	
  Power	
  Management	
  
•  Power	
  Management	
  mechanics	
  
–  System	
  Suspend	
  –	
  User	
  forces	
  system	
  to	
  sleep	
  
–  CPU	
  idle	
  –	
  Idle	
  thread	
  triggers	
  sleep	
  states	
  
–  CPU	
  freq	
  –	
  CPU	
  frequency	
  scaling	
  
–  Run*me	
  PM	
  –	
  Device	
  Power	
  Management	
  
–  CPU	
  Hotplug	
  –	
  Remove	
  a	
  CPU	
  from	
  the	
  running	
  system	
  (ini*ally	
  used	
  for	
  
Server	
  SMP	
  Linux	
  became	
  important	
  for	
  mul*-­‐core	
  ARM)	
  
•  Due	
  to	
  a	
  lack	
  of	
  a	
  standard	
  like	
  ACPI,	
  ARM	
  SoCs	
  support	
  is	
  fragmented	
  
–  ARM	
  SoCs	
  expose	
  a	
  lot	
  of	
  HW	
  knobs	
  to	
  SoWware,	
  directly	
  controlled	
  by	
  the	
  OS	
  
drivers	
  
–  Each	
  SoC	
  vendor	
  exposes	
  a	
  superset	
  of	
  standard	
  ARM	
  power	
  states	
  for	
  fine-­‐
grained	
  control,	
  increasing	
  complexity	
  of	
  SoC	
  enablement	
  code	
  and	
  peripheral	
  
drivers	
  
–  Different	
  approaches	
  to	
  OS	
  Power	
  Management	
  frameworks	
  due	
  to	
  a	
  lack	
  of	
  
design	
  pauerns,	
  lack	
  of	
  common	
  infrastructure	
  and	
  intrinsic	
  HW	
  differences	
  
–  Linaro	
  approach	
  to	
  integrate	
  and	
  unify	
  
hups://wiki.linaro.org/WorkingGroups/
PowerManagement/Doc/Architecture	
  
Android	
  “wakelock”	
  
•  Default	
  state	
  is	
  to	
  suspend	
  
•  Kernel	
  implementa*on	
  and	
  Android	
  user-­‐space	
  APIs	
  
–  When	
  a	
  wakelock	
  of	
  type	
  “WAKE_LOCK_IDLE”	
  is	
  in	
  effect,	
  
system	
  does	
  not	
  enter	
  Idle	
  (low	
  power)	
  
–  When	
  a	
  wakelock	
  of	
  type	
  “WAKE_LOCK_SUSPEND”	
  is	
  in	
  
effect,	
  system	
  will	
  not	
  suspend	
  	
  
•  Highly	
  controversial	
  feature,	
  mul*ple	
  patch	
  
submissions	
  and	
  mailing	
  list	
  discussions	
  over	
  many	
  
years	
  
•  Compa*ble	
  solu*on	
  being	
  mainlined	
  in	
  later	
  Kernel	
  3.x	
  
series	
  
Is	
  Android	
  the	
  new	
  “Embedded	
  
Linux”	
  ?	
  	
  
Android	
  
“The	
  interes*ng	
  thing	
  about	
  Android’s	
  design	
  is	
  how	
  liule	
  we	
  
modified	
  the	
  kernel.	
  Most	
  embedded	
  systems	
  on	
  which	
  I	
  have	
  
worked	
  have	
  made	
  dras*c	
  changes	
  to	
  the	
  kernel,	
  only	
  to	
  leave	
  
user-­‐space	
  alone	
  —	
  for	
  example,	
  a	
  heavily-­‐modified	
  “real*me”	
  
kernel	
  but	
  X11	
  for	
  a	
  GUI.	
  
	
  
Android	
  is	
  the	
  opposite:	
  Only	
  minimal	
  changes	
  to	
  the	
  kernel,	
  
but	
  a	
  user-­‐space	
  wholly	
  unlike	
  that	
  of	
  any	
  other	
  Unix	
  system.	
  
In	
  fact,	
  Android’s	
  user-­‐space	
  is	
  so	
  different	
  from	
  stock	
  Linux,	
  
you	
  can	
  easily	
  say	
  that	
  Android	
  is	
  not	
  in	
  any	
  way	
  a	
  Linux	
  
system,	
  except	
  for	
  the	
  kernel.”	
  
	
  
-­‐	
  Robert	
  Love,	
  Google	
  Engineer	
  and	
  Kernel	
  Contributor	
  
hup://www.forbes.com/sites/quora/2013/05/13/what-­‐are-­‐the-­‐major-­‐changes-­‐that-­‐android-­‐made-­‐to-­‐the-­‐linux-­‐kernel/	
  
Android	
  
•  ashmem	
  (Android	
  Shared	
  Memory),	
  a	
  file-­‐based	
  shared	
  memory	
  system	
  
•  Binder,	
  an	
  inter-­‐process	
  communica*on	
  (IPC)	
  and	
  remote	
  procedure	
  call	
  
(RPC)	
  system	
  
•  logger,	
  a	
  high-­‐speed	
  in-­‐kernel	
  logging	
  mechanism	
  op*mized	
  for	
  writes	
  
•  Paranoid	
  Networking,	
  a	
  mechanism	
  to	
  restrict	
  network	
  I/O	
  to	
  certain	
  
processes	
  
•  pmem	
  (Physical	
  Memory),	
  a	
  driver	
  for	
  mapping	
  large	
  chunks	
  of	
  physical	
  
memory	
  into	
  user-­‐space	
  
•  Viking	
  Killer,	
  a	
  replacement	
  OOM	
  killer	
  that	
  implements	
  Android’s	
  “kill	
  
least	
  recently	
  used	
  process”	
  logic	
  under	
  low	
  memory	
  condi*ons	
  
•  wakelocks,	
  Android’s	
  unique	
  power	
  management	
  solu*on,	
  in	
  which	
  the	
  
default	
  state	
  of	
  the	
  device	
  is	
  sleep	
  and	
  explicit	
  ac*on	
  is	
  required	
  (via	
  a	
  
wakelock)	
  to	
  prevent	
  that	
  
•  The	
  usual	
  assortment	
  of	
  drivers,	
  ARM	
  architecture	
  ports,	
  and	
  other	
  
associated	
  low-­‐level	
  code	
  necessary	
  to	
  support	
  Android	
  on	
  any	
  given	
  
device	
  
hup://www.forbes.com/sites/quora/2013/05/13/what-­‐are-­‐the-­‐major-­‐changes-­‐that-­‐android-­‐made-­‐to-­‐the-­‐linux-­‐kernel/	
  
Android	
  
•  Android	
  is	
  the	
  most	
  popular	
  Embedded	
  Linux	
  
“distro”	
  today	
  
•  From	
  hos*lity	
  to	
  gradual	
  adop*on	
  
– E.g.	
  mainlining	
  of	
  selec*ve	
  Android	
  features	
  in	
  
Linux	
  Kernel	
  	
  
– Ubuntu	
  “MIR”	
  display	
  server	
  across	
  Desktop/
Tablet/Phones	
  leverages	
  Android	
  display	
  drivers	
  
and	
  architecture	
  
– We	
  all	
  love	
  “adb”	
  
Looking	
  ahead	
  …	
  
Linaro	
  
•  Not-­‐for-­‐profit	
  engineering	
  
organiza*on	
  consolida*ng	
  and	
  
op*mizing	
  open	
  source	
  Linux	
  soWware	
  
and	
  tools	
  for	
  the	
  ARM	
  architecture	
  
•  Focus	
  on	
  generic	
  ARM	
  technology	
  
common	
  to	
  all	
  ARM	
  SoC	
  vendors	
  
•  Focus	
  on	
  areas	
  that	
  interact	
  directly	
  
with	
  silicon	
  like	
  Mul*media,	
  Graphics,	
  
Power	
  Management,	
  Kernel	
  and	
  Boot	
  
•  Maintenance,	
  up-­‐streaming	
  and	
  
implementa*on	
  of	
  standards	
  
•  Established	
  in	
  2010	
  by	
  ARM,	
  Freescale,	
  
IBM,	
  Samsung,	
  ST-­‐Ericsson	
  and	
  Texas	
  
Instruments	
  
Yocto	
  Project	
  
•  Not	
  an	
  embedded	
  Linux	
  
distribu*on	
  –	
  Yocto	
  provides	
  
tools	
  to	
  build	
  a	
  custom	
  
embedded	
  Linux	
  distribu*on	
  
•  Based	
  on	
  Poky,	
  OpenEmbedded	
  
•  Provides	
  Linux	
  Kernel,	
  System	
  
Libraries,	
  UI	
  Framework	
  	
  
•  Op*onal	
  Sato	
  user	
  interface	
  
based	
  on	
  GNOME	
  Mobile	
  Stack	
  	
  
Yocto	
  Project	
  
Genivi	
  
•  Industry	
  non-­‐profit	
  alliance	
  to	
  
drive	
  adop*on	
  of	
  open	
  
source	
  In-­‐vehicle	
  
Infotainment	
  development	
  
planorm	
  
•  Launched	
  in	
  Mar	
  2009	
  
•  Linux-­‐based	
  kernel,	
  core	
  
services,	
  middleware	
  and	
  
open	
  applica*on	
  interfaces	
  
•  Genivi	
  compliant	
  –	
  Tizen,	
  
MontaVista	
  IVI,	
  Ubuntu	
  
Remix	
  IVI,	
  WindRiver	
  IVI	
  
Tizen	
  
•  History	
  –	
  builds	
  on	
  SLP	
  from	
  
LiMo,	
  formed	
  when	
  Intel	
  leW	
  
Meego	
  to	
  join	
  Tizen	
  
•  Open-­‐source,	
  standards	
  
based	
  planorm	
  for	
  
Smartphones,	
  Tablets,	
  In-­‐
vehicle	
  Infotainment	
  
Devices,	
  Smart	
  TVs	
  
•  Part	
  of	
  the	
  Linux	
  Founda*on	
  
•  Devices	
  from	
  Samsung	
  “later	
  
in	
  2013”	
  
Ubuntu	
  for	
  Smartphones	
  
•  Built	
  on	
  Ubuntu	
  Linux,	
  
leverages	
  Android	
  Tech	
  
•  HTML5	
  and	
  Na*ve	
  
Apps	
  are	
  equal	
  ci*zens	
  
•  Same	
  OS	
  across	
  
devices,	
  same	
  OS	
  
across	
  same	
  device	
  in	
  
different	
  form	
  factors	
  
•  OEM	
  Customizable	
  
•  Phones	
  in	
  4Q2013/
early	
  2014	
  
If	
  you’re	
  confused	
  …	
  
Source:	
  hups://github.com/kumadasu/*zen-­‐history/blob/master/*zen-­‐history.pdf	
  
Not	
  to	
  forget	
  …	
  
Firefox	
  Mobile	
  
•  “Boot	
  to	
  Gecko”	
  -­‐>	
  Linux	
  +	
  
Mozilla	
  Gecko	
  
•  Web	
  as	
  the	
  Applica*on	
  
Planorm	
  
•  Leverages	
  HTML5	
  and	
  
other	
  Web	
  Standards	
  
•  Devices	
  launching	
  “soon”	
  
Sources	
  
Google	
  and	
  Wolfram	
  Alpha	
  
hup://www.embedded-­‐linux.co.uk/embedded-­‐history	
  
hup://www.arm.linux.org.uk/docs/history.php	
  
hup://lwn.net/Ar*cles/437162/	
  
hup://www.linuxjournal.com/ar*cle/5755	
  
hup://en.wikipedia.org/wiki/Carl_von_Clausewitz	
  
hups://rt.wiki.kernel.org/index.php/Main_Page	
  
hup://elinux.org/images/b/ba/Elc2013_Rostedt.pdf	
  
hups://lwn.net/Ar*cles/518988/	
  
hup://en.wikipedia.org/wiki/Sharp_Zaurus	
  
hup://en.wikipedia.org/wiki/Nokia_770_Internet_Tablet	
  
hups://wiki.linaro.org/WorkingGroups/
PowerManagement	
  
hups://www.kernel.org/doc/Documenta*on/cpu-­‐
hotplug.txt	
  
hup://elinux.org/Power_Management	
  
hup://www.itworld.com/mobile-­‐wireless/175829/arm-­‐
and-­‐linux-­‐major-­‐construc*on-­‐ahead	
  
hup://arstechnica.com/business/2012/08/from-­‐altair-­‐to-­‐
ipad-­‐35-­‐years-­‐of-­‐personal-­‐computer-­‐market-­‐share/	
  
hup://www.pcworld.com/ar*cle/2042267/amd-­‐slates-­‐
first-­‐arm-­‐server-­‐chip-­‐seaule-­‐for-­‐2014.html	
  
hup://www.slideshare.net/opersys/is-­‐android-­‐the-­‐new-­‐
embedded-­‐embedded-­‐linux-­‐at-­‐embedded-­‐wordl-­‐2013	
  
hups://wiki.linaro.org/WorkingGroups/
PowerManagement/Doc/Architecture	
  
hup://www.forbes.com/sites/quora/2013/05/13/what-­‐
are-­‐the-­‐major-­‐changes-­‐that-­‐android-­‐made-­‐to-­‐the-­‐linux-­‐
kernel/	
  
hup://training.linuxfounda*on.org/free-­‐linux-­‐training/
download-­‐training-­‐materials/history-­‐of-­‐embedded-­‐linux-­‐
and-­‐best-­‐prac*ces-­‐for-­‐gemng-­‐started	
  
hup://en.wikipedia.org/wiki/Linux_Router_Project	
  
hup://www.extremetech.com/extreme/155392-­‐
interna*onal-­‐space-­‐sta*on-­‐switches-­‐from-­‐windows-­‐to-­‐
linux-­‐for-­‐improved-­‐reliability	
  
hup://www.linaro.org	
  
hup://yoctoproject.org	
  
hup://*zen.org	
  
hup://www.ubuntu.com/phone	
  
hups://github.com/kumadasu/*zen-­‐history/blob/
master/*zen-­‐history.pdf	
  
hup://www.mozilla.org/en-­‐US/firefox/os/	
  

Más contenido relacionado

La actualidad más candente

Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Ionela
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded LinuxChris Simmonds
 
MR201404 building secure linux application with privilege separation
MR201404 building secure linux application with privilege separationMR201404 building secure linux application with privilege separation
MR201404 building secure linux application with privilege separationFFRI, Inc.
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linuxWingston
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in LinuxShreyas MM
 
Introduction to Embedded Linux
Introduction to Embedded LinuxIntroduction to Embedded Linux
Introduction to Embedded LinuxHossain Reja
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization WSO2
 
Arch linux and whole security concepts in linux explained
Arch linux and whole security concepts in linux explained Arch linux and whole security concepts in linux explained
Arch linux and whole security concepts in linux explained krishna kakade
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Chris Simmonds
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015Chris Simmonds
 
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbeddedFest
 
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbeddedFest
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Chris Simmonds
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介lclsg123
 

La actualidad más candente (19)

Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded Linux
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
MR201404 building secure linux application with privilege separation
MR201404 building secure linux application with privilege separationMR201404 building secure linux application with privilege separation
MR201404 building secure linux application with privilege separation
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in Linux
 
Introduction to Embedded Linux
Introduction to Embedded LinuxIntroduction to Embedded Linux
Introduction to Embedded Linux
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
 
Arch linux and whole security concepts in linux explained
Arch linux and whole security concepts in linux explained Arch linux and whole security concepts in linux explained
Arch linux and whole security concepts in linux explained
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
 
Kernel modules
Kernel modulesKernel modules
Kernel modules
 
Microkernel
MicrokernelMicrokernel
Microkernel
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015
 
Case study linux
Case study linuxCase study linux
Case study linux
 
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
 
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
 
Trojan linux
Trojan linuxTrojan linux
Trojan linux
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介
 

Destacado

Life and Work of Jim Gray | Turing100@Persistent
Life and Work of Jim Gray | Turing100@PersistentLife and Work of Jim Gray | Turing100@Persistent
Life and Work of Jim Gray | Turing100@PersistentPersistent Systems Ltd.
 
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...Persistent Systems Ltd.
 
Life and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@PersistentLife and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@PersistentPersistent Systems Ltd.
 
Linux, Android and Open Source in the Mobile Environment
Linux, Android and Open Source in the Mobile EnvironmentLinux, Android and Open Source in the Mobile Environment
Linux, Android and Open Source in the Mobile EnvironmentAlison Chaiken
 
Wind River Chumby Motorola Stacatto
Wind River   Chumby   Motorola   StacattoWind River   Chumby   Motorola   Stacatto
Wind River Chumby Motorola StacattoMarco Thompson
 
Developer Day 2014 - 4 - wind river - iot business and technology trends
Developer Day 2014 - 4 - wind river - iot business and technology trendsDeveloper Day 2014 - 4 - wind river - iot business and technology trends
Developer Day 2014 - 4 - wind river - iot business and technology trendsThibault Cantegrel
 
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...Rosenfeld Media
 
NetBSD and Linux for Embedded Systems
NetBSD and Linux for Embedded SystemsNetBSD and Linux for Embedded Systems
NetBSD and Linux for Embedded SystemsMahendra M
 
Yocto Project Open Source Build System and Collaboration Initiative
Yocto Project Open Source Build System and Collaboration InitiativeYocto Project Open Source Build System and Collaboration Initiative
Yocto Project Open Source Build System and Collaboration InitiativeMarcelo Sanz
 
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing TechtalkLife and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing TechtalkPersistent Systems Ltd.
 
A Market Update on Embedded/Real-Time Operating Systems
A Market Update on Embedded/Real-Time Operating SystemsA Market Update on Embedded/Real-Time Operating Systems
A Market Update on Embedded/Real-Time Operating SystemsVDC Research Group
 
Filippa K - Goto Market Strategy 2016
Filippa K - Goto Market Strategy 2016Filippa K - Goto Market Strategy 2016
Filippa K - Goto Market Strategy 2016Thassilo Nowacka
 
Radisys_Wind River_C-RAN Webinar_June 26_14
Radisys_Wind River_C-RAN Webinar_June 26_14Radisys_Wind River_C-RAN Webinar_June 26_14
Radisys_Wind River_C-RAN Webinar_June 26_14Radisys Corporation
 
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Persistent Systems Ltd.
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsAnil Kumar Pugalia
 

Destacado (19)

Life and Work of Jim Gray | Turing100@Persistent
Life and Work of Jim Gray | Turing100@PersistentLife and Work of Jim Gray | Turing100@Persistent
Life and Work of Jim Gray | Turing100@Persistent
 
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
 
Life and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@PersistentLife and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@Persistent
 
Linux, Android and Open Source in the Mobile Environment
Linux, Android and Open Source in the Mobile EnvironmentLinux, Android and Open Source in the Mobile Environment
Linux, Android and Open Source in the Mobile Environment
 
Wind River Chumby Motorola Stacatto
Wind River   Chumby   Motorola   StacattoWind River   Chumby   Motorola   Stacatto
Wind River Chumby Motorola Stacatto
 
Developer Day 2014 - 4 - wind river - iot business and technology trends
Developer Day 2014 - 4 - wind river - iot business and technology trendsDeveloper Day 2014 - 4 - wind river - iot business and technology trends
Developer Day 2014 - 4 - wind river - iot business and technology trends
 
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
 
NetBSD and Linux for Embedded Systems
NetBSD and Linux for Embedded SystemsNetBSD and Linux for Embedded Systems
NetBSD and Linux for Embedded Systems
 
Yocto Project Open Source Build System and Collaboration Initiative
Yocto Project Open Source Build System and Collaboration InitiativeYocto Project Open Source Build System and Collaboration Initiative
Yocto Project Open Source Build System and Collaboration Initiative
 
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing TechtalkLife and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
 
A Market Update on Embedded/Real-Time Operating Systems
A Market Update on Embedded/Real-Time Operating SystemsA Market Update on Embedded/Real-Time Operating Systems
A Market Update on Embedded/Real-Time Operating Systems
 
Filippa K - Goto Market Strategy 2016
Filippa K - Goto Market Strategy 2016Filippa K - Goto Market Strategy 2016
Filippa K - Goto Market Strategy 2016
 
Iot survey
Iot surveyIot survey
Iot survey
 
Radisys_Wind River_C-RAN Webinar_June 26_14
Radisys_Wind River_C-RAN Webinar_June 26_14Radisys_Wind River_C-RAN Webinar_June 26_14
Radisys_Wind River_C-RAN Webinar_June 26_14
 
Persistent Systems
Persistent SystemsPersistent Systems
Persistent Systems
 
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Toolchain
ToolchainToolchain
Toolchain
 
Company Overview Presentation
Company Overview PresentationCompany Overview Presentation
Company Overview Presentation
 

Similar a Embedded Linux Evolution | Turing Techtalk

Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systemsVandana Salve
 
From Zero to Hero - Contribute to Linux Kernel in 15 Minutes
From Zero to Hero - Contribute to Linux Kernel in 15 MinutesFrom Zero to Hero - Contribute to Linux Kernel in 15 Minutes
From Zero to Hero - Contribute to Linux Kernel in 15 MinutesGlobalLogic Ukraine
 
Linux Operating System. UOG MARGHAZAR Campus
 Linux Operating System. UOG MARGHAZAR Campus Linux Operating System. UOG MARGHAZAR Campus
Linux Operating System. UOG MARGHAZAR CampusSYEDASADALI38
 
introduction.pdf
introduction.pdfintroduction.pdf
introduction.pdfxiso
 
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0dominion
 
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...GlobalLogic Ukraine
 
The dream is alive! Running Linux containers on an illumos kernel
The dream is alive! Running Linux containers on an illumos kernelThe dream is alive! Running Linux containers on an illumos kernel
The dream is alive! Running Linux containers on an illumos kernelbcantrill
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionMohamed Abdallah
 
Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU Ahmed El-Arabawy
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker, Inc.
 
history_of_linux lec 7.pptx
history_of_linux lec 7.pptxhistory_of_linux lec 7.pptx
history_of_linux lec 7.pptxtouseeqzulfiqar1
 
Linux command ppt
Linux command pptLinux command ppt
Linux command pptkalyanineve
 
How I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the LinuxHow I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the LinuxHelen Tabunshchyk
 
Introduction and history of linux
Introduction and history of linuxIntroduction and history of linux
Introduction and history of linuxSHUBHA CHATURVEDI
 

Similar a Embedded Linux Evolution | Turing Techtalk (20)

The Linux System
The Linux SystemThe Linux System
The Linux System
 
Unikernelized Linux
Unikernelized LinuxUnikernelized Linux
Unikernelized Linux
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
 
From Zero to Hero - Contribute to Linux Kernel in 15 Minutes
From Zero to Hero - Contribute to Linux Kernel in 15 MinutesFrom Zero to Hero - Contribute to Linux Kernel in 15 Minutes
From Zero to Hero - Contribute to Linux Kernel in 15 Minutes
 
Linux Operating System. UOG MARGHAZAR Campus
 Linux Operating System. UOG MARGHAZAR Campus Linux Operating System. UOG MARGHAZAR Campus
Linux Operating System. UOG MARGHAZAR Campus
 
introduction.pdf
introduction.pdfintroduction.pdf
introduction.pdf
 
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
 
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
The dream is alive! Running Linux containers on an illumos kernel
The dream is alive! Running Linux containers on an illumos kernelThe dream is alive! Running Linux containers on an illumos kernel
The dream is alive! Running Linux containers on an illumos kernel
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
 
Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
 
history_of_linux lec 7.pptx
history_of_linux lec 7.pptxhistory_of_linux lec 7.pptx
history_of_linux lec 7.pptx
 
Linux command ppt
Linux command pptLinux command ppt
Linux command ppt
 
Unik Slides
Unik SlidesUnik Slides
Unik Slides
 
How I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the LinuxHow I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the Linux
 
Linux OS presentation
Linux OS presentationLinux OS presentation
Linux OS presentation
 
Introduction and history of linux
Introduction and history of linuxIntroduction and history of linux
Introduction and history of linux
 

Más de Persistent Systems Ltd.

What is wrong with the Internet? [On the foundations of internet security, fu...
What is wrong with the Internet? [On the foundations of internet security, fu...What is wrong with the Internet? [On the foundations of internet security, fu...
What is wrong with the Internet? [On the foundations of internet security, fu...Persistent Systems Ltd.
 
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...Persistent Systems Ltd.
 
Life and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@PersistentLife and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@PersistentPersistent Systems Ltd.
 
Early History of Fortran: The Making of a Wonder | Turing100@Persistent
Early History of Fortran: The Making of a Wonder | Turing100@PersistentEarly History of Fortran: The Making of a Wonder | Turing100@Persistent
Early History of Fortran: The Making of a Wonder | Turing100@PersistentPersistent Systems Ltd.
 
Life and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@PersistentLife and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@PersistentPersistent Systems Ltd.
 
Software Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@PersistentSoftware Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@PersistentPersistent Systems Ltd.
 
Systems Design Experiences or Just Some War Stories…
Systems Design Experiences or Just Some War Stories…Systems Design Experiences or Just Some War Stories…
Systems Design Experiences or Just Some War Stories…Persistent Systems Ltd.
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentPersistent Systems Ltd.
 
Life & Work of Robin Milner | Turing100@Persistent
Life & Work of Robin Milner | Turing100@PersistentLife & Work of Robin Milner | Turing100@Persistent
Life & Work of Robin Milner | Turing100@PersistentPersistent Systems Ltd.
 
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@PersistentLife & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@PersistentPersistent Systems Ltd.
 
Net Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent SystemsNet Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent SystemsPersistent Systems Ltd.
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsPersistent Systems Ltd.
 
Life and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@PersistentLife and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@PersistentPersistent Systems Ltd.
 
Alan Turing Centenary @ Persistent Systems
Alan Turing Centenary @ Persistent SystemsAlan Turing Centenary @ Persistent Systems
Alan Turing Centenary @ Persistent SystemsPersistent Systems Ltd.
 

Más de Persistent Systems Ltd. (15)

What is wrong with the Internet? [On the foundations of internet security, fu...
What is wrong with the Internet? [On the foundations of internet security, fu...What is wrong with the Internet? [On the foundations of internet security, fu...
What is wrong with the Internet? [On the foundations of internet security, fu...
 
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
 
Life and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@PersistentLife and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@Persistent
 
Early History of Fortran: The Making of a Wonder | Turing100@Persistent
Early History of Fortran: The Making of a Wonder | Turing100@PersistentEarly History of Fortran: The Making of a Wonder | Turing100@Persistent
Early History of Fortran: The Making of a Wonder | Turing100@Persistent
 
Life and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@PersistentLife and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@Persistent
 
Software Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@PersistentSoftware Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@Persistent
 
System Anecdotes | Turing100@Persistent
System Anecdotes | Turing100@PersistentSystem Anecdotes | Turing100@Persistent
System Anecdotes | Turing100@Persistent
 
Systems Design Experiences or Just Some War Stories…
Systems Design Experiences or Just Some War Stories…Systems Design Experiences or Just Some War Stories…
Systems Design Experiences or Just Some War Stories…
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@Persistent
 
Life & Work of Robin Milner | Turing100@Persistent
Life & Work of Robin Milner | Turing100@PersistentLife & Work of Robin Milner | Turing100@Persistent
Life & Work of Robin Milner | Turing100@Persistent
 
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@PersistentLife & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
 
Net Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent SystemsNet Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent Systems
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
 
Life and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@PersistentLife and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@Persistent
 
Alan Turing Centenary @ Persistent Systems
Alan Turing Centenary @ Persistent SystemsAlan Turing Centenary @ Persistent Systems
Alan Turing Centenary @ Persistent Systems
 

Último

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Último (20)

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

Embedded Linux Evolution | Turing Techtalk

  • 1. The  Evolu*on  of   Embedded  Linux   Patanjali  Somayaji   (patanjalisomayaji@gmail.com)  
  • 2. Embedded  Linux   TiVo   Roku   Leapster  Explorer   Samsung  Smart  TV  Robonaut  2  
  • 3. The  Early  Days   •  Tradi*onally,  Embedded  Systems  used  “roll-­‐your-­‐own”,   “homegrown”  or  “in-­‐house”  RTOSes   •  1980:  Arrival  of  the  first  general  purpose  commercial  embedded  OS   –  VRTX  (from  Hunter  and  Ready)     –  Used  in  the  Hubble  space  telescope  and  soWware-­‐controlled  radio  in   early  Motorola  Mobile  phones)     •  Mid-­‐1980s:  Increased  adop*on  of  commercial  RTOSes   –  VxWorks  from  WindRiver  became  the  market  leader   –  Other  solu*ons  –  QNX,  Greenhills  Integrity   –  Embedded  developer  value  add  was  in  the  App     –  Time-­‐to-­‐market  increasingly  important   •  Linux  v0.1  in  1991,  by  1995  supported  Alpha,  i386,  MIPS  and  Sparc   architectures;  and  by  1996  had  support  for  m68K  and  PPC  
  • 4. The  Early  Days   •  1995:  Busybox  ini*al  release  to  enable  a  small  Linux  image  to  fit  on  a   1.44  MB  floppy   –  Started  by  Bruce  Perens  to  use  as  a  Debian  bootable  install  and  rescue   disk   •  1997:  Linux  Router  Project  –  first  embedded  Linux  project   •  1999:  Commercial  RTOS  industry  was  USD  1  Billion   •  1999:  The  first  year  you  could  buy  a  commercial  off  the  shelf   Embedded  Linux  Distribu*on  –  Montavista’s  Red  Hat  Linux  based   “Hard  Hat  Linux”   •  1999:  Linux  based  TiVo  DVR  announced  (PPC  403,  16  MB  RAM,  13  GB   HDD)   •  2000:  Embedded  Linux  Consor*um  (ELC)  –  now  transi*oned  to  the   Linux  Founda*on  star*ng  2005   •  CE  Linux  Forum  (CELF)  –  now  CE  working  group  of  the  Linux   Foumda*on  
  • 5. Why  did  Embedded  Linux  grow  ?   •  “given  enough  eyeballs,  all  bugs  are  shallow”  -­‐  ESR   –  So  reliability,  which  a  concern  in  the  beginning,  faded  away   •  Linux  supported  MMUs  providing  memory  par**oning  and  virtual   memory   –  App  crashes  do  not  crash  the  system   –  Became  important  as  embedded  systems  grew  in  complexity   –  MMUs  became  common  in  low-­‐cost  32-­‐bit  embedded  systems   –  uCLinux  developed  for  MMU-­‐less  high  volume,  cost-­‐sensi*ve  markets   •  Royalty  free   –  No  license  free  per  unit  deployed,  unlike  commercial  RTOSes   –  Commercial  linux  is  usually  sold  on  a  developer-­‐seat  license  basis   –  Important  for  large  scale  embedded  deployment  which  is  cost  sensi*ve   •  No  dependency  on  a  single  OS  vendor  for  a  cri*cal  component  of   embedded  applica*on  
  • 6. Why  did  Embedded  Linux  grow  ?   •  Networking  was  usually  a  paid-­‐for  extra  on  commercial  RTOSes.   Linux  was  built  with  networking  support  from  the  ground  up.   •  Open  source  alterna*ve  –  Net  BSD   –  NetBSD  was  mature,  open  source  and  gemng  established  at  the  same   *me   –  Linux  however  was  based  on  GPLv2  which  triggered  a  lot  of  give-­‐back   –  More  drivers  and  architectures  started  to  get  support,  and  there  was  a   massive  Network  effect   •  ARM  processors  were  heavily  adopted,  and  Linux  was  ported  to   various  SoCs  and  development  planorms   •  Linux  development  in  other  areas  e.g.  Servers  were  leveraged  in   Embedded  systems  e.g.  Networking,  CPU  Hotplug  
  • 7. Embedded  Linux  -­‐  Networking   •  The  Linux  Router  Project  (LRP)  –  the   first  embedded  Linux  project  ?   •  Pioneering  features   –  Small  base  OS  footprint   –  A  simplified  packaging  system   –  Menu  based  system  and  package   configura*on   –  Strict  separa*on  of  vola*le,  non-­‐ vola*le,  Read  Only,  and  Read/Write   areas  of  the  root  hierarchy   –  Unpacked  and  run  from  ramdisk  or   run  directly  from  flash   –  A  system  to  commit  configura*on   changes  to  a  non-­‐vola*le  medium   (Disk/Flash)   •  Spawned  a  deluge  of  Embedded  Linux   Networking  Devices   Cisco  Linksys  WRT54GL  Wireless-­‐G   Broadband  Linux  Router  
  • 8. “Every  age  had  its  own  kind  of  war,  its   own  limi*ng  condi*ons,  and  its  own   peculiar  preconcep*ons”  –  Carl  von   Clausewitz,  German-­‐Prussian  Soldier  &   Military  Strategist  
  • 9. Real-­‐*me  Linux   •  Different  approaches   –  TimeSys  introduces  proprietary  Linux/RT  1.0       –  FSM  Labs  RTLinux  (commercially  licensed)     •  Real-­‐*me  kernel  running  Linux  as  a  low-­‐priority  thread   •  Posix  API  to  run  real-­‐*me  threads  from  User  Space   •  Under  15  micro-­‐second  response  (Year  2000)   •  Acquired  by  WindRiver  in  2007   –  MontaVista  worked  on  kernel  pre-­‐emp*on   •  Meanwhile  the  Linux  Kernel  developers  were   working  on  their  solu*on  
  • 10. Real-­‐*me  Linux   •  2000  –  Ingo  Molnar  and  Andrew  Morton  start  work  on  voluntary   pre-­‐empt  “CONFIG_PREEMPT_VOLUNTARY”   –  Reduce  worst-­‐case  interrupt  latencies   –  Break  lengthy  kernel  cycles  into  smaller  chunks  and  add  checks  to   common  causes  of  long  latencies   –  Rescheduling  if  an  interrupt  handler  has  set  the  “need_resched”  flag   –  Eventually  merged  in  Linux  Kernel  2.6   •  2001  –  Robert  Love  began  work  on  the  kernel  pre-­‐emp*on   “CONFIG_PREEMPT”   –  Ini*ally  based  on  MontaVista  patch       –  Target  low-­‐latency  apps  and  smooth  user  interac*on   –  Makes  kernel  pre-­‐emp*ble  like  user-­‐space,  allowing  higher  priority   tasks  to  run  -­‐  all  kernel  code  outside  of  spinlock-­‐protected  regions  and   interrupt  handlers  eligible  for  pre-­‐emp*on   –  Adopted  by  MontaVista  in  MVL  4.0  and  merged  with  Linux  Kernel  2.6  
  • 11. Controlling  a  laser  with  Linux  is  crazy,  but  everyone  in   this  room  is  crazy  in  his  own  way.  So  if  you  want  to  use   Linux  to  control  an  industrial  welding  laser,  I  have  no   problem  with  your  using  PREEMPT_RT.”  -­‐  Linus  Torvalds  
  • 12. Real-­‐*me  Linux   •  2005  –  Ingo  Molnar  and  others  began  work  on   CONFIG_PREEMPT_RT   –  Convert  Linux  Kernel  into  a  fully  pre-­‐emp*ble  kernel   •  In-­‐kernel  locking  primi*ves  made  pre-­‐emp*ble   •  Cri*cal  sec*ons  made  pre-­‐emp*ble  (crea*on  of  non-­‐pre-­‐ emp*ble  sec*ons  s*ll  possible)   •  Implemented  priority  inheritance  for  in-­‐kernel  spinlocks  and   semaphores   •  Converted  interrupt  handlers  to  pre-­‐emp*ble  kernel  threads   •  Converted  Linux  *mer  API  into  separate  infrastructures  for   high  resolu*on  *mers  and  *meouts     •  10  to  30  micro-­‐second  scheduler  and  interrupt  latencies    
  • 13. Real-­‐*me  Linux   •  Patches  for  Linux  2.6  Kernel  suppor*ng  Real-­‐*me   –  Preemp*ble  Interrupt  Handlers  in  Thread  Context   –  IRQ-­‐Disable  Virtualiza*on  for  Drivers   •  IRQ  threads  disabled  without  masking  hardware   –  Integrated  Kernel  Mutex  with  Priority  Inheritance  (PI)   •  Protec*on  of  Kernel  Cri*cal  Sec*ons  by  Preemp*ble  PI  Mutex   –  PI  Mutex  Subs*tuted  for  Non-­‐Preemp*ble  Kernel  (SMP)  Locks   •  Big  Kernel  Lock  (BKL)  converted  to  PI  Mutex   •  Spin-­‐Locks  converted  to  PI  Mutex   •  Read-­‐Write  Locks  converted  to  PI  Mutex   •  RCU  Preemp*on  Enhancements   –  High  Resolu*on  Timers   –  User-­‐Space  Mutex   •  Robustness/Dead-­‐owner/Priority  Queueing    
  • 14. ARM  is  Everywhere   •  Smartphones   •  Inexpensive  evalua*on   boards   –  BeagleBoards   –  BeagleBones   –  Raspberry  Pi   •  Now  also  coming  for   Servers   –  AMD  to  release  its  first   “Seaule”  ARM  Server   Chip  in  2014   Source:  hup://arstechnica.com/business/2012/08/from-­‐ altair-­‐to-­‐ipad-­‐35-­‐years-­‐of-­‐personal-­‐computer-­‐market-­‐share/  
  • 15. ARM  Linux   •  Started  out  in  1994  as  a  port  of  the  1.0.x  kernel  to  the   Acorn  5000   •  1999  Linux  2.2.0  –  ARM  architecture  added  to  mainline   •  Variety  of  architectures,  Kernel  Patches  and  drivers     –  Hardware  varies  from  SoC  to  SoC   –  Development  planorm  divergence   •  “ARM  Wrestling”   –  Grew  to  be  a  massive  collec*on  of  “subplanorms”   –  Managed  independently  by  different  developers     –  “ARM  support  is  a  labyrinthine  maze  of  wheels  within   reinvented  wheels”   •  Linaro  formed  in  2010  to  drive  common  development  and   integra*on  
  • 16. “I  think  the  more  serious  long-­‐term  issue  we  have  in  the   kernel  is  the  wild  and  crazy  embedded  planorm  code   (and  mostly  ARM  -­‐  not  because  ARM  is  in  any  way   fundamentally  crazier,  but  because  ARM  is  clearly  the   most  successful  embedded  planorm  by  far).  The   embedded  world  has  always  tended  to  eschew   standardized  planorms:  they've  been  resource   constrained  etc,  so  they've  done  very  tailored  chip  and   board  solu*ons,  and  felt  that  they  couldn't  afford  a  lot  of   planorm  abstrac*on.”  -­‐  Linus  Torvalds  –  May  2011  
  • 17. Mobile  Linux  …   2001/2002:     Sharp  Zaurus   SL-­‐5500  running   OpenZaurus  and   OPIE   SA-­‐1110  CPU  @   206  MHz,  64  MiB   RAM,  16  MiB   NOR     2003:   Motorola  A760   ARM  925  chip  (an   Intel  PXA270)  at   316  MHz,  48  MiB   flash  storage,   QVGA  (240  x  320)   touch  screen     2008:   HTC/T-­‐Mobile  G1     Qualcomm  MSM7210A   (ARM11)  processor  running  @   528  MHz,  256  MiB  NAND  flash   storage,  192  MiB  RAM,  3.2-­‐inch   touchscreen  (320  x  480).   Launched  with  Android  1.0   based  on  modified  Linux  2.6.25     2005:   Nokia  N770  Tablet     TI  OMAP  1710  @  252  MHz   64  MB  RAM,  128  MB  Flash   4.1  inch  touchscreen  (800  x   480).  Launched  on  Maemo/ Linux    
  • 18. …  and  Mobile  Linux  Consor*ums  
  • 19. Brief  Interlude:  Embedded  Filesystems   •  Ini*al  configura*ons   –  Expensive  NOR  Flash  for  Cri*cal  storage   –  Cheaper  and  denser  NAND  Flash  for  larger  capaci*es   –  NAND  flash  used  in  consumer  devices   •  Flash  usage  needed  “wear-­‐leveling”  to  spread  the  block  erases  evenly   •  Ini*al  Linux  support  for  read-­‐only  FS  (no  need  for  wear-­‐levelling)   –  CramFS  &  SquishFS   •  Since  Flash  connected  as  raw  memory  devices,  Linux  needed  to  handle  intelligently   for  RW  via  the  Linux  MTD  Interface  (Memory  Technology  Device)   –  JFFS2,  YAFFS2,  LogFS,  UBIFS   •  Smartphones  evolved  to  using  eMMC     –  Large  volume  of  NAND  storage  with  a  controller   –  Connect  as  block  devices   –  Use  flash  vendor’s  flash  wear-­‐leveling  algorithms     •  2012:  F2FS     –  SoWware  layer  to  handle  “smartness”  outside  the  Flash  Transla*on  Layer  (FTL)   –  Targeted  at  SSDs,  eMMC,  SD  Cards  and  other  Flash  storage  with  FTL     –  Flash  wear-­‐leveling  in  controller  
  • 20. Brief  Interlude:  Power  Management   •  Embedded  Linux  –  started  off  with  Routers,  etc.   “plugged  in”  devices  so  Power  Management  was  not  a   priority   •  PM  focused  mostly  on  Desktop/Laptop/Server  support     –  APM  (1992  Intel  &  MicrosoW)   •  PM  in  BIOS,  BIOS  HW  specific     •  Reduce  CPU,  turn-­‐off  Display,  disable  Harddisk  aWer  *me-­‐out   –  ACPI  (1996  v1.0  open  standard  industry  specifica*on)   •  OS  controls  PM,  BIOS  provides  API   •  Power  Management  cri*cal  for  Mobile  Phones  –   supported  on  ARM  SoCs  with  the  usual  fragmenta*on   •  Integra*ng  Power  Management  in  drivers  and  kernel  is   a  major  ac*vity  for  the  Mobile  OEM  
  • 21. Brief  Interlude:  Power  Management   •  Power  Management  mechanics   –  System  Suspend  –  User  forces  system  to  sleep   –  CPU  idle  –  Idle  thread  triggers  sleep  states   –  CPU  freq  –  CPU  frequency  scaling   –  Run*me  PM  –  Device  Power  Management   –  CPU  Hotplug  –  Remove  a  CPU  from  the  running  system  (ini*ally  used  for   Server  SMP  Linux  became  important  for  mul*-­‐core  ARM)   •  Due  to  a  lack  of  a  standard  like  ACPI,  ARM  SoCs  support  is  fragmented   –  ARM  SoCs  expose  a  lot  of  HW  knobs  to  SoWware,  directly  controlled  by  the  OS   drivers   –  Each  SoC  vendor  exposes  a  superset  of  standard  ARM  power  states  for  fine-­‐ grained  control,  increasing  complexity  of  SoC  enablement  code  and  peripheral   drivers   –  Different  approaches  to  OS  Power  Management  frameworks  due  to  a  lack  of   design  pauerns,  lack  of  common  infrastructure  and  intrinsic  HW  differences   –  Linaro  approach  to  integrate  and  unify  
  • 23. Android  “wakelock”   •  Default  state  is  to  suspend   •  Kernel  implementa*on  and  Android  user-­‐space  APIs   –  When  a  wakelock  of  type  “WAKE_LOCK_IDLE”  is  in  effect,   system  does  not  enter  Idle  (low  power)   –  When  a  wakelock  of  type  “WAKE_LOCK_SUSPEND”  is  in   effect,  system  will  not  suspend     •  Highly  controversial  feature,  mul*ple  patch   submissions  and  mailing  list  discussions  over  many   years   •  Compa*ble  solu*on  being  mainlined  in  later  Kernel  3.x   series  
  • 24. Is  Android  the  new  “Embedded   Linux”  ?    
  • 25. Android   “The  interes*ng  thing  about  Android’s  design  is  how  liule  we   modified  the  kernel.  Most  embedded  systems  on  which  I  have   worked  have  made  dras*c  changes  to  the  kernel,  only  to  leave   user-­‐space  alone  —  for  example,  a  heavily-­‐modified  “real*me”   kernel  but  X11  for  a  GUI.     Android  is  the  opposite:  Only  minimal  changes  to  the  kernel,   but  a  user-­‐space  wholly  unlike  that  of  any  other  Unix  system.   In  fact,  Android’s  user-­‐space  is  so  different  from  stock  Linux,   you  can  easily  say  that  Android  is  not  in  any  way  a  Linux   system,  except  for  the  kernel.”     -­‐  Robert  Love,  Google  Engineer  and  Kernel  Contributor   hup://www.forbes.com/sites/quora/2013/05/13/what-­‐are-­‐the-­‐major-­‐changes-­‐that-­‐android-­‐made-­‐to-­‐the-­‐linux-­‐kernel/  
  • 26. Android   •  ashmem  (Android  Shared  Memory),  a  file-­‐based  shared  memory  system   •  Binder,  an  inter-­‐process  communica*on  (IPC)  and  remote  procedure  call   (RPC)  system   •  logger,  a  high-­‐speed  in-­‐kernel  logging  mechanism  op*mized  for  writes   •  Paranoid  Networking,  a  mechanism  to  restrict  network  I/O  to  certain   processes   •  pmem  (Physical  Memory),  a  driver  for  mapping  large  chunks  of  physical   memory  into  user-­‐space   •  Viking  Killer,  a  replacement  OOM  killer  that  implements  Android’s  “kill   least  recently  used  process”  logic  under  low  memory  condi*ons   •  wakelocks,  Android’s  unique  power  management  solu*on,  in  which  the   default  state  of  the  device  is  sleep  and  explicit  ac*on  is  required  (via  a   wakelock)  to  prevent  that   •  The  usual  assortment  of  drivers,  ARM  architecture  ports,  and  other   associated  low-­‐level  code  necessary  to  support  Android  on  any  given   device   hup://www.forbes.com/sites/quora/2013/05/13/what-­‐are-­‐the-­‐major-­‐changes-­‐that-­‐android-­‐made-­‐to-­‐the-­‐linux-­‐kernel/  
  • 27. Android   •  Android  is  the  most  popular  Embedded  Linux   “distro”  today   •  From  hos*lity  to  gradual  adop*on   – E.g.  mainlining  of  selec*ve  Android  features  in   Linux  Kernel     – Ubuntu  “MIR”  display  server  across  Desktop/ Tablet/Phones  leverages  Android  display  drivers   and  architecture   – We  all  love  “adb”  
  • 28.
  • 30. Linaro   •  Not-­‐for-­‐profit  engineering   organiza*on  consolida*ng  and   op*mizing  open  source  Linux  soWware   and  tools  for  the  ARM  architecture   •  Focus  on  generic  ARM  technology   common  to  all  ARM  SoC  vendors   •  Focus  on  areas  that  interact  directly   with  silicon  like  Mul*media,  Graphics,   Power  Management,  Kernel  and  Boot   •  Maintenance,  up-­‐streaming  and   implementa*on  of  standards   •  Established  in  2010  by  ARM,  Freescale,   IBM,  Samsung,  ST-­‐Ericsson  and  Texas   Instruments  
  • 31. Yocto  Project   •  Not  an  embedded  Linux   distribu*on  –  Yocto  provides   tools  to  build  a  custom   embedded  Linux  distribu*on   •  Based  on  Poky,  OpenEmbedded   •  Provides  Linux  Kernel,  System   Libraries,  UI  Framework     •  Op*onal  Sato  user  interface   based  on  GNOME  Mobile  Stack    
  • 33. Genivi   •  Industry  non-­‐profit  alliance  to   drive  adop*on  of  open   source  In-­‐vehicle   Infotainment  development   planorm   •  Launched  in  Mar  2009   •  Linux-­‐based  kernel,  core   services,  middleware  and   open  applica*on  interfaces   •  Genivi  compliant  –  Tizen,   MontaVista  IVI,  Ubuntu   Remix  IVI,  WindRiver  IVI  
  • 34. Tizen   •  History  –  builds  on  SLP  from   LiMo,  formed  when  Intel  leW   Meego  to  join  Tizen   •  Open-­‐source,  standards   based  planorm  for   Smartphones,  Tablets,  In-­‐ vehicle  Infotainment   Devices,  Smart  TVs   •  Part  of  the  Linux  Founda*on   •  Devices  from  Samsung  “later   in  2013”  
  • 35. Ubuntu  for  Smartphones   •  Built  on  Ubuntu  Linux,   leverages  Android  Tech   •  HTML5  and  Na*ve   Apps  are  equal  ci*zens   •  Same  OS  across   devices,  same  OS   across  same  device  in   different  form  factors   •  OEM  Customizable   •  Phones  in  4Q2013/ early  2014  
  • 38. Not  to  forget  …  
  • 39. Firefox  Mobile   •  “Boot  to  Gecko”  -­‐>  Linux  +   Mozilla  Gecko   •  Web  as  the  Applica*on   Planorm   •  Leverages  HTML5  and   other  Web  Standards   •  Devices  launching  “soon”  
  • 40. Sources   Google  and  Wolfram  Alpha   hup://www.embedded-­‐linux.co.uk/embedded-­‐history   hup://www.arm.linux.org.uk/docs/history.php   hup://lwn.net/Ar*cles/437162/   hup://www.linuxjournal.com/ar*cle/5755   hup://en.wikipedia.org/wiki/Carl_von_Clausewitz   hups://rt.wiki.kernel.org/index.php/Main_Page   hup://elinux.org/images/b/ba/Elc2013_Rostedt.pdf   hups://lwn.net/Ar*cles/518988/   hup://en.wikipedia.org/wiki/Sharp_Zaurus   hup://en.wikipedia.org/wiki/Nokia_770_Internet_Tablet   hups://wiki.linaro.org/WorkingGroups/ PowerManagement   hups://www.kernel.org/doc/Documenta*on/cpu-­‐ hotplug.txt   hup://elinux.org/Power_Management   hup://www.itworld.com/mobile-­‐wireless/175829/arm-­‐ and-­‐linux-­‐major-­‐construc*on-­‐ahead   hup://arstechnica.com/business/2012/08/from-­‐altair-­‐to-­‐ ipad-­‐35-­‐years-­‐of-­‐personal-­‐computer-­‐market-­‐share/   hup://www.pcworld.com/ar*cle/2042267/amd-­‐slates-­‐ first-­‐arm-­‐server-­‐chip-­‐seaule-­‐for-­‐2014.html   hup://www.slideshare.net/opersys/is-­‐android-­‐the-­‐new-­‐ embedded-­‐embedded-­‐linux-­‐at-­‐embedded-­‐wordl-­‐2013   hups://wiki.linaro.org/WorkingGroups/ PowerManagement/Doc/Architecture   hup://www.forbes.com/sites/quora/2013/05/13/what-­‐ are-­‐the-­‐major-­‐changes-­‐that-­‐android-­‐made-­‐to-­‐the-­‐linux-­‐ kernel/   hup://training.linuxfounda*on.org/free-­‐linux-­‐training/ download-­‐training-­‐materials/history-­‐of-­‐embedded-­‐linux-­‐ and-­‐best-­‐prac*ces-­‐for-­‐gemng-­‐started   hup://en.wikipedia.org/wiki/Linux_Router_Project   hup://www.extremetech.com/extreme/155392-­‐ interna*onal-­‐space-­‐sta*on-­‐switches-­‐from-­‐windows-­‐to-­‐ linux-­‐for-­‐improved-­‐reliability   hup://www.linaro.org   hup://yoctoproject.org   hup://*zen.org   hup://www.ubuntu.com/phone   hups://github.com/kumadasu/*zen-­‐history/blob/ master/*zen-­‐history.pdf   hup://www.mozilla.org/en-­‐US/firefox/os/