Toby's Study Blog
article thumbnail
Published 2023. 8. 10. 11:27
컴퓨터 & 운영체제 cs기초

컴퓨터란?

하드웨어 자원과 소프트웨어 자원을 기반으로 작동하는 기계

  • 하드웨어 자원
    컴퓨터의 물리적 구성 요소를 의미(e.g. CPU, 메모리, 하드 디스크, 그래픽 카드, 입출력 장치)
  • 소프트웨어 자원
    컴퓨터의 논리적 구성 요소를 의미(e.g.  운영체제, 응용 프로그램, 데이터베이스)

운영체제 (OS) 란?

사용자가 컴퓨터를 사용할 수 있도록 도와주는 소프트웨어이며 아래와 같은 역할을 한다.
사용자가 원하는 운영체제(e,g, Window, Ubuntu)를 부팅시 사용할 디스크에 설치를 통해 사용한다.

  1. 인터페이스 제공
    사용자와 컴퓨터 간의 상호 작용을 위한 인터페이스(UI, UX)를 지원한다. 
  2. 자원 관리
    하드웨어, 소프트웨어 자원을 관리한다. 
  3. 프로그램 실행
    각종 프로그램이 실행될 수 있는 환경을 제공한다.
  4. 시스템 보안 제공
    컴퓨터 시스템을 보호한다.

운영체제의 구조

운영체제 구조

  1. 드라이버
     하드웨어를 제어하기 위한 소프트웨어이며 운영체제의 명령을 하드웨어에 전달하는 역할을 함 
  2. 커널
    자원 관리, 프로그램 실행, 시스템 보안 제공 기능을 하며 프로그램 동작이 아래와 같이 이루어진다.
    1) 시스템 호출 -> 2) 커널 함수 동작 -> 3) 드라이버를 통한 명령 전달 -> 4) 하드웨어 실행 -> 5) 프로그램 실행
    2.1 유저 모드
    유저가 접근할 수 있는 영역을 제한적으로 두며 컴퓨터 자원에 함부로 침범하지 못하는 모드
    2.2 커널 모드
    모든 컴퓨터 자원에 접근할 수 있는 모드
  3. 시스템 콜
    응용 프로그램이 동작되기 위해 커널 동작이 필요할 때 응용 프로그램은 시스템 호출을 통해 커널에 필요한 커널 함수 실행요청을 보낸다.   
  4. 인터페이스
    키보드, 마우스, 화면 등 다양한 입력 장치를 통해 사용자의 입력을 받아들이고, 화면, 프린터 등 다양한 출력 장치를 통해 사용자에게 정보를 제공한다.

유저 모드 & 커널 모드

 

CPU

컴퓨터 하드웨어 자원 중 하나이며 사람의 뇌라고 이해하는 것이 가장 쉽다.
산술논리연산장치, 제어장치, 레지스터로 구성되어 있으며 각각의 장치를 통해 필요한 명령들을 처리한다.

  1. 제어장치(Control Unit)
    커널로 부터 온 명령어들을 읽고 해석하여 데이터 처리를 위한 순서를 결정하는 CPU의 동작을 제어하는 역할을 한다.
    (※ 커널리스 프로그램의 경우 프로그램 -> CPU로 바로 명령어를 보내기도 한다.)
  2. 레지스터
    CPU가 현재 작업에 필요한 데이터를 저장하며 연산 속도가 메모리 중 가장 빠르다.
  3. CPU 캐시 메모리
    CPU가 자주 사용하는 데이터를 저장하여 연산 속도를 높이는데 사용한다.
  4. 산술논리연산장치
    논리 연산을 계산하는 디지털 회로로써 산술 연산, 논리 연산, 비트 연산을 수행한다.
  5. 메모리 버스 
    CPU에서 메모리에 접근할 때 사용되는 장치
  6. 인터럽트 컨트롤러
    CPU가 외부 장치로부터 인터럽트를 받을 때 이를 처리하는 장치
  7. 타이머
    CPU가 일정 시간마다 특정 작업을 수행하도록 하는 장치

CPU 동작

메모리

CPU에서 저장이 필요한 데이터를 컴퓨터에 저장할 수 있도록 하는 일종의 저장 장치이며 아래와 같이 구분된다.

  1. 레지스터
    CPU 내부에 있는 임시 저장 장치
  2. 캐시 메모리
    CPU와 메인 메모리 사이에 있는 고속 메모리, CPU가 자주 사용하는 데이터를 임시로 저장
  3. 메인 메모리(RAM)
    프로그램을 실행할 때 사용하며 CPU에서 직접 접근하기 때문에 보조 저장 장치에 비해서 접근 속도가 빠르다.
    저장된 데이터가 시간과 전원의 끊김에 따라 소멸되는 특징이 있다.
  4. 보조 저장 장치(HDD, SSD)
    플러터와 헤드가 회전하면서 데이터를 읽거나 쓰기 때문에 속도가 느리다. 
    저장된 데이터가 시간과 전원의 끊김에 따라 소멸되지 않는 특징이 있다.

메모리의 계층 구조

 

'cs기초' 카테고리의 다른 글

컴파일러 & 기타  (0) 2023.08.10
프로세스 & 스레드 & 메모리  (0) 2023.08.10
네트워크  (0) 2023.08.10
profile

Toby's Study Blog

@Toby12

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그