오늘 CS주차에 들어가게 되었는데 여기서부터는 암기할 내용이 많아져서
블로그에 내용을 정리하며 그 날 배운것들을 남기려고 한다.
하드웨어란?
컴퓨터 등의 시스템을 구성하는 요소로서 특정한 목적을 위한 물리적 구성품, 장비 등을 통칭한다.
CPU: 중앙처리장치라고 하며 컴퓨터의 중앙에서 모든 데이터를 처리하는 장치다.
컴퓨터의 두뇌에 해당하며 사용자로부터 받은 명령을 해석, 연산한 후 결과를 출력해주는 역할을 한다.
GPU: 그래픽 처리 장치라고 하며 Desktop, Labtop을 비롯한 다양한 장치에서
컴퓨터 그래픽 및 이미지 처리 속도를 높이도록 설계된 회로이다.
CPU에 비해서 수학적 계산을 빠르게 더 수행하지만 단순 작업의 영역이라 머신 러닝이나, 블록체인 같은 기술에 쓰인다.
GPU는 초등학생이 수천명이 있는것에 비해 CPU는 석사과정을 나온 사람이 4~5명 있다고 보면 된다.
주기억장치: 주기억장치는 컴퓨터 내부에서 현재 CPU가 처리하고 있는 내용을 저장하는 기억장치로
크게 ROM과 RAM으로 나뉜다.
- ROM: 전원이 끊어져도 기록된 데이터들이 소멸되지 않는 비휘발성 메모리로 데이터를 읽기만 가능하다.
데이터를 저장한 후 반영구적으로 사용할 수 있다는 점 때문에 기억하고 변화시키면 안 되는 BIOS 같은 데이터가 저장된다. - RAM: ROM과 달리 읽고 쓰기가 가능하며 응용 프로그램이나 운영 체제를 불러와 CPU가 작업할 수 있도록 하는 장치다. 전원이 끊어지면 데이터가 전부 지워지기 대문에 휘발성 메모리라고 한다. 따라서 실행하고 있는 파일은 항상 보조기억장치에 저장을 해줘야 한다.
보조기억장치: 주기억장치의 용량 부족을 보완하기 위하여 쓰는 외부 기억 장치로 대표적으로 HDD와 SSD가 있다.
- HDD: 물리적인 디스크를 회전시켜 데이터를 저장하는 장치로 디스크에 물리적으로 저장하기 때문에 충격에 약하며 외부 환경에 영향을 많이 받는다.
- SSD: 플래시 메모리를 사용하고 반도체 기반의 정보를 저장하는 기억장치로 전기적으로 데이터를 저장하기 때문에 속도가 빠르며 경량화, 소형화가 가능하다. HDD에 비해 가격이 비싸다는 단점이 있다.
운영체제(Operating System)란?
운영체제는 컴퓨터 시스템의 핵심 소프트웨어로, 컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관리하고 제어하는 역할을 한다.
운영체제의 목적은 사용자와 하드웨어 사이의 인터페이스를 제공해 효율적으로 응용 프로그램이 동작하도록 지원하고, 시스템 자원을 효율적으로 관리하여 응용 프로그램이 원활하게 동작할 수 있도록 한다.
운영체제는 컴퓨터 시스템의 하드웨어 자원을 관리하고, 컴퓨터 메모리, 프로세스, 디스크 및 파일 시스템을 관리하고
입출력 장치와 상호작용뿐만 아니라 CLI나 GUI같은 사용자 인터페이스를 제공한다.
또한 네트워크를 관리하고 네트워크 프로토콜을 지원하며 컴퓨터 간의 통신을 가능하게 하고 오류 처리나 보안 유지 기능도 제공한다.
※ 필수로 알아두면 좋은 개념들
프로세스: 컴퓨터에서 실행중인 프로그램을 의미한다.
프로세싱: 프로그램이 실행중인 상태를 의미한다.
멀티태스킹: 컴퓨터에서 여러 작업을 동시에 실행하는 능력으로 모니터에 화면을 띄운다거나, 입출력 수행과 같은 큰 작업들을 의미한다.
멀티프로세스: 두개 이상의 프로세스가 동시에 실행되는 것이다.
멀티스레드: 하나의 프로세스를 다수의 작업 단위로 나누고 자원의 생성, 공유, 관리의 중복성을 최소하 하여 수행 능력을 향상 시키는 것이다.
스케쥴링: 프로세스가 생성되어 실행될 때 필요한 시스템의 여러자원을 해당 프로세스에 할당하는 작업이다.
커널: 시스템의 모든 중요한 관리 작업을 담당하며 하드웨어와 소프트웨어 사이의 통신을 조정하고 시스템 리소스를 할당한다.
터미널: 컴퓨터와 사용자 간 텍스트의 입출력을 통해 상호작용하는 컴퓨터 인터페이스로 윈도우에서는 cmd로 통한다.
사용자 인터페스중에 CLI(Command Line Interface)로 통한다.
오늘 특강을 들으면서 놓친 부분이 많아서 인터넷에서 찾아보며 내 나름대로 정리한 것이다.
내일부터는 노트에 먼저 정리하고 블로그에 글을 쓰며 한번 더 복습하는 시간을 가지면 될 것 같다.
'CS' 카테고리의 다른 글
[CS] 웹 지식 복습 및 추가 정리 (1) | 2024.08.12 |
---|---|
[CS] 소프트웨어 문서 (0) | 2024.07.31 |
[CS] 빅데이터 및 인공지능 (0) | 2024.07.30 |
[CS] 네트워크 (0) | 2024.07.29 |
[CS] 소프트웨어 설계 (0) | 2024.07.26 |