hoon's bLog

리눅스 실무의 이해 | 리눅스의 개요 1 본문

IT/Linux Master 1급

리눅스 실무의 이해 | 리눅스의 개요 1

개발한기발자 2021. 8. 5. 00:02
반응형

1. 운영체제의 개요

  • 컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어로 사용자가 프로그램을 수행할 수 있는 환경을 제공.
  • 좁은 의미는 하드웨어와 응용 프로그램간의 다리 역할을 하는 커널을 의미, 넓은 의미에서는 커널, 미들웨어, 응용 프로그램 실행 환경과 사용자 인터페이스 프레임워크를 모두 포괄하여 정의
  • 주목적은 컴퓨터 시스템을 편리하게 이용하는 것에 있고, 추가적인 목적은 PCU, 주기억장치, 입출력장치 등의 컴퓨터 하드웨어를 효율적으로 관리하는 데 있음.

 

2. 운영체제의 이해

1). 운영체제의 주요 역할

  • 하드웨어 제어
  • 작업의 순서 정함, 입출력 연산 제어
  • 프로그램 실행 제어, 데이터 및 파일 저장 관리
  • 사용자들 간의 하드웨어 자원 공유
  • 시스템 자원을 스케줄링하여 효율적으로 활용
  • 입출력을 쉽게 하는 기능을 제공
  • 응용 프로그램의 작성과 실행을 편리하게 함.
  • 오류의 발생을 막고 복구 지원
  • 데이터의 조직화, 네트워크 통신 처리 기능을 수행
  • 편리한 사용자 인터페이스 제공

2). 최근 운영체제의 주요 특징

  • 다중 사용자 시스템
  • 다중 작업 시스템
  • 강력한 네트워크 지원
  • 편리한 사용자 인터페이스 제공
  • 계층적 파일 시스템 운영
  • 가상 메모리 지원
  • 고성능의 프로세서에 최적화
  • 개방형 운영체제화
  • 뛰어난 이식성 지원
  • 가상화 기술 지원

 

3. 운영체제의 역사

  • 1940년대 : 초기전자식 디지털 컴퓨터. 운영체제 x 단순한 기계적인 스위치
  • 1950년대 : 단순순차철리. 한 번에 오직 하나의 작업만 수행. 단일 프름 일괄처리
  • 1960년대 : 다중프로그래밍. 멀티프로그래밍, 멀티프로세싱 개념 대두, 시분할 처리 개념 때두, 데이터 통신 지원
  • 1970년대 : 다중 모드 시분할. 일괄처리, 시분할 및 실시간 처리의 보편화. 범용 시스템 개념 도입
  • 1980년대 : 분산네트워크. 데이터베이스 활용 확대. 서버 클라이언트 모델 확대. 운영체제 기능들이 하드웨어에 포함된 펌웨어 개념 대두
  • 1990년대 : 병렬계산과 분산계산. 중앙집중식이 아닌 분산으로 발전
  • 2000년대 ~ 현재 : 모바일/임베디드. 다양한 기능 확장성, 호환성 극대화, 다양한 통신망 확대, 개방형 시스템 발달.

 

4. 운영체제(OS)의 종류

 1). 운영체제의 분류

  • 서버 OS: 하나의 서버에 다수가 접속하는 환경 기반으로 웹 서버, 메일 서버, DNS 서버 등에 이용되는 운영체제
  • 데스크톱 OS : 개인용 컴퓨터에 탑재되는 운영체제로 한 명의 유저에게 편리하고, 사용하기 쉽고, 다양한 응용 프로그램을 제공하는 것이 주된 특징
  • 모바일 및 임베디드 : 휴대폰, PDA, 스마트폰, 태블릿 등과 같은 정보기기에 탑재되는 운영체제

 

 2). 주요 서버 및 데스크톱 운영체제

유닉스

  • 켄 톰슨 및 데니스 리치에 의해 만들어짐
  • System V : IBM, HP, Sun Microsystems, SGI 등
  • BSD(Berkeley Software Distribution) : NetBSD, Free BSD, OpenBSD, SunOS, NextStep, Mac OS X, GNU/Linux
  • 다중 사용자 및 다중 작업 지원
  • 강력한 네트워크 지원
  • 뛰어난 이식성 및 확장성
  • 계층적 파일 구조
  • 가상 메모리 및 공유 라이브러리 지원

Windows

  • 빌 게이츠와 폴 앨런이 설힙한 마이크로소프트가 만듬
  • 그래픽 기반의 운영체제 개발에 착수하는데 이 프로젝트의 이름은 '인터페이스 매니저'

Mac OS X

  • 스티브 잡스와 스티브 워즈니악
  • 마우스를 사용하는 GUI 방식에 관심을 가지게 되고, '리사 프로젝트'를 진행.
  • 또 다른 운영체제 프로젝트 '매킨토시 프로젝트'
  • OS X는 기존 'MAC OS 9'를 업그레이드 한 것이 아닌, BSD 유닉스 기반으로 만든 '넥스트스텝'을 확장하여 만든 것.

 

 3). 모바일 운영체제

  • 넓은 의미의 운영체제로 커널과 하드웨어 드라이버, 미들웨어, 응용 프로그램 실행 환경, 사용자 인터페이스 프레임워크를 제공
  • 특정 운영체제에서만 제공하는 검색엔진, 클라우드 서비스 등을 포함하면서 차별화를 시도.

 

 4). 리눅스 기반 운영체제

구글의 안드로이드

  • 자바 언어로 응용 프로그램을 작성
  • 달빅 가상 머신을 통해 자바로 작성된 응용 프로그램을 별도의 프로세스로 실행
  • 달빅은 JIT(Just In Time) 컴파일러를 사용
  • 4.4 킷캣 버전부터는 달빅을 대체할 수 있는 ART(Android RunTime)이라는 새로운 런타임을 제공, 이후 완전히 대체
  • ART는 기계언어를 포함되어 있어 AOT(Ahead Of Time) 컴파일러를 사용.
  • 높은 편의성, 빠른 반응속도를 제공
  • 오픈 소스로 인한 보안상의 취약점이 가장 큰 약점
  • 다수의 하드웨어 제조사에 의해 탑재되므로 통일성이 떨어짐, 개발상의 어려움.

바다

  • 삼성전자 + 멘토 그래픽스사의 Nucleus RTOS 기반
  • 미고 + 리모 = 타이젠. 타이젠과 통합 예정

마에모

  • 노키아 만든 리눅스 기반 소프트웨어 플랫폼
  • 마에모 + 모블린 = 미고

모블린

  • 모바일 리눅스. 인텔과 리눅스 재단이 만듬
  • 모블린 + 마에모 = 미고

미고(MeeGo)

  • 리눅스 재단이 주관
  • IVI 등 개발 예정

리모

  • 리눅스모바일.
  • 삼성전자, NEC, 파나소닉, 보다폰 등이 참여.
  • 미고로 대체됨
  • 삼성전자 주축으로 Tizen 프로젝트가 시작됨

타이젠

  • 인텔과 삼성 주축으로 리눅스 재단, 미고 개발자 등이 합류하여 만든 리눅스 기반의 무료 공개형 모바일 운영체제

 

 5). 스마트 TV

스마트 TV 정의

  • 실시간 방송 시청뿐만 아니라 인터넷 접속 기능을 기반으로 웹 검색, VOD, 게임, sns, 앱스토어 등의 기능이 가능한 TV를 뜻함.
  • 일종의 엔터테인먼트 허브

주요 스마트 TV의 운영체제

  • 애플은 Mac OS 기반의 IOS
  • 구글은 안드로이드
  • 삼성전자는 바다 OS를 탑재, 타이젠으로 변화를 꾀하는 중
  • LG는 넷캐스트 OS. HP사의 Web OS 인수해서 Web OS 기반 가능성 존재

 

 6). IVI(In-Vehicle Infotainment)

  • 자동차 내에서 CD 및 DVD 등의 동작을 비롯한 오디오와 비디오 콘텐츠 플레이, TV 기능, 서라운드 사운드 시스템, 자동차 내비게이션 시스템 등을 제공하는 하드웨어 장치의 모음
  • ICE(In Car Entertainment)

주요 IVI의 종류와 특징

  • MS의 Windows Embedded Automotive
  • 자동차에 내장되는 컴퓨터 시스템을 위한 운영체제

QNX

  • RTOS(Real-Time Operating System)으로 임베디드 시스템에 내장되는 운영체제.
  • 블랙베리로 유명한 리서치 인 모션사에 인수

GENIVI

  • 공개형 리눅스 운영체제 기반의 표준화된 자동차용 IVI 플랫폼을 만들기 위해 설립한 비영리조직.

안드로이드

  • Wind River의 Solution Accelerator for Android
  • 에코 시스템 기능이 매우 강력

MeeGo/Tizen IVI

  • IVI를 지원하기는 하나 기업이 적고, 최적화를 위해서는 자체 기술력이 필요.

 

 7). 웹 운영체제

  • 1세대형 Web OS : 특정 서버에 사용자들이 접속할 수 있는 환경을 구축하고, 관련 서비스를 이용하기 위해서는 기존의 운영체제인 윈도우, 리눅스 등에서 웹 브라우저를 호출하여 인터넷 접속을 통해 개인 데스크톱 환경을 사용하는 형태
  • 2세대형 Web OS : 사용자는 별도의 OS 설치과정 없이 경량화된 최소 크기의 커널 위에서 동작하는 웹 브라우저를 통해 서비스 제공자 웹 사이트에 접속하여 다양한 서비스를 이용하는 형태
  • 대표적으로 Chrome OS

 

5. 리눅스의 특징

  • 다중 사용자 및 다중 처리 시스템
  • 완전히 공개된 시스템
  • 뛰어난 네트워크 환경
  • 다양한 파일 시스템 지원
  • 뛰어난 이식성
  • 유연성과 확장성
  • 뛰어난 안정성과 보안성
  • 우수한 가성비
  • 다양한 응용 프로그램의 제공
  • 다양한 배포판 존재

 

6. 리눅스의 단점

  • 기술지원의 부족
  • 특정 하드웨어에 대한 지원이 부족
  • 사용자의 숙련된 기술이 요구

 

7. 리눅스의 기술적인 특징

  • 계층적인 파일 구조
  • 장치의 파일화
  • 가상메모리 사용
  • 동적 라이브러리 지원
  • 가상 콘솔
  • 파이프
  • 리다이렉션
728x90
반응형