본문 바로가기

컴퓨터 시스템4

# 07. 하드웨어와 운영체제(2) / 메모리 관리 [ 하드웨어와 운영체제(2) - 메모리 관리 ] + 저장장치 계층 구조 (about 하드웨어 ) * 캐시(cache) : 메인메모리보다 작은 용량 - 메인 메모리의 일부만 저장하며 좀 더 빠른 저장소에 정보를 복사하는 것을 캐싱이라고 함 - 캐싱은 재사용성을 목적으로 함 - 똑같은 메모리를 여러 곳에서 요청하면 캐시를 이용하여 빠르게 보냄 - secondary는 main memory의 swap area로도 쓰일 수 있음 + 프로그램 실행시의 메모리 load 순서 작성한 코드가 컴파일 되면 실행파일 형태로 하드디스크(file system, 비휘발성)에 저장됨 이 파일이 실행되면 프로세스로 메모리에 로드되어 실행되는 것 근데 바로 물리적인 메모리로 가는 건 사실 아님 한단계 있는데 그건 바로 virtual .. 2020. 10. 15.
# 05. 운영체제 OS [ 운영체제 (Operating System, OS) ] 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 # 범위에 따른 운영체제의 범위 + 협의의 운영체제 (커널) : 운영체제의 핵심부분으로 메모리에 상주하는 부분 + 광의의 운영체제 : 커널뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념 # 운영체제의 목적 + 관리대상 자원 : 하드웨어 + 프로세스 + 파일 등 ... (소프트웨어 자원도 관리대상 포함) + 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 + 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공 + 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행 + 컴퓨터 시스템의 자원을 효율적으로 관리 + 프로.. 2020. 10. 15.
# 04. 프로그램 컴파일 과정 (고급언어가 실행되기 까지) [ 고급 언어의 기계어 변환 및 실행 ] # 프로그램 빌드 과정 / 컴파일 과정 1) 고급 언어 프로그램(source file)이 컴파일러에 의해 컴파일되어 어셈블리 프로그램으로 변환시킨다. ** 컴파일러 : 고급언어로 작성된 명령어를 기계어로 변환하는 프로그램 2) 어셈블리 프로그램은 어셈블러를 통해 기계어 프로그램(object file)으로 변환된다. ** 어셈블러 : 어셈블리어를 기계로 변역하는 프로그램 ** 어셈블리어 : 기계어를 의미있는 단어로 바꾸어 사람들이 이해하기 쉽게 만든 언어 3) 이미 내장되어 있는 기계어 프로그램(object, library file)과 링커를 통해 링킹되어 실행파일(executable file / .exe)이 생성된다. ** 링커 : 여러 object file 및 .. 2020. 10. 15.
# 03. Procedure Call in MIPS # Procedure Call in MIPS * 모든 MIPS instruction은 32bit(=4byte)로 크기가 균일 † procedure : 특정 작업을 수행하기 위한 여러 연산의 묶음 ( =함수) + 호출 이후에도 값이 유지되어야 하는 registe의 저장 + return address의 저장 + argument의 전달 in MIPS, 레지스터의 각 칸은 나름의 각자 역할이 있다. * 0번째 칸은 항상 0만 저장한다 * A함수가 작업하다가 B함수를 호출할 때, A는 이미 레지스터를 맵핑을 하여 사용하고 있었을 것이다. 하지만 B도 레지스터에 맵핑해서 사용하고 싶을 것이다. 더 빠르니까 근데 B가 맵핑해버리면 A함수가 사용하던 데이터가 B에 덮여서 사라져버린다. 따라서 A가 사용하던 데이터(레지.. 2020. 10. 9.