● 메모리 역사
– Core memory
– 진공관 메모리
– 트랜지스터 메모리
– 집적회로 메모리: SRAM, DRAM
● 메모리 용량
– 1970년대: 8-bit PC 64KB
– 1980년: 16-bit IBM-PC 640KB > 1MB > 4MB
– 1990년: 수MB > 수십 MB
– 2000년~: 수백 MB > 수 GB
● 프로그램 변천
– 기계어/어셈블리어 작성
– C언어 작성 : 60~70년대
– 자바, 객체지향형 언어 작성
– 숫자 처리 > 문자 처리 > 멀티미디어 처리 > Big Data
● 메모리 구조
– 주소(Address) + 데이터(Data)
● 프로그램 개발
– 원천파일 (Source file): 고수준언어 또는 어셈블리언어
– 목적파일 (Object file): 컴파일 또는 어셈블 결과 / object 파일들을 모아둔 것을 라이브러리
– 실행파일 (Executable file): 링크 결과
● 컴파일러, 어셈블러, 링커, 로더
– Compiler, assembler, linker, loader(메인 메모리에 올리는 것)
● 프로그램 실행: code + data + stack
● 실행파일을 메모리에 올리기
– 메모리 몇 번지에?
– 다중 프로그래밍 환경에서는?
● MMU 사용