컴퓨터 구조 (아키텍처)
하드웨어,소프트웨어 사이의 인터페이스 정의
고수준 프로그래밍 언어 -> 어셈블리 -> 기계어의 변역 과정과 실행 모델
컴퓨터 하드웨어의 구성
중앙처리장치 : CPU
제어 신호 발생주기억장치 : 메모리
보조기억장치 : Storage
입출력장치 : I/O 디바이스
프로그램의 번역 단계
프로그램 번역/실행의 2가지 모델
운영체제 OS
컴퓨터 하드웨어 자원의 효율적 활용
운영체제 : 컴퓨터 시스템이 살아가기 위하여 반드시 필요한 소프트웨어의 모음
운영체제의 분류
운영체제의 역할
운영체제 커널
완전한 권한을 가지고 있음프로세스
컴퓨터 시스템에서 CPU 및 메모리를 이용하여 실행 중인 작업
프로그램과 차이점 : 프로그램 : 실행 가능한 코드 / 프로세스 : 실행 중인 프로그램
프로세스 관리
운영체제가 관리프로세스와 스레드
한번의 작업만 진행동시에 여러 작업을 진행스케줄링
메모리와 입출력 관리
운영체제의 컴퓨팅 시스템 자원의 추상화
운영체제의 추상화 : 하드웨어의 복잡한 동작을 간단하게 사용할 수 있도록 사용자와 개발자에게 숨기는 과정
프로세스 : CPU 시간에 대한 추상화
가상 메모리 : 메모리 공간에 대한 추상화
메모리 계층 구조와 가상 메모리
가상메모리
데이터의 저장과 인출 (검색)
데이터베이스의 구성 요소
개체와 그들이 가지는 속성, 그리고 개체 사이의 관계데이터베이스 장점
관계형 데이터베이스 Relational DB
- 키 : 한 튜플을 다른 튜플들과 구별하는 하나 이상의 속성의 집합
- 참조 무결성 : 참조할 수 없는 외부키를 가질 수 없음
- 개체 무결성 : 기본키에 속하는 속성은 비어 있을 수 없음
- 관계형 대수 연산
- 릴레이션을 대상으로 릴레이션을 만들어 내는 `수학적 연산`의 집합
- 합집합 , 교집합 , 차집합 , 곱집합 , 프로젝션 , 셀렉션 , 조인
SQL
트랜잭션
데이터베이스 활용
비정형 데이터 (사진 , 동영상 처럼 정리되지 않은 데이터)
설계된 모델이나 구조로 구성되지 않은 데이터
질적인 것으로 분류되어 인간 또는 기계에 의하여 생성됨
ex) 사물 인터넷 , 텍스트 데이터
비정형 데이터 처리의 어려움
벡터 DB (비정형 데이터 관리를 위해 등장)
NoSQL (Not Only SQL)
RDBMS와는 다른 방식으로 데이터를 저장하고 색인
유연성 , 확장성 , 고성능
종류
활용