운영체제
OS 정리 5 - 메모리 관리 (Memory Management) [1]
1. Background 프로그램은 (디스크에서) 메모리로 가져 와서 프로세스 내에서 실행되도록 해야 함 주 메모리 및 레지스터는 CPU가 직접 액세스 할 수 있음 레지스터는 하나의 CPU 클록 (또는 그 이하)으로 액세스 주 메모리는 많은 사이클을 수행할 수 있음 캐시는 주 메모리와 CPU 레지스터 사이에 위치 올바른 작동을 보장하기 위해 필요한 메모리 보호 2. Binding of Instructions and Data to Memory 프로그램은 기본적으로 이진 실행파일 형태로 디스크에 저장되며, 이를 실행하기 위해서는 프로그램을 메모리로 가져오는 것이 필요하다. 이때, 주소 바인딩은 크게 세가지 단계로 이루어진다. 1. 컴파일 시간 바인딩 - 만일 프로세스가 메모리 내에 들어갈 위치를 컴파일 시간..
OS 정리 3- 프로세스 & 쓰레드 (Process and Thread)
1. Process 정의 프로세스 : 수행중인 프로그램 텍스트, program counter와 register의 값, stack, data section, heap section을 포함한다. * 프로그램은 어떤 작업을 하기 위한 명령어 목록과 데이터를 묶어 놓은 파일이며, 보조 기억장치에 저장되어 있다. 간단하게 비유하면 프로그램은 레시피, 프로세스는 요리라고 보면 편하다. 프로세스의 상태 생성 상태(new) : 프로그램을 메모리에 가져와 실행 준비가 완료된 상태. 준비 상태(ready) : 실행을 기다리는 모든 프로세스가 자기 차례를 기다리는 상태 실행 상태(running) : 선택된 프로세스가 CPU를 사용하는 상태(실행되는 상태) 대기 상태(waiting) : 실행 상태에 있는 프로세스가 입출력을 ..
CS 스터디 - OS 정리 1
프로세서 (=CPU) 제어장치, 연산장치, 레지스터 그리고 데이터 버스로 구성된 디지털 시스템의 핵심 부분으로,프로그램을 기억장치로부터 읽어 연산 처리, 비교 처리, 데이터 전송, 편집, 변환, 테스트와 분기 등의 데이터를 처리하고, 각종 장치를 구동하는 역할을 한다. 프로세서 레지스터 프로세서의 내부에 있으며, 프로레서가 사용할 데이터를 보관하는 가장 빠른 메모리이다. 레지스터 종류 User Visible Register : 사용자가 운영체제와 프로그램을 이용하여 정보를 변경할 수 있는 레지스터로 접근이 가능한 데이터와 주소, 일부 조건 코드를 보관한다 ex)데이터 레지스터, 주소 레지스터 Control and Status Register : 연산을 위해 사용하거나 연산 결과의 상태를 알려주는 값들이 ..