Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How I Learned to Stop Worrying and Love the Linux

Avatar for Helen Helen
February 28, 2017

How I Learned to Stop Worrying and Love the Linux

An insane general triggers a path to proprietary holocaust that a war room full of software engineers and architects frantically try to stop.

Avatar for Helen

Helen

February 28, 2017
Tweet

More Decks by Helen

Other Decks in Programming

Transcript

  1. Helen Tabunshchyk • MSc in Computer Engineering • Senior Software

    Developer • In industry since 2011 • Now specializing in high performance • Commercial experience: C, C++, Python, Boost, OpenCV, Qt, AMQP, RDBMS, NoSQL, Linux <3, #ihavenospaceleft • Also into: VHDL, Erlang, Rust, machine learning, embedded, robotics and other fun stuff
  2. • 1969: Ken Thompson, Dennis Ritchie and others started working

    on the "little- used PDP-7 in a corner" at Bell Labs and what was to become UNIX. • 1973: It was rewritten in C. This made it portable and changed the history of OS’s. • Its architecture did not change much till now (2017 AD, i.e. 47 years).
  3. The Unix Philosophy (c) Doug McIlroy • Make each program

    do one thing well. • Expect the output of every program to become the input to another, as yet unknown, program. • Design and build software to be tried early. • Use tools in preference to unskilled help to lighten a programming task.
  4. “The whole philosophy of UNIX seems to stay out of

    assembler.” (c) Joseph Henry Condon
  5. GNU

  6. • 1983: Richard Stallman started the GNU project with the

    goal of creating a free UNIX-like operating system. • Freedom rights: users are free to run the software, share it (copy, distribute), study it and modify it. • By the early 1990s the GNU kernel failed to attract enough development effort, leaving GNU incomplete.
  7. • 1987: MINIX, a Unix-like system intended for academic use,

    was released by Andrew S. Tanenbaum to exemplify the principles conveyed in his textbook, Operating Systems: Design and Implementation. • While source code for the system was available, modification and redistribution were restricted.
  8. • 1991: The Linux kernel is publicly announced by the

    21-year-old Finnish student Linus Benedict Torvalds. • 1992: The Linux kernel is relicensed under the GNU GPL. The first Linux distributions are created. • 1994: 150,000 lines of code. • 2017: 25+ million lines of code.
  9. • 95% of all supercomputers • 37% of websites •

    87.5% of global smartphone market share (Android) • 4% of desktop systems
  10. • Intel 80386 • 2 megabytes of RAM • Any

    video card Minimum as in 1992
  11. • Linux Security Modules (SELinux, AppArmor, Smack, TOMOYO Linux and

    Yama) • Firewall • Memory protection • chroot’ing a process Linux Is a Fine-tunable System
  12. • More than 600 penetration testing tools included • Custom

    kernel, patched for wireless injection • Developed in a secure environment • GPG signed packages and repositories • Single user, root access by design • Network services (incl. bluetooth) disabled by default Kali Linux
  13. • The central resource for open source software information, best

    practices, how-to’s: linux.com. • The Linux Foundation YouTube channel: youtube.com/user/TheLinuxFoundation. • The Art of Unix Programming. Book by Eric Steven Raymond. • Systems Performance: Enterprise and the Cloud. Book by Brendan Gregg. • Understanding the Linux kernel. Book by Daniel P. Bovet and Marco Cesati. • Tech Blog “High Scalability”: highscalability.com. Recommended Resources