오전에 컴퓨터 시스템
오후에 자료구조, 정렬 공부
정렬 기본 문제 풀면서 최대한 많은 종류의 정렬을 접해보기 위해 여러가지 찾아보고 시도함
sort가 성능이 제일 좋아서 시간, 메모리 제한 있는 문제는 퀵정렬로 안되는거보니 sort로만 되는듯
나는 확실히 책 보면서 이론 공부하는 게 잘 맞는 것 같다
컴퓨터 시스템 굉장히 흥미롭고 새롭다.
지식이 늘어나는 기분이다.
정렬, 컴퓨터시스템 ~1.4 까지 마무리 못지은게 아쉽다
내일 보충학습 해야겠다

버스(Buses) : 시스템 내를 관통하는 전기적 배선군, 컴포넌트들 간의 word라는 고정 크기의 바이트 단위로 바이트 정보를 전송한다. ( word는 주로 4바이트(32비트), 8바이트(64비트))
입출력 장치 : 시스템과 외부세계 연결, 입출력 버스와 컨트롤러 or 어댑터로 연결.
-- 컨트롤러 : 칩셋이거나 시스템의 인쇄기판(머더보드)에 장착
-- 어댑터 : 머더보드 슬롯에 장착되는 카드
-- 칩셋 : PC(personal computer)에서 비용절약을 위해 동작에 필요한 각종 집적회로를 하나로 통합한 것
-- 머더보드(메인보드) : 각 부품에 전원을 공급하고, 부품 간 신호를 주고 받는 통로 담당, 순환계, 신경계
메인 메모리 : 프로세서가 프로그램을 실행하는 동안 데이터와 프로그램을 모두 저장하는 임시 저장 장치, 물리적으로 DRAM( Dynamic Random Access Memory) 칩들로 구성
-- 메모리 : 연속적인 바이트들의 배열, 각각 0부터 시작하는 고유의 주소(인덱스)를 가짐, 일반적으로 프로그램을 구성하는 변수들의 데이터 크기는 데이터 명에 따라 다름
프로세서 : 메인 메모리에 저장된 인스트럭션들을 해독(실행)하는 엔진. 중심에는 워드 크기의 저장장치 or 레지스터인 프로그램 카운터( PC )가 있다.
-- 프로그램카운터( PC) : 다음에 실행될 명령어의 주소를 가지고 있어 실행할 기계어 코드의 위치 저장 -> 명령어 포인터
-- I/O 기기
--- Input : 마우스, 키보드, 카메라 등
--- Output : 모니터, 스피커, 프린터 등
--- In/Out : 네트워크, 저장매체
--- I/O 기기는 인터페이스를 통해 연결 ex) HDMI, USB
프로세서는..
1. PC가 가리키는 메모리의 인스트럭션을 읽어오고
2. 비트들을 해석하여 인스트럭션의 명령 동작을 수행하고
3. PC를 업데이트
and 메인 메모리, 레지스터 파일, 수식/논리 처리기(ALU) 주위를 순찰
-- 프로세서 레지스터 : CPU 내부의 메모리 장치
-- 레지스터 파일은 워드 크기의 레지스터 집합으로 구성, ALU는 새 데이터와 주소 값 계산
파이썬의 자료형
-- 뮤터블 : list, dic, set 등 값 변경 가능
-- 이뮤터블 : int, float, str, tuple 등 값 변경 불가능
-- 대입식은 값이 아닌 객체의 식별 번호 대입
자료구조 DATA STRUCTURE
-- 데이터 단위와 데이터 자체 사이의 물리적 or 논리적 관계
이터러블
-- 원소를 하나씩 꺼내는 구조
-- 이터러블 객체를 내장함수 iter()의 인수로 전달 시 해당 객체에 대한 이터레이터(반복자)를 반환
-- 데이터의 나열을 표현하는 객체
-- 이터러블 객체 : list, str, tuple 등 , range() 처럼 반복 가능한 객체