728x90
반응형
1. 운영체제(Operating System)란?
1-1. 의미
1) 운영의 의미
- 운영 = 관리
- 관리의 대상은 자원이다.
예) 인적 자원을 운영하는 것은 사람이랑 관련된 것들을 관리함 - 관리의 대상은 크게 시간적 자원과 공간적 자원으로 나뉜다.
- 나누기 👉 채우기 👉 살피기 👉 지우기
- 할당 = 분할 + 배정

- 이러한 과정을 왜 거칠까?
👉 제한되어 있는 자원을 잘 사용하기 위해
2) 체제의 의미
- 체제 = 시스템
- 목적(일)을 위해 필요한 것들이 네 가지가 있다. 조직, 순서, 통제, 상호작용

- 상호작용은 시스템 간뿐만 아니라 시스템과 시스템 외부의 사용자와의 커뮤니케이션을 위한 통로 및 창구 역할을 한다.
- 조직, 순서, 통제, 상호작용의 공통점은?
👉 누군가가 만들어 놓은 것들이다. - 시스템의 목적은?
👉 사람은 정확하지 않을 수가 있다. 그런 것들을 줄이고 일관성과 정확성을 확보할 수 있다.
3) 운영체제의 의미
- 앞서 말한 운영과 체제의 의미를 조합해보았을 때, 운영체제는 컴퓨터를 잘 쓰기 위해 만들어진 것이다.
- 하드웨어처럼 물리적인 장치를 관리한다는 것은 어떤 의미일까?
하드웨어 같은 물리적인 장치를 관리한다는 것은?
예시 '다나와' 사이트에 접속하면 CPU가 표현하는 성능과 관련된 클럭, 그리고 메모리의 용량이 기재되어 있다. 클럭 단위가 클수록 성능이 좋은데, 클럭이란 CPU가 작동하는 속도를 나타낸다. 👉 속도는 시간과 관련된 속성이다. 속도가 빠르면 단위 시간 동안에 더 많은 데이터를 처리할 수 있다. 메모리의 용량, 디스크의 용량은 무엇인가를 담을 수 있다는 것이다. 👉 공간적인 자원이다. 결론 👉 하드웨어 부품들은 시간, 공간과 관련된 기능을 제공한다. |
정리 👉 하드웨어 부품들은 시간, 공간과 관련된 관리가 자능한 자원이다.
👉 컴퓨터의 물리적인 장치들을 하드웨어 자원, 시스템 자원이라는 용어로 부른다.
사람이 컴퓨터를 사용하기 위해 필요한 것
첫 번째, 관리의 방법
- 시간적, 공간적으로 관리한다.
- 사람과 컴퓨터 사이
: 사람이 컴퓨터의 모든 구조를 알 필요가 없다. 사람이 구조를 파악할 수 있도록 추상화를 한다. - 추상화
: 관리(나누기, 채우기, 살피기, 지우기)를 할 수 있는 무언가를 만드는 것. 무언가를 뽑아서 재구성하는 것
👉 추상화된 하드웨어 자원: 프로세스, (가상)메모리, 파일 시스템
- 프로세스: CPU
- (가상)메모리: 물리적인 메모리는 회로, 메인보드 상 물리 메모리이다. 가상메모리는 물리 메모리를 기반으로 가상으로 변환해주는 로직이 있다.
- 파일 시스템: 스토리지, 저장 장치와 관련이 있다.
두 번째, 상호작용의 수단
- 은행 업무를 볼 때 창구를 통해 보듯이 상호작용의 수단이 필요하다.
- 컴퓨터와의 상호작용은 인터페이스를 통해 할 수 있고, 두 가지가 있다.
| GUI | CLI | |
| 정의 | Graphic User Interface 그래픽 요소를 사용하여 사용자가 쉽게 컴퓨터와 상호작용하게 한 인터페이스 |
Command Line Interface 텍스트 기반 인터페이스. 키보드를 통해 명령어를 입력하여 컴퓨터와 상호작용함 |
| 입력 | 명령어 | 창, 스크롤, 이미지 등 |
| 메모리 소비 | 낮음 | 높음 |
| 속도 | 빠름 | 느림 |
| 작업 수행 난이도 | 어려움 | 쉬움 |
| 장점 | - 시각적인 요소가 많아 직관적, 친숙함 - 더 많은 시스템 자원 사용 가능 |
- 배치 작업을 자동화하고 복잡한 작업을 빠르게 처리할 수 있음 - 시스템이 느려질 가능성이 적음 |
| 단점 | - CLI에 비해 세밀함이 떨어짐 - 어떤 일련의 절차 반복/복사하기 힘듦 |
- 명령어와 구문이 복잡할 수 있음 - 학습 곡선이 높을 수 있음 |
컴퓨터의 운영체제란?
👉 사람이 컴퓨터를 사용하기 위해 필요한 추상화된 하드웨어 자원과 인터페이스 수단을 제공하기 위해 구현된 소프트웨어
2. 리눅스 기초
2-1. 리눅스를 공부해야 하는 이유?
컴퓨터의 운영체제는 window, ios, android, linux로 다양하다. 이중에 왜 리눅스를 공부해야 할까?
1) 리눅스의 필요성
- 오픈 소스 운영체제
- 범용성
- 수요 증가
- 안정성, 보안성 높음
- 클라우드 플랫폼, 가상화 시스템에서 널리 사용
: 도커, 쿠버네티스 등 소프트웨어가 리눅스를 기반으로 하여 동작을 한다.
2) 리눅스를 CLI 기반으로 공부해야 하는 이유
- 복잡한 작업을 자동화된 스크립트를 작성해서 처리할 수 있다.
- 실무에서 사용된다.
2-2. 리눅스의 두 가지 의미

1) 커널
- 운영체제의 중심(뼈대). 하드웨어와 소프트웨어를 이어주는 인터페이스 역할을 한다.
- 운영체제의 다양한 부분들이 하드웨어와 소통할 수 있게 도와준다.
2) 배포판
- 윈도우처럼 설치할 수 있는 형태로, 리눅스 커널과 유틸리티, 드라이버 등으로 구성된 운영체제이다.
- 종류
- CentOS (RdHat 계열)
- Ubuntu (Debian 계열)
- 알파인
- 페도라
2-3. 리눅스를 공부한다는 것은?
1) 커널
- 운영체제의 실제 구현(소스 코드). 어떻게 구현되었는가? For OS Kernel, Device Driver 개발자
2) 배포판
- 어떻게 다루느냐? For DevOps, System Admin
👉 우리가 공부할 것은 리눅스 배포판
2-4. 관리자 권한
- 일반 사용자는 권한이 어느 정도 제한이 되어 있는 반면,
관리자(root)는 서버에 대한 모든 명령을 실행하여 파일을 조작할 수 있다.
root@linux-text:~# root: 접속한 계정 linux-text: 접속한 서버 이름 ~: 현재 위치한 디렉토리. 사용자 홈(기본) 디렉토리 $: 일반 사용자 계정 / #: 관리자 계정 |
2-5. 프롬프트 모양 비교
| 윈도우 PC | 맥북(MacOS) | 리눅스 서버 |
| C:\Users\notebook> | iteastory@ITeaStory | root@linux-test:~# |
👉 현재 프롬프트 상태로 지금 어떤 시스템에 있는지 확인할 수 있다.
728x90
반응형