- 운영체제, 커널, 오픈소스 등 [chapter 04 기본 미션]
1. 운영체제 : 컴퓨터를 사용할 수 있도록 해주는 소프트웨어
하드웨어 기기와 사용자를 연결하고 중재하는 역할 ex) 윈도우, 맥OS, 리눅스(LINUX) 등
① 사람이 컴퓨터를 쉽게 사용할 수 있도록 도와주는 시스템 소프트웨어
② CPU, 메모리, 그래픽 카드 등의 기기들을 가동하고 제어해서 사용자가 컴퓨터로 작업할 수 있는 환경 마련
- 기계에 따른 운영체제 점유율
- PC : Microsoft Windows, Apple MacOS, Linux
- 모바일 : Google Android, Apple iOS
- 스마트워치 : WearOS, WatchOS
- 초소형컴퓨터 : 라즈베리 파이 OS
2. GUI vs CLI : 컴퓨터를 사용하는 두 가지 방식
- GUI (Graphic User Interface)
그래픽으로 구성된 사용자 인터페이스. 그래픽 요소들을 사용하여 사용자와 상호 작용
→ 아이콘, 툴바, 버튼, 메뉴창 등 직관적이고 알기 쉬운 그림 요소로 구성
- CLI (Command Line Interface)
검은 화면에 텍스트로만 구성된 사용자 인터페이스. 명령줄에 텍스트를 입력하여 컴퓨터에게 일을 시킴
→ '검은 것은 배경이요 흰 것은 글씨로다', 기본 명령어를 알고 있어야 사용이 가능
- 개발자들이 GUI 보다 CLI를 더 많이 쓰는 이유
- CLI 환경이 컴퓨터 자원을 덜 소모한다. (그래픽 요소를 그리지 않기 때문!)
- CLI 환경이 간편하고 정확하다. (파일 옮기는 경우, GUI는 탐색기를 두 개 띄우고 해야 한다.)
- CLI 환경이 네트워크 환경에 더 적합하다. (GUI의 그래픽은 성능을 많이 잡아먹기에!)
3. 커널 : 운영체제의 심장
하드웨어와 응용 프로그램 사이에서 작동하며 컴퓨터에서 일어나는 모든 일을 통제하는 역할
① 소프트웨어가 하드웨어를 사용하기 용이하도록 인터페이스로 연결
② 컴퓨터가 안정적이고 효율적으로 작동할 수 있도록 컴퓨터 자원 분배
* 하드웨어, CPU, 메모리, 기타 기기 → 커널 → 사용자 인터페이스(GUI, CLI) → 응용 프로그램
4. 오픈소스 : 누구나 참여할 수 있는 소프트웨어
누구든지 프로그램의 소스코드를 살펴볼 수 있으며, 오류를 찾아 수정하거나 제안할 수 있는 소스코드