Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 개발자 회고록
- 스프링 빈
- 리눅스마스터 1급 정리
- 리눅스마스터 3과목
- GoingBus
- 리눅스
- 코테
- 반복문
- 고잉버스
- toCharArray
- 자바스크립트 코딩의 기술
- 코딩테스트
- 문자열
- Linux
- 연습문제
- Kotlin
- java 백준 1차원 배열
- 월간코드챌린지
- 리눅스마스터1급
- 백준 java
- 백준 javascript
- map
- 자바
- 프로그래머스
- JavaScript
- Java
- 명령어
- 스프링 컨테이너
- 카카오
- Memoir
Archives
- Today
- Total
hoon's bLog
리눅스 실무의 이해 | 리눅스의 개요 1 본문
반응형
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
반응형
'IT > Linux Master 1급' 카테고리의 다른 글
리눅스 실무의 이해 | 리눅스 시스템의 이해 3 (0) | 2021.08.13 |
---|---|
리눅스 실무의 이해 | 리눅스 시스템의 이해 2 (0) | 2021.08.10 |
리눅스 실무의 이해 | 리눅스 시스템의 이해 1 (0) | 2021.08.10 |
리눅스 실무의 이해 | 리눅스의 개요 2 (0) | 2021.08.09 |
리눅스마스터 1급 1차 목차 (0) | 2021.08.02 |