반응형
IT 분야
- 개발 (Development)
- End-User를 위한 프로그램 개발
- 운영 (Operation) → 우리가 주로 배울 것
- End-User를 위한 프로그램 배포 및 관리
- DevOps = Development + Operation
컴퓨터 시스템의 이해
- 현재 사용하는 컴퓨터 시스템을 프로그램 내장 방식 (노이만(Neumann) 형 컴퓨터 시스템)이라고 함.
하드웨어 (Hardward, H/W, 기계 장치)
CPU
- CPU는 연산 / 제어 기능을 함.
- ALU (Arithmetic Logic Unit, 연산 장치)
- 산술 연산 → +, -, *, /, ...
- 관계 연산 → <, >, <=, >=, ...
- 논리 연산 → A and B, A or B, A nor B, ...
- CU (Control Unit, 제어 장치)
- 명령 해석
- 연산 결과에 대한 제어 신호 관리
- ALU (Arithmetic Logic Unit, 연산 장치)
- CPU는 기억 기능이 없다.
- CPU가 동작하기 위해서는 명령 코드와 데이터가 필요하다.
- Register - CPU가 사용하는 임시 데이터 저장
- CPU Core - ALU + CU
- x86 계열 - 개인용 PC, 서버 PC
- x86 - 32bit Data bus
- x86_x64 - 64bit Data bus
- ARM 계열 - Embedded용 (내장형)
- x86 계열 - 개인용 PC, 서버 PC
- Bus System - CPU와 Memory 간의 통신을 수행하는 통로
- Address bus
- 메모리 주소 지정을 위해 사용하는 통로
- Address bus 크기에 따라서 메모리 최대 크기가 결정됨.
- Data bus
- 데이터가 이동하는 통로, CPU 종류 결정 시 사용하는 크기
- Control bus
- 제어 신호가 이동하는 통로
- Address bus
- CPU 작동 과정
- CU의 명령 해석기 (IR)에 명령을 읽어서 저장
- 명령 해석기에 의해 명령 해석 - 연산 수행 (ALU 사용), I/O 수행 (Device 사용)
- 명령 해석 결과에 따라 메모리에서 데이터 읽기 - 명령에 따라서 동작
- 명령 처리 - 연산, I/O
- 명령 처리에 따른 결과를 메모리에 저장
- Memory 접근 방법
- 메모리 주소 지정
- 읽기 또는 쓰기
Memory
- 프로그램 코드와 데이터 저장, 일시적인 저장만 가능, 영구 저장은 안 됨.
- Memory 구성 소자
- ROM (Read Only Memory)
- 읽기 전용 메모리
- 종류
- Mask Rom
- PROM, EPROM, EEPROM (Flash Memory)
- 비휘발성
- 속도가 느린 메모리
- 보관 목적으로만 사용, 실제 사용 시에는 RAM에 복사하여 사용함.
- RAM (Random Access Memory)
- 읽기 / 쓰기 가능 메모리
- 휘발성 (전원 OFF시 내용 삭제 됨.)
- 종류
- SRAM (Static RAM)
- DRAM (Dynamic RAM) - 일반적인 RAM
- ROM (Read Only Memory)
I/O Device (입/출력 장치)
- I/O Device는 Memory와 연결되어 있음.
- Memory와 I/O Device는 속도 차이를 줄이기 위해 Memory 영역에 각 I/O Buffer를 설정하여 관리
- 표준 입/출력 장치에 해당하지 않는 장치는 별도의 프로그램이 필요하고 이를 디바이스 드라이버라고 함.
- Input 전용 Device
- Keyboard - 표준 입력 장치 (stdin)
- Mouse 등
- Output 전용 Device
- Monitor - 표준 출력 장치 (stout)
- Spaeker 등
- Input/Output 전용 Device
- HDD / SSD - 보조 기억 장치
- 프로그램 / 데이터 보관
- O/S, Application, Data 등 저장
- HDD / SSD - 보조 기억 장치
소프트웨어 (Software, S/W, 컴퓨터 프로그램)
컴퓨터 프로그램
- 명령 집합
- 프로그램 실행 순서
- 명령을 메모리에 저장
- CPU에 의하여 명령 해석
- 해석된 명령에 대한 데이터 처리
- 명령 처리 결과를 Memory에 저장하거나 I/O Device를 이용한 입/출력 처리
System S/W
- H/W 제어 및 사용자 인터페이스 (User Interface)
- 운영체제 (Operating Software, O/S)
- 종류
- MS Window - 일반적으로 사용되는 O/S, x86 계열에서 작동
- Linux - x86 / ARM 계열 모두에서 작동, Open Source 방식
- Mac O/S - Unix 계열 BSD 기반 O/S
- 운영 방식
- CLI (Command Line Interface) / CUI (Character User Interface)
- 명령 입력 방식에 의한 O/S 사용
- 세심한 환경 관리가 가능함.
- GUI (Graphic User Interface)
- 그래픽으로 표시하고 마우스 기반으로 O/S 사용
- CLI (Command Line Interface) / CUI (Character User Interface)
- 구성
- Kernel
- H/W 제어
- 사용자 인터페이스 (shell)
- 사용자와 Kernel 간 인터페이스
- Kernel
- 종류
- 운영체제 (Operating Software, O/S)
- Application 실행 환경 구성 - System Library
- Library
- 함수 (Function) 집합
- 단독 실행보다는 Library가 가지고 있는 함수를 사용할 수 있도록 함.
- 함수 (Function)
- 단위 기능 수행 코드의 집합
- 명령어는 함수를 기반으로 동작
- Library
- 시스템 구성 및 운영을 위한 Application → System Application
- 단독 실행이 가능한 프로그램
- 컴파일러 (Complier)
- 인터프리터 (Interpreter)
- 에디터 (Editor)
- 데이터베이스 (Database)
- 스프레트시트(Excel), Word 등...
- 단독 실행이 가능한 프로그램
Application S/W → 일반 Application
- End-User가 원하는 기능을 제공하는 Application
프로그래밍의 이해
- Application 또는 Library를 만드는 과정
- 프로그래밍을 위한 구성 요소
- 프로그래밍 언어
- 컴파일형 언어
- 일괄 번역 기능 사용, 실행 속도가 빠름
- C, C++, C#, Java, ...
- 인터프리터형 언어 (Script형 언어)
- 개발에서 실행까지 단계가 빠름
- 언어 문법이 쉽지만, 실행 속도는 느림
- python, JavaScript, Nodejs, ...
- 컴파일형 언어
- 프로그래밍 언어로 작성한 코드를 실행 가능한 형태로 만드는 프로그램
- 컴파일러 - 컴파일형 언어를 실행 형태로 변경
- 인터프리터 - 인터프리터형 언어를 실행
- 개발자를 위한 Infra Structure 구축 대상
- 프로그램 코드 작성 환경
- 소스 코드 에디터 ex) 메모장, vscode, ...
- 통합 개발 환경 (IDE, Integrated Development Environment)
- 소스 코드 작성, 컴파일 / 인터프리팅, 실행, 디버깅을 하나의 프로그램으로 수행
- Visual Studio, Pycharm, Eclipse, ...
- 개발자를 위한 Infra Structure 구축 대상
- 실행 프로그램 디버깅 환경
- 디버거 - 버그 (Bug) 수정을 위한 프로그램
- 개발자를 위한 Infra Structure 구축 대상
- 프로그래밍 언어
운영체제의 이해
- 컴퓨터 시스템을 운영하는 역할을 담당하는 System S/W
- 구성
- Kernel
- Shell
- 운영체제 구성 유형
- 물리적인 컴퓨터 시스템에 직접 설치
- 기본 형태
- 단독 사용 목적
- 하나의 O/S만 사용 가능
- 가상 컴퓨터 시스템에 설치
- 여려 O/S를 동시에 사용하고 싶을 때 구성 가능
- 가상 컴퓨터
- S/W적으로 생성한 컴퓨터
- CPU / Memory / I/O Device는 물리적인 장치를 공유
- 가상 컴퓨터 시스템을 구축하는 프로그램 → 가상 PC S/W
- VMWare
- VirtualBox - 우리가 사용할 프로그램
- 가상 PC S/W를 사용하기 위해서 x86 계열에서는 Hypervisor 기능이 활성화되어 있어야 함.
- 부팅 시 BIOS 설정을 통해 확인 가능
- Cloud 환경의 가상 컴퓨터 시스템에 설치
- 가상 컴퓨터 환경에서 원하는 O/S 사용 환경 구성
- 가상 컴퓨터 환경의 위치는 Cloud 서비스 업체의 서버에 위치하고 사용하는 인터넷으로 접속하여 사용
- Cloud 업체의 서비스를 통하여 원하는 O/S 환경을 구성하고 사용 → 사용량에 맞는 비용 지불
- 물리적인 컴퓨터 시스템에 직접 설치
TIF
기다렸던 Kubernetes 과정이 시작되었다.
퇴사 후 2달 정도 적당히 놀면서 준비하면 되겠다고 생각했는데 오산이었던 것 같다.
하다못해 IT 계열에서 운전면허증으로 불리는 정보처리라도 할걸...
비전공자이고 늦게 시작한 만큼 챙겨봐야 할 것들이 많다고 느꼈다.
4개월 뒤에 얼마나 변해있을지 하루하루 내가 쏟을 수 있을 만큼 모든 것을 부어보려고 한다.
2022. 08. 01에 작성된 글입니다.
반응형
'구름 쿠버네티스' 카테고리의 다른 글
구름 쿠버네티스 전문가 과정 6기 - 6일차 (0) | 2023.07.05 |
---|---|
구름 쿠버네티스 전문가 과정 6기 - 5일차 (0) | 2023.07.04 |
구름 쿠버네티스 전문가 과정 6기 - 4일차 (0) | 2023.07.03 |
구름 쿠버네티스 전문가 과정 6기 - 3일차 (0) | 2023.06.30 |
구름 쿠버네티스 전문가 과정 6기 - 2일차 (0) | 2023.06.29 |