SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Modern FreeBSD
Industrial Strength UNIX
Words: Robert Watson, University of Cambridge,
rwatson@FreeBSD.org


Editing, Presentation: Mark Blackman, mark@exonetric.com
What is FreeBSD - Technical
Open source BSD UNIX-derived OS

ISP server network server platform

   Yahoo!, Verio, NY Internet, ISC, ...

Appliance/product/embedded OS foundation

   Juniper JunOS, Nokia, Panasas, Timing Solutions,...

   VXWorks, Mac OS X, Netapp, Apple iOS

FreeBSD components in Solaris, BT Home hub.

One of the most successful open source projects

Focus on storage, networking, security
Unix_history-simple.svg
                                                                                              Pedigree                                                                                                   10/09/2010 22:28




         1969                                                                                  Unics                                                                                                             1969
                                                                                                                                                                            Open Source
    1971 to 1973                                                                                UnixTSS
                                                                                                 1 to 4                                                                                                       1971 to 1973
                                                                                                                                                                            Mixed/Shared Source
    1974 to 1975                                                                                UnixTSS
                                                                                                 5 to 6                                 PWB/Unix                                                              1974 to 1975
                                                                                                                                                                            Closed Source
         1978
                                                                                   BSD                                                                                                                            1978
                                                                                 1.0 to 2.0     UnixTSS
         1979                                                                                      7
                                                                                                                                                                                                                  1979
                                                                                                             Unix 32v

         1980
                                                                                   BSD                                                                                                                            1980
                                                                                 3.0 to 4.1                                               Xenix
         1981                                                                                                                           1.0 to 2.3      System III
                                                                                                                                                                                                                  1981
         1982
                                                                                                                                          Xenix                                                                   1982
                                                                                 BSD 4.2                                                   3.0
         1983                                                                                                 Sun OS                                    System V                                                  1983
                                                                                                              1 to 1.1                                  R1 to R2
         1984                                                                                                                          SCO Xenix
                                                                                                                                                                                                                  1984
                                                                   UnixTSS
         1985                                                         8                                                                SCO Xenix
                                                                                                                            AIX                         System V                                                  1985
                                                                                                                                         W286
         1986                                                                    BSD 4.3                                    1.0                            R3                                HP/UX
                                                                                                              Sun OS                                                                        1.0 to 1.2            1986
                                                                                                             1.2 to 3.0                SCO Xenix
         1987                                                      UnixTSS                                                               V386                                                                     1987
                                                                 (Time Sharing                                                                                                               HP/UX
         1988                                                       System)       BSD 4.3                                                               System V
                                                                                                                                                           R4                               2.0 to 3.0            1988
                                                                    9 to 10        Tahoe                                               SCO Xenix
         1989
                                                                                                                                         W386                                                                     1989
                                                                                  BSD 4.3
         1990                                                                      Reno                                                                                                                           1990
         1991                                                     BSD NET/2
                                  Linux 0.0.1                                                                                                                                                                     1991
                                                                                                             Sun OS
                          Minix                                                                                 4
                           1.x                    NEXTSTEP/         386BSD
                                                  OPENSTEP                                                                                                                                                        1992
         1992                                      1.0 to 4.0                                                                                                                                HP/UX
                                                                                                 NetBSD                                                                                      6 to 11
                                     Linux                                                      0.8 to 1.0                                                                                                        1993
                                  0.95 to 1.2.x                                     BSD                                                 SCO Unix
         1993                                                                      4.4 to                                                               Unixware
                                                                                                                                          3.2.4                                                                   1994
                                                                   FreeBSD        4.4 lite2                                                             1.x to 2.x
         1994                                                        1.0 to
         1995                                                        2.2.x                      NetBSD       OpenBSD                   OpenServer                                                                 1995
                                                                                                1.1 to 1.2   1.0 to 2.2                                                Solaris
         1996                                                                                                                AIX       5.0 to 5.04
                                                                                                                                                                      2.1 to 10                                   1996
                                                                                                                          3.x to 6.x
         1997                                                                                                                                                                                                     1997
                                                                                               NetBSD 1.3
        1998                                                       FreeBSD                                                                                                                                        1998
                                                                   3.0 to 3.2
                          Minix                                                                                                         OpenServer      Unixware
         1999              2.x                    Mac OS X                                                                             5.0.5 to 5.0.7      7.x
                                     Linux         Server
         2000                                                                                                                                                                                                     1999
                                  2.0 to 2.6.x                                                               OpenBSD
                                                                                                             2.3 to 4.x                                                                                           2000
                                                                    FreeBSD                     NetBSD
    2001 to 2004                                                    3.3 to 8.0                  1.3 to 5.x                                                                                                    2001 to 2004
                                                   Mac OS X                                                                                                                              HP/UX
         2005                                     10.0 to 10.6                                                                                                                         11i to 11i v3
                                                                                                                                       OpenServer                    OpenSolaris                                 2005
                          Minix                    (Darwin)
                           3.x                                                                                                            6.x                        2008.05 and
    2006 to 2010                                                                                                                                                        later                                 2006 to 2010



                                                                 http://commons.wikimedia.org/wiki/File:Unix_history-simple.svg
What is FreeBSD - Social
Global community of developers and users

   FreeBSD.org web site, mailing lists, forums

Academic research platform: Cambridge, Berkeley, Rice and others

Developer community: Core team, Committers, Ports maintainers, Contributors

User communities

   Some more or less involved in global community

Companies: find the BSD licence less demanding than GPL and contribute
back.
Modern Pressures

Multiprocessing now dominant paradigm
Convergence of hardware platforms
Granular security model requirements
Storage management
The evolving role and nature of open source
Threading
In the mid-1990's, it was unclear what concurrent
programming model would win.
maturing thread models in FreeBSD over the last decade
  pthreads project in the mid-1990's
  followed by KSE, an M:N threading model
  most recently, libthr.
Application models evolved, and simpler and less
concurrent 1:1 implementation offered greater benefit
Threading

FreeBSD engaged with Apple to adapt Grand Central
Dispatch (GCD)
builds on threads and the FreeBSD kqueue model
offers a more programmer-accessible, scalable,
programming model
Tracking Processor Changes

transition from instruction-centric to cache-centric
performance
support for newer and widespread RISC architectures (ARM,
MIPS, PowerPC, Sparc64)
Embedded systems with virtual memory support makes
FreeBSD an ideal fit
Parallel Hardware

 Ten years ago, FreeBSD ran on two-core systems,
 FreeBSD runs on 32-core systems, with 64,128-core
 configurations in our immediate future
 Giant locked kernel to granular, data-oriented locking
 (the very successful 10-year SMPng project).
 Continous R&D on algorithms and approaches for high
 core counts.
Parallel Hardware

 FreeBSD's performance in multiprocessing is cutting edge.

 Now developing a highly scalable network stack able to run on
 dozens(perhaps someday hundreds) of kernel threads. Collaborating
 with

   network vendors such as BlueCoat and Juniper

   hardware vendors such as Chelsio and Intel.

 Likewise, NUMA is becoming a reality.
Virtualization
 FreeBSD has lead and responded to trends
 FreeBSD's Jail model, introduced around ten years
 ago, led a revolution in OS-level virtualization, with
 imitators such as
   Solaris Zones
   Linux Virtual Servers ( OpenVZ/Virtuozzo, Linux-
   VServer, FreeVPS)
 Runs on Xen, Virtualbox as well.
Security models
UNIX model was powerful, but limiting
TrustedBSD Project, announced roughly ten years
ago.
Our MAC Framework allows flexible and extensible access control.

  Funded by DARPA, US Navy, Apple, McAfee and others.

  extend the OS model without modifying the OS. ie. sandboxing
  in iPhone OS apps, JunOS routers.

  Relied on throughout military, industry, academia
Security Models

Companies like Apple, Juniper, and McAfee use MAC
framework extensively to

  provide alternative access control models, such as
  sandboxing, for third-party code,

  build system assurance.

Capsicum: “capability” oriented security, out of Cambridge,
collaboration with Google, possible ChromeOS component.
Storage


advancing the UFS file system over the last decade
GEOM framework, developed under sponsorship
from DARPA in the early 2000's
ported Sun's ZFS file system to FreeBSD
Development/Introspection

new clang/LLVM compiler suite
Coverity's Prevent static analysis tool
FreeBSD has ported Sun's DTrace
userspace Dtrace support coming.
hardware performance monitoring counters support
Kernel  debugging tools
Spinoffs
 Customize FreeBSD's powerful OS core

 The open source side has greatly expanded our user reach as
 an open source system.   

   PC-BSD, a desktop-oriented system.

   pfSense, a firewall system.

   FreeNAS, a network attached storage system.  

 FreeBSD integrates back core OS features.
Open Source Project
Management	
Project growth

FreeBSD's social organization

Elected core team model

Huge OS development projects, c.f. SMPng

Delegated project leadership structure

No more “core team”

CVS to Subversion.  

Perforce
Summary

While the outside looks much the same, under the
hood FreeBSD is a modern OS by any definition.
Commercial cooperation at all levels has enhanced
FreeBSD beyond what an “open source only” approach
permits.
Cutting edge research.
The biggest open source project you’ve never heard of.

Weitere ähnliche Inhalte

Kürzlich hochgeladen

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Kürzlich hochgeladen (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

Empfohlen

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

Empfohlen (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Modern FreeBSD (at Opentech 2010)

  • 1. Modern FreeBSD Industrial Strength UNIX Words: Robert Watson, University of Cambridge, rwatson@FreeBSD.org Editing, Presentation: Mark Blackman, mark@exonetric.com
  • 2. What is FreeBSD - Technical Open source BSD UNIX-derived OS ISP server network server platform Yahoo!, Verio, NY Internet, ISC, ... Appliance/product/embedded OS foundation Juniper JunOS, Nokia, Panasas, Timing Solutions,... VXWorks, Mac OS X, Netapp, Apple iOS FreeBSD components in Solaris, BT Home hub. One of the most successful open source projects Focus on storage, networking, security
  • 3. Unix_history-simple.svg Pedigree 10/09/2010 22:28 1969 Unics 1969 Open Source 1971 to 1973 UnixTSS 1 to 4 1971 to 1973 Mixed/Shared Source 1974 to 1975 UnixTSS 5 to 6 PWB/Unix 1974 to 1975 Closed Source 1978 BSD 1978 1.0 to 2.0 UnixTSS 1979 7 1979 Unix 32v 1980 BSD 1980 3.0 to 4.1 Xenix 1981 1.0 to 2.3 System III 1981 1982 Xenix 1982 BSD 4.2 3.0 1983 Sun OS System V 1983 1 to 1.1 R1 to R2 1984 SCO Xenix 1984 UnixTSS 1985 8 SCO Xenix AIX System V 1985 W286 1986 BSD 4.3 1.0 R3 HP/UX Sun OS 1.0 to 1.2 1986 1.2 to 3.0 SCO Xenix 1987 UnixTSS V386 1987 (Time Sharing HP/UX 1988 System) BSD 4.3 System V R4 2.0 to 3.0 1988 9 to 10 Tahoe SCO Xenix 1989 W386 1989 BSD 4.3 1990 Reno 1990 1991 BSD NET/2 Linux 0.0.1 1991 Sun OS Minix 4 1.x NEXTSTEP/ 386BSD OPENSTEP 1992 1992 1.0 to 4.0 HP/UX NetBSD 6 to 11 Linux 0.8 to 1.0 1993 0.95 to 1.2.x BSD SCO Unix 1993 4.4 to Unixware 3.2.4 1994 FreeBSD 4.4 lite2 1.x to 2.x 1994 1.0 to 1995 2.2.x NetBSD OpenBSD OpenServer 1995 1.1 to 1.2 1.0 to 2.2 Solaris 1996 AIX 5.0 to 5.04 2.1 to 10 1996 3.x to 6.x 1997 1997 NetBSD 1.3 1998 FreeBSD 1998 3.0 to 3.2 Minix OpenServer Unixware 1999 2.x Mac OS X 5.0.5 to 5.0.7 7.x Linux Server 2000 1999 2.0 to 2.6.x OpenBSD 2.3 to 4.x 2000 FreeBSD NetBSD 2001 to 2004 3.3 to 8.0 1.3 to 5.x 2001 to 2004 Mac OS X HP/UX 2005 10.0 to 10.6 11i to 11i v3 OpenServer OpenSolaris 2005 Minix (Darwin) 3.x 6.x 2008.05 and 2006 to 2010 later 2006 to 2010 http://commons.wikimedia.org/wiki/File:Unix_history-simple.svg
  • 4. What is FreeBSD - Social Global community of developers and users FreeBSD.org web site, mailing lists, forums Academic research platform: Cambridge, Berkeley, Rice and others Developer community: Core team, Committers, Ports maintainers, Contributors User communities Some more or less involved in global community Companies: find the BSD licence less demanding than GPL and contribute back.
  • 5. Modern Pressures Multiprocessing now dominant paradigm Convergence of hardware platforms Granular security model requirements Storage management The evolving role and nature of open source
  • 6. Threading In the mid-1990's, it was unclear what concurrent programming model would win. maturing thread models in FreeBSD over the last decade pthreads project in the mid-1990's followed by KSE, an M:N threading model most recently, libthr. Application models evolved, and simpler and less concurrent 1:1 implementation offered greater benefit
  • 7. Threading FreeBSD engaged with Apple to adapt Grand Central Dispatch (GCD) builds on threads and the FreeBSD kqueue model offers a more programmer-accessible, scalable, programming model
  • 8. Tracking Processor Changes transition from instruction-centric to cache-centric performance support for newer and widespread RISC architectures (ARM, MIPS, PowerPC, Sparc64) Embedded systems with virtual memory support makes FreeBSD an ideal fit
  • 9. Parallel Hardware Ten years ago, FreeBSD ran on two-core systems, FreeBSD runs on 32-core systems, with 64,128-core configurations in our immediate future Giant locked kernel to granular, data-oriented locking (the very successful 10-year SMPng project). Continous R&D on algorithms and approaches for high core counts.
  • 10. Parallel Hardware FreeBSD's performance in multiprocessing is cutting edge. Now developing a highly scalable network stack able to run on dozens(perhaps someday hundreds) of kernel threads. Collaborating with network vendors such as BlueCoat and Juniper hardware vendors such as Chelsio and Intel. Likewise, NUMA is becoming a reality.
  • 11. Virtualization FreeBSD has lead and responded to trends FreeBSD's Jail model, introduced around ten years ago, led a revolution in OS-level virtualization, with imitators such as Solaris Zones Linux Virtual Servers ( OpenVZ/Virtuozzo, Linux- VServer, FreeVPS) Runs on Xen, Virtualbox as well.
  • 12. Security models UNIX model was powerful, but limiting TrustedBSD Project, announced roughly ten years ago. Our MAC Framework allows flexible and extensible access control. Funded by DARPA, US Navy, Apple, McAfee and others. extend the OS model without modifying the OS. ie. sandboxing in iPhone OS apps, JunOS routers. Relied on throughout military, industry, academia
  • 13. Security Models Companies like Apple, Juniper, and McAfee use MAC framework extensively to provide alternative access control models, such as sandboxing, for third-party code, build system assurance. Capsicum: “capability” oriented security, out of Cambridge, collaboration with Google, possible ChromeOS component.
  • 14. Storage advancing the UFS file system over the last decade GEOM framework, developed under sponsorship from DARPA in the early 2000's ported Sun's ZFS file system to FreeBSD
  • 15. Development/Introspection new clang/LLVM compiler suite Coverity's Prevent static analysis tool FreeBSD has ported Sun's DTrace userspace Dtrace support coming. hardware performance monitoring counters support Kernel  debugging tools
  • 16. Spinoffs Customize FreeBSD's powerful OS core The open source side has greatly expanded our user reach as an open source system.    PC-BSD, a desktop-oriented system. pfSense, a firewall system. FreeNAS, a network attached storage system.   FreeBSD integrates back core OS features.
  • 17. Open Source Project Management Project growth FreeBSD's social organization Elected core team model Huge OS development projects, c.f. SMPng Delegated project leadership structure No more “core team” CVS to Subversion.   Perforce
  • 18. Summary While the outside looks much the same, under the hood FreeBSD is a modern OS by any definition. Commercial cooperation at all levels has enhanced FreeBSD beyond what an “open source only” approach permits. Cutting edge research. The biggest open source project you’ve never heard of.

Hinweis der Redaktion

  1. - embedded now uses similar technologies to servers - SMP dominance - (which motivates SMPng, GCD, ...) - ZFS and UFS improvements - we've lead the way in identifying how open source projects should run, and what they should do, but have done a lot of experimentation to get there
  2. 1:1 - simplifying scheduler data structures and allowing them to use more complex heuristics
  3. GCD - a new concurrent programming framework, answers mapping of M:N to 1:1 we switched from M:N to 1:1 to simply the scheduler / threading code, and because it appeared that application writers were generally choosing to use small thread pools (say, 2-100 threads) rather than using very large numbers. In part because Linux used 1:1 and you couldn't get it to create very large thread counts
  4. Apple’s FreeBSD-derived iOS on iPhone and Ipad FreeBSD-derived JunOS running on low-power switches
  5. Recent work on algorithms and approaches that scale to high core counts through complex work distribution, and hardware-assisted work distribution on high-performance network cards
  6. 1. as benchmarks over the last few years have shown, and we continue to aggressively exploit new parallelism.   2. and our kernel memory allocator has recently been updated to introduce NUMA-awareness.
  7. 1. for many evolving applications such as firewall appliances and smartphones.
  8. 3. Most recently, we've announced the Capsicum project, developed in collaboration with Google, to support capability-oriented OS security. 4. capiscum cutting edge, best paper
  9. 64-bit support snapshots background file system checking extended attributes advanced security features such as ACLs and MAC and most recently, journaling 2. allows easily pluggable and extensible storage transforms, * storage multipathing * new RAID integration * full file-system journaling and * replication for fault tolerance.   3. with its self-healing and management features
  10. 1. we even have our own Prevent server system and actively re-analyze our source code nightly.   2. offering introspection tools for performance and behavioural analysis 3. allows similar analysis of userspace applications the FreeBSD foundation is sponsoring Rui Paulo to complete this. 4. make FreeBSD one of the best OS platforms for kernel feature development, including a. integrated debugging b. dynamic lock order analysis Talked to many developers who actually write their Linux kernel code on FreeBSD so that they can use the debugging tools, before porting to Linux!
  11. Commercial vendors have always done this: NetApp, Juniper, Apple, Isilon, Panasas, ...
  12. 1. Dealing with project growth has been a critical challenge, both socially and technically.   1a. A social experiment that has proven extremely successful, allowing us to renew project leadership over time. 2. Roughly ten years ago, we moved for the first time to an 3. including the very interesting SMPng project, which involved dozens of developers (and companies) collaborating to improve multiprocessor scalability. 4.  in which chartered teams take responsibility for portions of the project's work: release engineering, application porting, security advisories, system adminstration, bug-busting, documentation, etc, 5. Moving away from the idea that a small "core team" of developers does it all. 6. CVS: many extensions --> Subversion: few extensions 7. as a way to improve our branched development methodology for side-projects with long life cycles, as well as supporting dozens of summer students each year sponsored by Google 8. Our most recent developer summit at BSDCan 2010 in Ottawa had over 100 attendees including developers and invited guests from various companies.  That's a good bit bigger than the 15-20 (?) folks at the first developer summit at the 2001 USENIX ATC in Boston. 9. Warner’s audit of all involved licenses should be mentioned also.