본문 바로가기
개발공부 개발새발/OS

OS ) 컴퓨터의 기본 구성

by 휴일이 2023. 10. 23.

하드웨어의 구성

  • 필수 장치
    • 중앙처리장치 CPU
    • 메인 메모리
  • 주변 장치
    • 입력 장치
    • 출력 장치
    • 저장 장치

메인 메모리의 특징

  • 메인 메모리는 전력이 끊기면 데이터를 잃어버린다.
    • 데이터를 영구히 보관하려면 하드디스크나 USB 메모리를 사용해야 한다.
  • 메인 메모리를 제 1저장장치, 하드 디스크나 USB 메모리를 제 2저장장치라고 부르기도 한다.

입출력장치

입력장치

외부의 데이터를 컴퓨터에 입력하는 장치

  • 초기에는 천공카드를 사용.
  • 현재는 키보드, 마우스, 스캐너, 터치스크린 등…

출력장치

컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력하는 장치

  • 프린터, 모니터, 스피커

CPU

그래픽용 CPU, 그래픽카드에 달아서 직접 계산하게 한다.

  • 과거에는 그래픽 계산을 CPU가 담당하고 결과만 그래픽카드에 전달했다.
  • 3D 게임 같이 계산을 많이 해야 하는 프로그램이 늘어나 지금은 GPU를 이용해 직접 계산하게 한다.

AP

CPU + GPU + 통신 모듈을 하나의 패키지에 넣어서 사용하는 것.

  • 작은 크기에 많은 컴퓨터 부품을 넣어야 하는 스마트폰이 이용한다.

저장장치

이름 속도 가격 데이터 저장
메모리 전자의 이동으로 데이터를 처리하기 때문에 속도가 빠르다. 비싸다. 전원이 꺼지면 사라진다.
하드디스크, CD 구동장치가 있는 기계여서 상대적으로 속도가 느리다. 싸다. 전원 On, Off 와 상관없이 반영구적으로 저장한다.
  • 자성을 이용
    • 카세트테이프
    • 플로피디스크
    • 하드디스크
  • 레이저를 이용
    • CD
    • DVD
    • 블루레이디스크
  • 메모리를 이용
    • USB
    • 드라이버
    • SD카드
    • CF카드
    • SSD

메인보드

CPU와 메모리 등을 다양한 부품을 연결하고 전원을 공급해 주는 커다란 판.

버스

메인보드에서 각 장치를 연결하여 데이터가 지나다니는 통로. (버스 경로마냥)

모든 프로그램은 메모리에 올라와야 실행할 수 있다.
- 존 폰노이만

폰노이만 구조

CPU, 메모리, 입출력장치, 저장장치가 버스로 연결된 구조.

  • 저장장치에 있는 프로그램을 실행하려면 프로그램이 메모리에 올라와야 한다.
  • 운영체제도 프로그램이라 메모리에 올라와야 실행할 수 있다.

CPU가 하는 일을 요리사와 비교해보자 !

 

요리사 작업
요리 방법 결정 프로세스 관리
도마 정리 메모리 관리
보관 창고 정리 저장장치 관리
  • 도마가 작다.
    • 재료를 모두 가져올 수 없어 여러 번 왔다갔다 한다.
  • 도마가 크다.
    • 재료를 모두 가져다 놓고 요리할 수 있다.

→ 재료보다 도마의 크기가 작을 때만 문제된다.

데이터 크기 단위

  • 비트 bit
  • 바이트 byte
    • 비트를 8비트로 묶어 바이트라 부른다.

 10진 바이트 대비 10진

단위 표기 2진 10진 바이트 대비 10진
Byte B 1 1 1B  
Kilo Byte KB 2의 10승 10의 3승 1,000B
Mega Byte MB 2의 20승 10의 6승 1,000,000B 백만
Giga Byte GB 2의 30승 10의 9승 십억B 십억
Tera Byte TB 2의 40승 10의 12승 일조B
Peta Byte PB 2의 50승 10의 15승 일천조B 천조
  • 각각 높은 단위는 바로 한 단계 낮은 단위보다 1,024(=2의 10승)만큼 더 크다.

클록

컴퓨터에서 일정한 박자를 만들어 내는 것.

  • CPU가 작업을 하거나 하드디스크에서 데이터를 메모리로 옮기는 작업은 일정한 박자에 맞춰 진행한다.
  • 클록이 일정 간격으로 펄스를 만들면 거기에 맞춰 컴퓨터 안의 모든 구성 부품들이 작업을 진행한다.

펄스

클록에 의해 일정 간격으로 만들어지는 틱.

클록이 발생할 때마다…

  • 데이터를 저장한다.
  • 한 번의 덧셈 등 하나의 계산이 이루어진다.

헤르츠 Hz

CPU의 성능을 나타낼 수 있는 단위. 시간에 따라 변화가 일어날 때 사용하는 단위.

  • 1초 동안 몇 번의 작업이 이루어져 몇 번의 펄스가 발생하였는가?
    • 1초에 펄스가 1번 → 1Hz
    • 1초에 펄스가 1,000번 → 1KHz

시스템 버스 FSB

메모리와 주변장치를 연결하는 버스, 메인보드의 동작 속도를 의미한다.

BSB

CPU 내부에 있는 장치를 연결하는 버스

  • CPU 내부 버스 속도는 CPU의 클록과 같다.
  • FSB 보다 훨씬 빠르다.

컴퓨터에 알려줄 작업을 하나로 모으면 프로그램이 된다.

프로그래밍 언어

컴퓨터 프로그램을 만들 때 사용하는 언어.

저급언어

기계어

컴퓨터가 이해할 수 있는 유일한 언어.

  • 0과 1의 이진수로 이루어져 있다.
  • 사람이 이해하긴 어렵다.

어셈블리어

기계어를 사람들이 이해할 수 있는 문자 형태로 바꾼 것.

  • 0과 1의 이진수를 문자 형태로 바꿔 놓았다.
  • 전문가만 사용 가능.

고급언어

if나 for 같이 일반인이 이해할 수 있는 단어를 사용해 만든 언어.

  • 고급언어 자체로는 컴퓨터가 이해할 수 없다.
  • 소스 코드를 기계어로 번역하는 작업이 필요하다.

컴파일

고급언어를 기계어로 번역하는 과정.

컴파일러

컴파일을 담당하는 프로그램.

  • 소스코드를 번역해 기계어로 이뤄진 실행 파일을 만든다.
  • 실행 파일을 만들기 전
    • 오류를 찾고
    • 필요 없는 변수들을 삭제하며
    • 반복되는 작업을 하나로 합칠 수 있다.
  • C++, 자바 등…

인터프리터

컴파일과는 다른 방법으로 소스 코드를 번역하는 다른 방법.

  • 한 번에 한 문장씩 번역해 실행한다.
  • 실행 파일을 따로 만들지 않아 편해보이지만
    • 위부터 한 줄씩 실행되어 코드에 잘못된 부분이 있는지 파악하기 어렵고
    • 반복되는 작업을 하나로 합치기도 힘들다.
  • 자바스크립트 등…

필수 자료 구조 !

파이프처럼 생겨 먼저 들어온 자료가 먼저 처리된다.

  • First In, First Out.
  • 양방향 입출력.

큐잉

큐에 데이터를 넣고 빼는 과정.

스택

밑이 막혀있는 통 모양으로 가장 나중에 들어온 자료가 가장 먼저 처리되는 구조.

  • First In, Last Out.
  • 한 쪽으로만 입출력 가능.

배열 Array

형태가 같은 자료를 나열해 메모리에 연속으로 저장하는 것.

  • 배열로 테이블을 만드려면 배열의 크기를 먼저 선언해야 한다.
  • 어느정도 크기가 정해진 메모리나 파일 관리에 사용.

장점

간단히 구현 가능하다.

단점

데이터를 옮기려면 데이터를 한꺼번에 뒤로 밀거나 당겨야해서 데이터 삽입, 삭제가 힘들다.

연결 리스트 Linked List

데이터를 포인터로 연결해 이용.

  • 데이터 삽입과 삭제가 빈번한 테이블에 사용.

장점

데이터를 중간에 삽입하는 것이 간단하다.

  • 중간에 새로 삽입된 데이터가 있다며 메모리를 할당받아 기존 리스트에 연결.
  • 삭제할 데이터가 있다면 연결 리스트에서 빼낸 후 메모리 반환.
  • 큐를 구현할 때도 연결 리스트를 사용하면 편리하다.
728x90

'개발공부 개발새발 > OS' 카테고리의 다른 글

OS ) 시스템콜, 코루틴, 그리고 이벤트 루프란?  (0) 2024.10.29
OS ) CPU와 메모리  (0) 2023.11.02
OS ) 운영체제의 구성  (2) 2023.10.23
OS ) 운영체제의 발전  (1) 2023.10.22
OS ) 운영체제 소개  (0) 2023.10.21