22/08/01

RushBsite·2022년 8월 1일
0

구름_쿠버네티스

목록 보기
1/17
post-thumbnail
📙 본 게시물은 구름 쿠버네티스 전문가 양성 과정 (9회차)
 내용을 요약한 계시물입니다.

컴퓨터 시스템 이해

현재 우리가 사용하는 컴퓨터 시스템은 프로그램 내장 방식(폰-노이만형 컴퓨터 시스템)

H/W

CPU

  • ALU (Arithmetic Logic Unit, 연산장치)

    • 산술연산
    • 관계연산
    • 논리연산
  • CU (Control Unit, 제어장치)

    • 명령 해석
    • 연산 결과에 대한 제어 신호 관리

CPU는 기억 기능이 없다

  • CPU 가 동작하기 위해서는 명령코드데이터가 필요
  • CPU 속도 = 명령 해석 속도
  • CPU Core (ALU + CU)

    • x86 계열 : 개인용 pc, 서버
      • x86 (32bit Data bus 사용)
      • x86_64 (64bit Data bus 사용)
    • ARM 계열 : Embeded 용
  • Register
    ->CPU가 사용하는 임시 데이터 저장

  • Bus System
    -> CPU 와 Memory 간의 통신을 수행하는 통로

    • Address bus -> 메모리 주소 지정을 위해 사용하는 통로
      크기에 따라 가용 가능한 메모리 최대 크기 결정됨
    • Data bus ->데이터가 이동하는 통로
    • Control bus ->제어 신호가 이동하는 통로

CPU 작동 과정

✳️ MAR (Memory Address Register) : 읽기와 쓰기 연산을 수행할 주기억장치의 주소를 저장
✳️ MBR (Memory Buffer Register) : 주기억자치에서 읽어온 데이터나 주기억장치에 저장할 데이터를 임시로 저장

  1. CU 명령 해석기(IR)에 명령을 읽어서 저장
  2. 명령 해석기에 의해 명령 해석 - 연산(ALU사용) 수행/ I/O 수행 (I/O device 사용)
  3. 명령 해석 결과에 따라 메모리에서 데이터 읽어옴
  4. 명령 처리에 따른 결과를 메모리에 저장

Memory

❗메모리 역할 : 프로그램 코드데이터저장

Memory 구성 소자

  • ROM (Read Only Memory)
    • 읽기 전용 메모리
    • 비휘발성
    • 종류
      • mask ROM (기록 불가)
      • PROM
      • EPROM (PROM 의 전자화)
      • EEPROM (Flash Memory)
    • 속도가 느린 메모리
    • 보관 목적으로만 사용하고 실제 사용시에는 RAM 에 복사하여 사용
  • RAM (Random Access Memory)
    • 읽기/쓰기 가능 메모리
    • 휘발성
    • 종류
      • SRAM (Static RAM) -> 속도⬆️ , 가격⬆️, 캐시 메모리 용도
      • DRAM (Dynamic RAM)

CPU와 연결되어 있는건 Memory

I/O Device

❗I/O Device는 Memory와 연결되어 있고, Memory와 I/O Device의 속도 차이를 줄이기 위하여 Memory 영역에 각 I/O Device를 위한 공간( ✳️I/O Buffer )을 관리

  • Input 전용 Device
    • Keyboard -> 표준 입력 장치(stdin), ✳️ (따로 드라이버 설치 없이 운용 가능한 입력 장치)
    • Mouse
    • Mic
    • Camera
  • Output 전용 Device
    • Monitor -> 표준 출력 장치(stdout)
    • Speaker
    • Printer
  • Input/Output 전용 Device
    • HDD/SDD -> 보조 기억 장치, 프로그램/데이터 보관
      * OS, App, Data 저장

      ❗표준 장치 아니면 디바이스 드라이버 를 설치하고 사용해야 한다

S/W

컴퓨터 프로그램 = 명령어 집합

프로그램은
1. 명령을 메모리에 저장
2. CPU에 의해서 명령 해석
3. 해석된 명령에 대한 데이터 처리
4. 명령 처리 결과를 Memory에 저장하거나 I/O Device 를 이용한 입력/출력 처리
순으로 실행된다.

System S/W

  • H/W 제어사용자 인터페이스
    ✳️Interface -> 내부 동작원리를 모르지만, 원하는 동작을 대신해 주는 연결 통로 ex) 리모콘

    • 운영체제(Operating Software)
      • 종류
        • MS Windows - 유료 (x86 계열에서 작동)
        • Linux - 무료 ,x86/ARM 계열 모두에서 작동 , 오픈소스
        • Mac OS - UNIX 계열 BSD 기반 O/S
      • 동작 방식
  • Application 실행 환경 구성

    • Library -> 함수(function) 집합
      ✳️function -> 단위 기능 수행 코드 집합
      명령어는 함수를 기반으로 동작
  • 시스템 구성 및 운영을 위한 Application

    • 단독 실행이 가능한 프로그램
      • 컴파일러( Compiler )
      • 인터프리터( Interpreter )
      • 에디터( Editor )
      • 데이터베이스 (Database)

Application S/W

  • End-User 가 원하는 기능을 제공하는 Application

운영 체제 이해

운영 방식

CLI

  • CLI (Command Line Interface) / CUI (Character user Interface)
    -> 명령 입력방식에 의한 OS 사용, 세심한 환경관리가 가능

GUI

  • GUI (Graphic User Interface)
    -> 그래픽 기반으로 표시하고 마우스 기반으로 OS 사용

구성

Kernel

  • Kernel 의 역할 -> H/W 제어

사용자 Interface (shell)

  • shell -> 사용자와 KernelInterface

운영체제 구성 유형

  • 물리적인 컴퓨터 시스템에 직접 설치

  • 가상 컴퓨터 시스템에 설치
    -> 여러 OS를 동시에 사용하고 싶을때 구성 가능
    ex) VMware , VirtualBox

  • Cloud 환경의 가상 컴퓨터 시스템에 설치


프로그래밍 이해

  • 프로그래밍
    -> Application 또는 Library를 만드는 과정

프로그래밍을 위한 구성 요소

  • 프로그래밍 언어
    • 컴파일 형 언어 (일괄 번역 기능 사용)
      -> C, C++, Java, C#
      -> 실행 속도 ⬆️
    • 인터프리터형 언어 (실시간 번역 기능)
      -> Python, JavaScript, Nodejs
      -> 개발에서 실행까지 단계가 빠름 (언어가 쉬움), 실행속도 ⬇️
  • 프로그램 언어를 실행 가능한형태로 만드는 프로그램

    • 컴파일러 -> 컴파일형 언어를 실행 형태로 변경
    • 인터프리터 -> 인터프리터형 언어를 실행
  • 코드 작성 환경

  • 실행프로그램 디버깅 환경

    • 디버거

컴파일러/인터프리터/에디터/디버깅환경..(구성) -> 개발자 위한 Intrastructure 구축 대상

profile
게임 기획/개발 지망생

0개의 댓글