왜 리눅스?
유닉스 / 리눅스 운영체제
- 1970년대 초 at&t 벨연구소에서 유닉스가 개발된 이후 지속적 발전
- 스마트폰, pc, 서버시스템, 슈퍼컴퓨터 등 다양한 곳에서 사용
기반 운영 체제 : android os, ios, mac os x , linux, unix, system v, sun solaris, ibm aix, hp hp-ux, cray unicos
유닉스의 설계 철학
단순성 | - MIT MULTICS에 반대해 최소한의 기능만 제공 - 자원에 대한 일관된 관점 제공 |
이식성 | - c 언어로 작성 - 다양한 플랫폼에 이식 가능 - 스마트폰, PC, 서버, 슈퍼컴퓨터 등 |
개방성 | - 소스코드 공개와 같은 개방성 |
유닉스 특징
- 다증 사용자, 다중 프로세스
- 여러 사용자 동시 사용, 여러 프로그램 동시 실행, 관리자 슈퍼유저 존재
- 쉘 프로그래밍
- 명령이나 유틸리티 등을 사용해 작성한 프로그램
- 훌륭한 네트워킹
- 유닉스에서부터 네트워킹 시작. ftp, telnet, www, x-window 등
유닉스 시스템 구조
유닉스 운영체제 구조
운영체제
컴퓨터의 하드웨어 자원을 운영 관리. 프로그램을 실행할 수 있는 환경 제공
커널(Kernel)
운영체제의 핵심으로 하드웨어 운영 및 관리
시스템 호출(system call)
커널이 제공하는 서비스에 대한 프로그래밍 인터페이스 역할
쉘(shell)
사용자와 운영체제 사이의 인터페이스, 사용자로부터 명령어를 입력받아 해석하여 수행해주는 명령어 해석기
커널의 역할
하드웨어를 운영관리하여 프로세스, 파일, 메모리, 통신, 주변장치 등을 관리하는 서비스 제공
- 프로세스 관리(process management)
- 여러 프로그램이 실행될 수 있도록 프로세스들을 cpu 스케줄링하여 동시에 수행되도록 함
- 파일 관리(file management)
- 디스크와 같은 저장장치에 파일 시스템을 구성하여 파일을 관리
- 메모리 관리(memoty management)
- 메인 메모리가 효과적으로 사용될 수 있도록 관리
- 통신 관리(communication management)
- 네트워크를 통해 정보를 주고받을 수 있도록 관리
- 주변장치 관리(device management)
- 모니터, 키보드, 마우스와 같은 장치를 사용할 수 있도록 관리
유닉스 역사 및 비전
유닉스 역사 및 표준
AT&T 벨 연구소에서 개발됨 | ||
ken thompson이 어셈블리어로 개발 d ritchie가 c언어로 다시 작성 (->unix를 작성하기 위한 언어로 밀접하게 관련) 이론적으로 c 컴파일러만 있으면 이식 가능, 소스코드 대학에 개방 |
||
유닉스 시스템 V | BSD 유닉스 | 리눅스 |
벨 연구소에서 개발된 버전이 발전해 시스템V가 됨. 유닉스 버전 중 최초의 대표적인 성공 사례 (일반 사용자들에 확산). 다양한 상업용 버전으로 발전 (IBM의 AIX, Sun의 Solaris, HP의 UP-UX) |
공개 소스코드를 기반으로 버클리대에서 개선 주요 기능 개선 (메모리 관리 기능 향상, 네트워킹 기능 추가) 상업용 운영체제의 기초 (SUN OS, MAC OS) |
PC를 위한 효율적인 유닉스 시스템 소스코드가 공개 (인터넷 상 자원자들에 의해 기능 추가 및 확장, 공용 도메인상의 무료 OS) 다양한 하드웨어 플랫폼에 포팅 가능 (PC,워크스테이션,서버,메인 프레임 등 놀라운 성능 및 안정성) GNU 소프트웨어와 함께 배포 (GNU/LINUX 운영체제, 다양한 응용 프로그램) |
솔라리스(Solaris) | 맥 os | 안드로이드 |
SUN에서 개발한 시스템 V 기반 운영체제 (썬 워크스테이션에서 전물가들이 주로 사용) |
1984 애플 매키토시 컴퓨터용 운영체제로 개발 (개인 컴퓨터에 gui 첫 도입) 맥 os x (2002년 NeXTSTEP 운영체제와 BSD 유닉스를 기반으로 개발) |
리눅스 기반 모바일 기기용 주로 스마트폰, 태블릿 PC 개방형 운영체제로 소스코드 등 공개 |
iOS | ||
맥 OS X 기반으로 개발된 모바일 기기용 운영체제 iphone, ipad, ipod |
'정리 > Linux' 카테고리의 다른 글
[LINUX] 인터넷과 원격 접속, 파일 유틸리티 (0) | 2023.05.14 |
---|---|
[LINUX] 쉘과 명령어 (0) | 2023.05.07 |
[LINUX] 파일 사용 (0) | 2023.04.09 |
[LINUX] 기본 명령어 (0) | 2023.04.02 |
[LINUX] x 윈도우와 데스크톱 환경 (0) | 2023.03.26 |
댓글