ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Computer Science 컴퓨터의 구조와 특징
    Computer Science 2024. 7. 26. 07:36

    민준튜터님의 CS 강의를 들으며 적잖이 놀랐다.. 

    다들 많이 알고 여러가지 질문들을 쏟아내는데 난 스레딩이고 스레드고..잘 모르겠다... 멅티테스킹과 멀티프로세싱의 차이는 뭔지..... 

    서점가서 책 한 권 사야겠다.. 

     

    입력장치와 출력장치를 갖추고 있고, 컴퓨터 내부에는 연산을 처리하는 CPU와 저장을 하기 위한 저장장치가 있다.

     

    사실 이게 내가 이해하고 있었던 컴퓨터(사이언스)의 전부다..


     

     

    cpu (중앙처리장치)

     

    컴퓨터 내부에서 연산을 처리하는 아주 큰 계산기라고 보면 되는데, 컴퓨터의 주된 일을 처리하는 애다. 박사급의 똑똑한 두뇌를 가진 녀석이다. 


     

    주기억장치 (Computer Memory, Primary Memory)

     

    컴퓨터 내부에서 현재 cpu가 처리하고 있는 내용을 저장하고 있는 기억장치로 비교적 용량이 크고 처리 속도가 빠르다.

    특징: cpu의 명령에 의해 기억된 장소에 직접 접근하여 읽고 쓸 수 있다.

     

    • ROM (Read Only Memory)

    롬은 전원이 끊겨도 기록된 데이터들이 소멸되지 않는 비휘발성 메모리댜. 이름처럼 데이터 읽기전용 장치다.

    롬은 데이터를 저장한 후 반영구적으로 사용할 수 있다. 그래서 시스템에 기억시키고 변화시키면 안 되는 BIOS와 같은 주요 데이터는 이 장치에 저장된다.  롬은 데이터를 한 번 저장하면 수정할 수 없지만

     

    PROM(1 번 다시 쓰기 가능)

    EPROM(무한)

    EEPROM() → 특수한 방법을 통해 데이터를 삭제한 후 다시 쓸 수 있다.

     

    • RAM (Random Access Memory)

    램은 롬과 달리 읽고 쓰기가 가능하며 응용 프로그램, 운영체제 등을 불러와 cpu가 작업할 수 있도록 하는 기억장치다.

    데이터를 읽는 속도와 기록하는 속도가 같고 프로그램을 로딩하거나 데이터를 임시저장하는 곳에 사용된다.

    전원이 끊어지면 데이터가 전부 지워지므로 휘발성 메모리라고 부른다. 따라서 실행중인 파일은 항상 보조기억장치에 저장해야한다.

     

    특정 프로그램을 실행하며, 컴퓨터는 보조기억장치에 저장된 데이터를 주기억장치로 불러와 cpu가 해당 데이터를 처리하는 과정으로 실행된다. 주기억장치는 오직 기억된 정보만 읽을 수 있는 롬과 휘발성 메모리 램이기 때문에 데이터를 읽는 속도가 보조기억장치에 비해 상대적으로 빠르다.

     

    그 밖에 cpu와 주기억장치 사이의 속도 차이를 완화시켜주기 위해 고속 버퍼(임시) 메모리로, cpu와 주기억장치 사이에 존재하는 캐시 메모리(Cache Memory가 있다.


     

    보조 기억 장치

     

    보조기억장치는 물리적인 디스크가 연결되어 있는 기억장치다. 주기억장치보단 느리지만 전워을 끄더라도 저장된 데이터가 사라지지안고 영구적으로 보관할 수 있다.

     

    • HDD ( Hard Disk Driver)

    물리적인 디스크 고속으로 회전시켜서 데이터 저장.  디스크에 물리적으로 저장하기 때문에 충격에 약하며 소음이 발생한다.

    가장 대중적이었으나 ssd나오면서 현재 죽음

     

    • SSD (sodid state Driver)

    반도체 기반의 정보를 저장하는 기억장치. 데이터를 물리적 방식으로 저장하지 않고 전기적으로 방식으로 저장하기 때문에 HDD에 비해 속도가 월등히 빠르고 소음도 발생하지 않는다. 또한 전력소모가 적고 경량화, 소형화도 가능. 그러나 아직 비싸다.


     

    반드시 알아야 하는 개념

    • 프로세스: 실행중인 프로그램
    • 프로세싱: 프로그램이 실행중인 것을 프로세싱중이라고 한다.
    • 멀티테스킹: 하나의 시스템 또는 cpu가 여러 작업을 수행하는 것. 단, 동시에 처리가 되는 것은 아니고 시분할 방식을 통해 동시에 처리되는 것처럼 보이게 한다. (하나의 cpu가 여러 작업을 빨리 빨리 번갈아 가면서 수행한다)
    • 멀티프로세싱: 두개 이상의 프로세스가 동시에 실행되는 것 (여러개의 cpu가 여러 작업을 동시에 수행함)
    • 멀티스레드: 하나의 프로세스가 여러 작업 단위를 가지며 작업을 수행하는 것 (크롬 브라우저 하나 켜놓고 여러개의 사이트를 틀어놓는 것)
    • 스케줄링: 작업에 필요한 자원을 언제 누가 어떻게 사용할지 결정해 주는 것
    • 커널: 하드웨어와 응용 프로그램 사이에서 인터페이스 역할을 수행하기 위한 핵심 부분
    • 터미널: 사용자와 컴퓨터 간에 상호작용을 제공하는 인터페이스
    • CUI(Character User Interface): 사용자가 문자를 통해 명령을 수행하는 것을 의미

     

    음.. 오늘 계속 조금 더 생각해보기로..

     

Designed by Tistory.