C S 강 의
1. 컴퓨터 구조와 운영체제
- 하드웨어
ㅁ 메인보드
- 컴퓨터의 부품 및 장치들을 설치하여 연동할 수 있게끔 하는 부품
ㅁ CPU(중앙처리장치)
- 컴퓨터의 두뇌역할을 함
- 명령어를 해석하여 연산을 수행
- 컴퓨터의 성능에 크게 관여함.
ㅇ 클럭
- CPU의 처리속도를 나타내는 단위
- '오버클럭' 기존의 컴퓨터의 속도를 강제로 빠르게하는 기술
ㅁ GPU(그래픽처리장치)
- 그래픽 연산을 하기 위해 병렬처리를 할 수 있도록 설계
- 병렬처리 : 수천개의 코어가 동시연산작업하는 것
=> GPU 심화
- AI를 학습하는 작업도 수행함
- 쉽지만 많은 양의 연산을 수행해야 해서
CPU < GPU
ㅁ 주기억장치
컴퓨터의 수치, 자료, 명령등 기억 프로그램및 운영체제가 실행되기 위해 위치되는 곳
ㅇ RAM
- 운영체제가 적재됨
- 휘발성 메모리 (껏다키면 삭제됨)
=> 심화
- DRAM과 SRAM 2가지 종류가 있음
- DRAM : 우리가 일반적으로 알고있는 램
- SRAM : CPU 내부에서 CPU,DRAM의 속도차이를 해결하기 위해 캐시메모리역할 수행
=> 심화2
CPU,GPU,RAM등 이런 중요부품들에는 '반도체'라는 물질 사용
- 반도체 : 전기가 흐르는 '도체'와 전기가 흐르지 않는 '부도체'의 중간 성질
사용하는이유는?? : 전류를 제어하는데 있어서 매우!! 탁월함
ㅁ 보조기억장치
- 비 휘발성 메모리
- 운영체제 및 일반 프로그램들 저장
- RAM보다 속도가 느려서 적재용으로 주로사용
보조 기억 장치 |
정의 | 장점 | 단점 |
하드 디스크 (HDD) |
동그란 원판에 물리적으로 접근하여 데이터를 적재하는 보조기억장치 | · 데이터 복구가 쉬움 · 가격이 저렴 |
· 처리속도가 느림 · 물리적으로 약함 |
SSD | 반도체의 전기신호를 이용하여 데이터를 적재하는 보조기억장치 | · 처리속도가 빠름 · 물리적으로 튼튼 |
· 데이터 삭제시 복구가 어려움 ·가격이 비쌈 |
ㅁ 입력장치
사용자가 컴퓨터를 조작할 수 있게 해주는 모든 장치
- 종류 : 마우스,키보드,스캐너,마이크,카메라 등등...
ㅁ 출력장치
컴퓨터가 사용자에게 조작을 받아 표현하는 모든장치
- 종류 : 모니터, 스피커, 프린터, 조명 등등...
ㅁ OS(운영체제)
사용자가 컴퓨터를 조작 및 제어하고 작업의 편의성을 제공하기위한 '시스템 소프트웨어'
ㅇ 운영체제의 목적
- 처 리 능 력 : 일정 시간내에 시스템이 처리하는 작업량
- 반 환 시 간 : 작업을 완료할 때까지 걸리는 시간
- 사용 가능도 : 요청이 있을 때 즉시 사용 가능한 정도
- 신 뢰 도 : 주어진 요청을 정확하게 해결하는 용도
ㅇ 운영체제 주요 자원관리
- 프로세스 관리 : 실행되는 프로그램을 관리
- 기억장치 관리 : 프로세스에게 할당된 메모리 관리
- 주변장치 관리 : 입출력 장치 관리
- 파 일 관 리 : 파일의 생성과 삭제, 변경, 유지관리
ㅇ 다양한 운영체제
운영체제(OS) 종류 | 장점 | 단점 |
WinDows | · 사용자 친화적 · 인터페이스 구성 표준화 · 확장성 · 넓은 사용자 커뮤니티 |
· 보안 취약함 · 라이센스 비용 · 불확실한 업데이트로 인한 버그 |
MacOS | · 우수한 보안성 · 하드웨어 최적화 · 소프트웨어 생태계 (일명 사과농장) |
· 고비용 · 제한적인 커스터마이징 · 제한적인 호환성 |
IOS | · 보안 · 일관된UI · 앱 스토어 및 생태계 · 최신 기술 지원 |
· 제한적인 커스터마이징 · 앱 호환성 · 파일관리 및 접근 어려움 · 고비용 · 하드웨어 제한 (사과농장) |
Linux | · 무료 · 보안 · 커스터마이징 · 다양한 배포판 |
· 소프트웨어 호환성 · 인터페이스가 어려움 · 상용지원이 부족함 · 사용자 입문이 어려움 |
안드로이드 | · 무료 · 광범위한 기기지원 · 소프트웨어 생태계 · 구글 서비스와 통합 · 커스터마이징 |
· 버전에 따른 호환성 문제 · 보안 · 개인정보 |
■ 반드시 알아야 할 개념 ■ | |
프로세스 | · 실행중인 프로그램을 의미 |
프로세싱 | · 프로그램이 실행중인 것을 의미함 |
★ 멀티 테스킹 |
· 하나의 시스템 또는 CPU가 여러 작업을 수행하는 것 · 동시에 처리가 되는 것은 아니고 시분할 방식을 통해 동시에 처리되는 것처럼 보임 · 큼지막한 작업 단위 ex_)유튜브 구글링을 하고 문서작성을 하는 것 (작업단위) |
★ 멀티 프로세싱 |
· 두 개 이상의 프로세스가 동시에 실행되는 것 · 여러개의 CPU가 여러 작업을 동시에 수행함 ex_) 크롬열고 롤하고 유튜브하는 것 (프로그램 단위) |
★ 멀티 스레드 |
· 하나의 프로세스가 여러작업 단위를 가지며 작업을 수행하는 것 · 멀티테스킹 보다 작은 단위 ex_) 크롬브라우저 하나 켜놓고 다른 여러개 사이트 틀어놓는 것 |
스케줄링 | · 작업에 필요한 자원을 언제 누가 어떻게 사용할지 결정해 주는 것 |
커널 | · 하드웨어와 응용프로그램 사이에서 인터페이스 역할 수행하기 위한 핵심부분 |
터미널 | · 사용자와 컴퓨터 간에 상호작용을 제공하는 인터페이스 |
CUI | · 사용자가 문자를 통해 명령을 수행하는 것 |
GUI | · 사용자가 그래픽을 통해 명령을 수행하는 것 |
○ 이해하기위한 정리 한번 더
멀티 쓰레드 – 프로세스가 하는 작업단위
ex) 크롬에 구글, 네이버, 네이트를 켜놓는거
멀티 프로세싱 – 여러개의 프로세스들이 동시에 진행
ex) 롤(프로그램)켜놓고, 유튜브(프로그램)보고 하는거
멀티 테스킹 – 작업단위
ex) 롤(작업)켜놓고, 유튜브(작업)보고, 문서작성(작업)
'Daily note' 카테고리의 다른 글
Today I Learned(TIL)-33(CS정리3) (0) | 2024.08.08 |
---|---|
Today I Learned(TIL)-33(CS정리2) (0) | 2024.08.07 |
Today I Learned(TIL)-31 (0) | 2024.08.05 |
Today I Learned(TIL)-30 (0) | 2024.08.02 |
Today I Learned(TIL)-29 (0) | 2024.08.01 |