리눅스 데브코스 [3주차 - 1]<컴퓨터가 일하는 방법, 리눅스 살펴보기>

심우열·2023년 4월 17일
0

1.컴퓨터를 이루는 요소

3개의 컴퓨터 핵심 요소

CPU(프로세서)
Memory(메인 메모리)
I/O(입출력장치)

확장된 컴퓨터 요소

GPU
보조기억장치(HDD,SSD)
입력장치, 출력장치

컴퓨터가 일을 하는 예

CPU의 구성

ALU : 연산을 담당함
Registers: 용량이 제일 작은 저장장치, 당장 ALU의 연산에 필요한 데이터들을 저장함
Cache: 레지스터보다는 용량이 큼, 레지스터와 연결됨

Storage의 계층 구조

위에서부터 CPU에 가까움
CPU와 가까울수록 용량은 작지만 전송속도 빠르다
이러한 구조를 잘 활용하기 위해 저장장치는 데이터를 알고리즘에 의해 replacement 한다

Software Hierarchy란?

운영체제(Operating System)

시스템 콜이란?

하드웨어와 어플리케이션 사이를 연결하는 function들
소프트웨어에서 OS를 통해 하드웨어에 접근하기 위한 방법

시스템 필수 도구

1. 컴파일러

프로그래밍 언어로 작성된 코드를 기계어 코드로 변환해주는 도구
모든 코드를 한꺼번에 변환하는 방식과 코드 각 문장을 하나씩 변환하면서 직접 실행하는 방식이 있음 (컴파일 방식 VS. 인터프리터 방식)

2. 쉘(Command Line Interpreter)

UI가 없는 명령어 실행기

3.각종 시스템 명령어들

시스템의 상태를 보여주거나 편리한 기능을 구현하기 위한 명령어들

가상화(Virtualization)

물리적인 컴퓨터의 개념과 논리적인 컴퓨팅 자원의 개념을 분리한 것

<전가상화>

Hypervisor: 가상화가 가능하도록 하는 소프트웨어

<반가상화>

위와같은 기술을 컨테이너 기술이라 함
Docker 와 같은 것들이 위와 같은 구조를 사용
현재 가장 많이 사용되는 구조

컴퓨터가 저장하는 정보

이진수 데이터

각 데이터가 가지는 의미는 표현 방법의 구현을 통해 (사람이 정의 함)
저장 가능한 데이터의 양이 표현 가능한 정보를 결정

2. 리눅스를 실행하는 방법

리눅스를 동작시키는 방법

리눅스의 특징

오픈소스 소프트웨어, 글로벌 개발 커뮤니티
거의 모든 제품의 기반 운영체제
다양한 하드웨어 지원
시스템 요구 사항, 목적에 따른 다양한 패키지(실시간, 모바일, 최소형 등)
커뮤니티 기반 검증(기능, 성능)

profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글