리눅스 소개

2023. 12. 17. 01:23b정리/모던 리눅스 교과서

728x90
반응형

리눅스는 모바일 디바이스부터 클라우드에 이르기까지 모든 분야에서 가장 널리 사용되는 운영체제다. 모던 리눅스의 모던이라는 단어가 무엇을 의미하는지를 이해하고, 리눅스 배경을 개괄적으로 정리한다.

모던 환경이란

클라우드 컴퓨팅, 라즈베리 파이, 도커(or 쿠버네티스)와 같은 환경을 의미할 수도 있다.

  • 모바일 디바이스

대다수의 전화기 태블릿은 리눅스의 변형인 안드로이드OS를 탑재하고 있다. 이러한 환경은 전력 소비나 견고성에 있어 요구사항이 매우 까다롭다.

  • 클라우드 컴퓨팅

클라우드를 통해 모바일이나 초소형 공간과 유사한 패턴을 대규모로 확인할 수 있다. 

  • 사물인터넷

스마트 자동차, 센서, 드론 등 이들 환경은 모바일 디바이스보다 전력 소비에 대한 요구사항이 훨씬 더 까다롭다. 

이러한 환경은 실시간 기능이 중요하다.

  • 프로세서 아키텍처의 다양성

인텔 x86 아키텍처, ARM 아키텍처, RISC-V 등 다양한 아키턱처와, GO, RUST 같은 다중 아키텍처 프로그래밍 언어와 도구가 점점 더 늘어나고 있다.

리눅스 역사

1990년대

리눅스는 리누스 토르발스의 프로젝트로 시작하여 유닉스/GNU 소프트웨어를 실행할 수 있게 만들겠다는 목표로 시작됐다. 1990년대의 최초 사용 제품은 레드햇 리눅스가 등장했다.

 

2000년대부터 2010년까지

이 시기 리눅스는 구글, 아마존, IBM 같은 거대 기업이 속속 도입을 추진하며 성장, 이는 배포판 전쟁의 정점을 찍는다. 

https://www.technewsworld.com/story/30-years-of-linux-history-told-via-distros-87239.html

 

30 Years of Linux History Told via Distros

Linux entered the world of technology with little more than a kernel to call its own. That was the intent of a young computer science student from Helsinki named Linus Torvalds in doing this personal fun project. In 1991, he created code that would become

www.linuxinsider.com

Happy Birthday, Linux. At 30 years old, you have made quite a reputation for yourself. Having spirited the rise of open-source software, you have turned the world of proprietary computing upside down.

Of course, you had a bit of a premature start. You entered the world of technology with little more than a kernel to call your own. That was the intent of a young computer science student from Helsinki named Linus Torvalds in doing this personal fun project. In 1991, he created your code that would become the basis for a completely new approach to operating systems for computers.

The rest of that story, as they say, is history.

You suffered a name change at first. You started out being called Freax, as in “free,” “freak,” and “x” (referencing the Unix computer OS). But eventually, your creator came around to sharing his own lineage with you, christening you Linux.

Linus and his would-be computer cohorts propped you up with other code components to talk to. That combination formed a growing list of Linux distributions to power a variety of free computer operating systems.
Among the first was in 1992 was Slackware created by Patrick Volkerding. You both made a big hit for years holding an 80 percent share of the non-proprietary computer market. A few years later you had some great company. Some of Slackware’s popularity slid away, though, with the arrival of Red Hat Linux. But your kernel remained the soul of what makes Linux, well — Linux.

In 1992, four dudes — Thomas Fehr, Roland Dyroff, Burchard Steinbild, and Hubert Mante — introduced you to a new playmate called the Suse Project. That creation formed Suse Linux. A few years later Suse spawned separate commercial desktop and server enterprise editions. OpenSuse joined the relatives as the free open-source version.

More Family Diversity
Debian joined the family lineage as one of the first full-fledged Linux distributions in August 1993, created by Ian Murdock. It took him three more years to release the first stable version. What made your Debian cousin so significant was Murdock’s design for a Linux distro anyone could download and use for free. He eliminated the need for users to compile their own applications from source files.

Murdock made Debian Linux user-friendly and easy to adopt by using a live CD. This made it possible for new adopters to check out Linux without actually installing it to run it.

Business users got a special adoption boost when Red Hat Linux, which was released in 1995, debuted the Red Hat Enterprise Linux (RHEL) in 2003 as a paid support distro. Business-minded home users experienced a free community edition. Fedora became the proving ground for many of the features promoted to the RHEL releases.
In 2000, Daniel Robbins brought into the Linux world Gentoo Linux. It targeted developers and enterprise users with a strong connection to an alternative Unix-like BSD operating system that made managing networks easier.

That same year, Judd Vinet introduced the world to Arch Linux. It was based on the concept of rolling updated components into existing installations so major re-installation milestones were eliminated. This advanced concept geared the new distro toward more experienced users who were better equipped to handle the more complicated maintenance and configurations Arch coding required.

A Touch of Modern
A major development in the adoption of the Linux OS for both industry and home occurred in 2004 with the release of Ubuntu Linux. Its founder, South African mogul Mark Richard Shuttleworth, developed Ubuntu to be an easier, friendlier way to use the young Linux OS. His company targeted home and SMB users along with major enterprise companies.

A newer entrant to modernizing Linux’s popularity is the Linux Mint distribution. Started in 2006 by Clément Lefèbvre, it is based on Ubuntu and is intended to be very user-friendly and is especially good for beginners.
Linux Mint came about as a result of a major design change in Ubuntu. Lefèbvre succeeded in picking up where Ubuntu diverted. One of its mainstays is the in-house development of the Cinnamon desktop environment.

Another reason for Linux Mint’s growing popularity is its blending of some proprietary software to enhance user convenience in installing available options themselves. Other modern Linux distros do this as well. But Linux Mint makes this a focal point of its UI standard.

Seemingly Limitless Options
Depending on the counting process and source, the actual number of Linux distributions is far more expansive today than in the first two decades of the Linux kernel. Some sources put that number at over 600 Linux distros with about 500 in active development. Still, other sources asses the number of Linux distros to exceed 1,000.

It all depends on how you categorize the vast variety of form factors ranging among desktops, servers, laptops, netbooks, mobile phones, and tablets. Some distros are staffed by a single developer. Others encompass large communities of volunteers, designers, coders, and testers globally. It seems that for every Linux distro that goes inactive or fully disappears, one or more newcomers fill in the gap.

All of this is the result of you, Mr. Birthday Linux. Your power and influence are awesome!

Inclusion With Diversity
The Linux OS unwittingly became a place for every possible old and new computing concept. Distro developers made many releases that mimicked and improved features and innovations from other distros. Depending on the whims of the Linux developers, different distros were offered for different folks’ computing styles.
Two primary developmental pathways emerged. Either a new distro release would follow the design and operational philosophy of a particular Linux family — be it Gentoo, Arch, Debian, Suse, Fedora, etc. — or it would be an independent offering not based on any particular Linux family. Also, sub-families exist in Linux.

For Instance, a distro could be based on one major family line but create some of its own unique elements. Consider that a very popular Linux line is Ubuntu, which is technically based on Debian. Newer distros came along that were based directly on Ubuntu rather than the broader Debian ecosystem.

Part of the derivative distro would be the unique application choices bundled in the release. Some derivatives lack access to many of the larger Linux families’ software repositories. Others have different update processes and package management tools for adding software.

Another distinguishing component with the Linux OS is the concept of desktop environments. Some distros offer only one chosen desktop. Others provide a large collection of desktop options. Some distros are lightweight, meaning they run on older hardware that needs less RAM and less powerful internal components.

These scaled-down designs often rely on window managers instead of fully-featured desktop environments. Much of the same can be said about the structure and operating components built into independent Linux distros as well.

Designing Factors
This is what distinguishes the Linux OS from other alternatives like macOS and Windows operating systems. The operating environment can be classic Linux in design. It can be minimal, or it can be something more feature packed. It all comes down to the user interface (UI) and user preferences.

Just as distro developers slice and dice the UI and Linux family components, so do they often modify existing features in the desktop design. So two different distros running the same desktop environment can be very different.

Not every Linux distro runs the same Linux kernel, either. Some distro developers stave off potential compatibility issues with the newest kernel releases by waiting for a release cycle or two of their own distro products. Other distro developers base their latest distro upgrade around a just-released kernel version.

Adding a Modern Touch
The Linux kernel, though 30 years old as the heart of the Linux OS, is not the same today than it was in its infancy. Torvalds oversees an ongoing process of updating the Linux kernel to provide better hardware, software, and security reliability.

In the same way that Linux kernel developers and distro maintainers update, modify, and improve (or sometimes worsen) the performance, so do desktop environment communities. Once popular designs and functionalities can fall out of favor. Design changes can send users screaming to other options within Linux.

That, too, is the power and flexibility that Linux acquired over these last three decades.

So once again, Happy Birthday Linux. You have had great success with dominating enterprise-server jobs and taking over cloud computing.

Still, you have yet to give us the Year of the Linux Desktop, though. But keep growing. Hopefully, you will have reason to celebrate that fete at an upcoming birthday.

The options you provide make modern Linux an operating system like no other. You even have established your family ties in Android and Chrome OS. But those are accolades for other birthday celebrations.

 

2010년 이후 오늘날까지

데이터 센터, 클라우드, IoT, 스마트폰 등 여러 분야에서 활용되어 왔다. 요즘은 대부분이 사용은 레드햇이나 데비안 기반이 많이 사용되고 있다. 컨테이너의 급부상이 이러한 발전을 촉발시켰다고 볼 수 있다.

운영체제는 왜 필요한가

인터렙터 처리, I/O 디바이스와의 통신, 파일 관리, 네트워크 스택 구성이 관리 등 OS가 없다면 모두 작업을 직접 처리해야 한다. 하지만 OS에서 API를 제공해서 하드웨어를 제어할 수 있게 해준다. 

https://distrowatch.com/

 

DistroWatch.com: Put the fun back into computing. Use Linux, BSD.

Rate this project The Manjaro Linux team has published a new snapshot of the project's rolling-release distribution. The new 23.1.0 release offers up to date desktop environments with the main editions offering GNOME 45, KDE Plasma 5.27, and Xfce 4.18. "On

distrowatch.com

리소스 가시성

리눅스는 전역 보기를 지원한다. 유닉스와 확장 리눅스에서는 "모든 것이 파일(everything is a file)"이라는 말을 들어봤을 것이다. 리소스란 소프트웨어 실행을 지원하는 데 사용할 수 있는 모든 것으로 간주한다. 하드웨어와 그 추상화, 파일시스템, 하드 디스크 드라이브, 프로세스, 디바이스나 라우팅 테이블 같은 네트워킹 관련 항목, 사용자를 나타내는 자격증명이 포함된다. 

 

리소스는 전역 보기와 로컬 보기, 가상화된 보기가 존재한다.

 

여러 사용자나 프로세스가 병렬로 실행된다는 환상은 리소스에 대한 가시성에서 일부 비롯된다. 리소스에 대한 로컬 보기는 네임스페이스로 구현된다. 격리는 커널의 cgruop을 통해 구현된다. 또한 가성머신이나 컨테이너를 통해서도 앱이 완전히 독립적인 것처럼 구현한다.

 

$$란 무엇인가
현재 프로세스를 의미하는 특수 변수이다. 셀 안에서는 $$는 명령을 입력한 셸의 프로세스 ID다.

 

POSIX
유닉스 운영체제용 서비스 인터페이스를 정의하는 IEEE 표준을 의미한다.

참고사이트:

https://product.kyobobook.co.kr/detail/S000210138053

 

모던 리눅스 교과서 | 마이클 하우센블라스 - 교보문고

모던 리눅스 교과서 | '허구한 날 반복해서 사용하는 레거시 명령 말고 생산성을 높일 수 있는 최신 기능을 간결하게 익힐 수는 없을까?' - 리눅스를 오래 사용해온 숙련된 엔지니어 '리눅스를 따

product.kyobobook.co.kr

https://corecursive.com/brian-kernighan-unix-bell-labs1/#my-first-day-at-bell-labs

 

The Birth of UNIX - CoRecursive Podcast

When you work on your computer, there are so many things you take for granted: operating systems, programming languages, they all have to come from somewhere.In the late 1960s and 1970s, that somewhere was Bell Labs, and the operating system they were buil

corecursive.com

https://stevens.netmeister.org/631/

 

Advanced Programming in the UNIX Environment

Advanced Programming in the UNIX Environment CS631 - APUE Course Outline In this course, students will learn to develop complex system-level software in the C programming language while gaining an intimate understanding of the Unix operating system (and al

stevens.netmeister.org

 

반응형

'b정리 > 모던 리눅스 교과서' 카테고리의 다른 글

리눅스 커널  (0) 2023.12.26