일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- docker
- 코딩테스트
- 자료구조
- nginx
- 개발공부
- github
- git
- 장고
- JWT
- 쿠키(cookie)
- redis
- 파이썬
- NoSQL
- viewsets
- 티스토리챌린지
- SQL
- web
- 도커
- Wil
- Python
- CS
- django
- Doker
- 오블완
- 아티클 스터디
- 연습
- ERD
- Til
- flask
- 세션(Session)
- Today
- Total
SteadyDrills
[TIL] CS(Computer Science) 기초1 - 하드웨어(Hardware), OS(운영 체제, Operating System) 본문
[TIL] CS(Computer Science) 기초1 - 하드웨어(Hardware), OS(운영 체제, Operating System)
Drills 2024. 7. 25. 21:58240725
CS (Computer Science) - 컴퓨터 공학
컴퓨터와 계산에 관한 이론, 실험, 공학을 포함하는 학문이다.
주요 연구 분야로는 프로그래밍, 알고리즘, 데이터 구조, 소프트웨어 개발, 인공지능, 네트워크 등이 있다.
개발자가 CS를 공부해야 하는 이유
- 문제 해결 능력 향상 : 복잡한 문제를 효율적으로 해결할 수 있다. CS는 알고리즘과 데이터 구조와 같은 핵심 개념을 가르치기 때문이다.
- 기초 개념 이해: CS를 공부함으로써 다양한 프로그래밍 언어나 도구를 배울 때 더 쉽게 습득할 수 있다. 이는 기본 원리가 공통적이기 때문이다.
- 성능 최적화: 효율적인 코드 작성을 위해서는 알고리즘과 데이터 구조에 대한 이해가 필요하다.
하드웨어 (Hardware)
컴퓨터 시스템을 구성하는 물리적 요소들을 의미한다. 소프트웨어(Software)와 대조적으로 하드웨어는 만질 수 있고, 물리적으로 존재하는 모든 전자 장치와 부품들을 말한다.
주요 구성 요소
1. 연산 장치
중앙 처리 장치(CPU: central processing unit ): 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치를 말한다. 흔히 말하는 인간의 뇌 역할
그래픽 처리 장치(GPU:graphic processing unit): 컴퓨터 시스템에서, 그래픽 연산을 빠르게 처리하여 결괏값을 모니터에 출력하는 연산 장치.
2. 기억 장치( Memory )
주 기억 장치 (RAM:RandomAccessMemory): CPU에서 직접 접근이 가능한 메모리이다. 수치·명령·자료 등을 기억하는 할 수 있다. 또한 RAM은 일반적으로 전원이 차단되면 내용이 지워지는 휘발성 기억 장치이다.
보조 기억 장치: CPU에서 직접 접근이 불가능한 메모리이다. 접근하려면 기억장치의 특정 위치의 내용을 주기억장치로 로드(Load)한 뒤에 읽을 수 있다. HDD, SSD 등이 여기 속한다.
3. 입출력 장치
입력 장치: 사람이 조작함으로써 컴퓨터에 신호를 보내는 장치이다. 마우스, 키보드, 조이스틱, 태블릿 등이 속한다.
출력장치: 빛, 소리 등으로 컴퓨터의 결과물을 출력하는 장치이다. 모니터, 스피커, 이어폰 등이 있다.
4. 메인보드 (Mainboard): 머더보드(Motherboard),
5. 전원장치
파워서플라이(power supply unit, PSU): 부품에 필요한 전압과 전류로 변환해 전원을 공급하는 컴퓨터 부품이다.
OS(운영 체제, Operating System)
운영 체제는 컴퓨터 시스템의 중추적인 역할을 한다. 사용자가 컴퓨터 시스템을 효율적으로 사용할 수 있도록 돕는다.
주요 운영 체제 예시
- Windows:
- 마이크로소프트에서 개발한 운영 체제로, 개인용 컴퓨터에서 가장 널리 사용된다.
- 호환성이 뛰어나며 사용자 친화적인 인터페이스를 가지고 있다.
- macOS:
- 애플이 개발한 운영 체제로, Mac 컴퓨터에서 사용된다.
- 직관적인 사용자 인터페이스와 하드웨어와 최적화가 잘되어 있다.
- Linux:
- 오픈 소스 운영 체제이다.
- 서버, 데스크톱, 임베디드 시스템 등에서 널리 사용된다.
*중요 개념!
- 프로세스 (Process)
- 실행 중인 프로그램, CPU에서 실행되는 독립적인 작업 단위이다.
- 프로세싱 (Processing)
- 프로그램의 실행, 데이터 처리, 연산 등 작업의 수행을 의미한다.
- 멀티태스킹 (Multitasking)
- 동시에 여러 작업이나 프로세스를 하나의 시스템 or CPU가 수행하는 것이다. 실제로는 동시가 아닌 빠른 속도로 여러 작업을 번갈아 수행한다.
- 멀티프로세싱 (Multiprocessing)
- 여러 CPU를 사용하여 동시에 여러 프로세스를 실행하는 방식이다.
- 멀티스레드 (Multithread)
- 하나의 프로세스 내에서 여러 스레드가 동시에 실행되는 것이다. ex) 크롬 안에 여러 탭을 열고 있는 것
- 스케줄링 (Scheduling)
- 성능을 위해서 CPU의 자원을 여러 프로세스에 분배 및 관리하는 방법.
- 커널 (Kernel)
- 운영 체제의 핵심 부분으로, 하드웨어와 소프트웨어 간의 상호작용을 관리.
- 터미널 (Terminal)
- 명령어를 입력하고 결과를 표시하는 텍스트 기반 인터페이스.
- CUI (Character User Interface)
- 문자 기반 사용자 인터페이스로, 명령어를 입력하여 시스템과 상호작용한다. ex) Windows 명령 프롬프트 ( Windows Command Prompt )
- GUI (Graphical User Interface)
- 그래픽 요소를 사용하여 사용자와 시스템 간의 상호작용을 제공하는 인터페이스이다. ex) Windows OS 등
'CS' 카테고리의 다른 글
쿠키(Cookie)와 세션(Session) (1) | 2024.09.02 |
---|---|
CS- 스크립트(Script)언어 와 컴파일러(Compiler)언어 (0) | 2024.08.20 |
개체 관계 다이어그램 (ERD : Entity Relationship Diagram)이란? (0) | 2024.08.14 |
객체지향 프로그래밍 (Object Oriented Programming, OOP)이란? (0) | 2024.08.07 |
CS - 프로토콜(Protocol)이란? (0) | 2024.07.29 |