전체 글 17

[운영체제(OS)] 10장 가상 메모리

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다. 1. 물리 메모리의 한계 주소 공간과 물리 메모리 - 32bit CPU가 액세스할 수 있는 물리 메모리의 최대 크기는 2^32 byte = 4GB - 1개의 주소가 가리키는 크기는 메모리 한 바이트이다. - 대부분의 시스템에서 물리메모리는 비용 때문에 프로세스의 주소 공간보다 작게 설치 된다. 물리 메모리의 크기 한계 Q. 운영체제는 물리 메모리 보다 큰 프로세스를 실행할 수 있는가? Q. 운영체제는 여러 프로세스를 합쳐 물리 메모리보다 클 때 이들을 동시에 실행시킬 수 있는가? A. “프로세스가 실행 되려면 반드시 프로세스 전체가 물리 메모리에 적재된다” “프로세스는 필요한 모든 메모리를 할당 받은 상태에서 실행된다” 라는 두가지 전제가 있을 ..

OS 2023.08.07

[운영체제(OS)] 9장 페이징 메모리 관리

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다. 1. 페이징 메모리 관리 개요 1. 페이징 개념 1) 페이지와 프레임 프로세스의 주소 공간을 0번지부터 동일한 크기의 페이지로 나눔 물리 메모리 역시 0번지부터 페이지 크기로 나누고, 프레임이라고 부름 코드, 데이터, 스택 등 프로세스의 구성 요소에 상관없이 고정 크기로 분할한 단위 페이지와 프레임에 번호 붙임 페이지의 크기 - 주로 4KB, 운영체제마다 다르게 설정 가능 페이지 테이블 - 각 페이지에 대해 페이지 번호와 프레임 번호를 1:1로 저장하는 테이블 2) 페이징 기법 프로세스의 주소공간과 물리 메모리를 페이지 단위로 분할하고, 프로세스의 각 페이지를 물리 메모리의 프레임에 분산 할당하고 관리하는 기법 프로세스의 주소공간 - 선형적인 주..

OS 2023.08.07

[운영체제(OS)] 8장 메모리 관리

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다. 1. 메모리 계층 구조와 메모리 관리 핵심 1. 메모리 계층 구조 메모리는 컴퓨터 시스템 여러 곳에 계층적으로 존재 - CPU 레지스터 - CPU 캐시 - 메인 메모리 - 보조기억장치 - CPU 레지스터에서 보조기억장치로 갈수록 1) 용량 증가 2) 가격 저렴 3) 속도 저하 - 메모리 계층 구조의 중심 - 메인 메모리 메모리 계층화의 목적 - 빠른 프로그램 실행을 위해 CPU 메모리 액세스 시간을 줄이기 위함 1.2 메모리 계층 구조의 특성 1.3 메모리 계층화 - 성능과 비용의 절충 1) 계층화 - 계층화 과정 - CPU 성능 향상 -> 더 빠른 메모리 요구 -> 작지만 빠른 off-chip 캐시 등장 -> 더 빠른 액세스를 위해 on-chi..

OS 2023.08.07

[운영체제(OS)] 6장 스레드 동기화

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다. 1. 스레드 동기화의 필요성 1. 개요 다수의 스레드가 공유 데이터를 동시에 접근하는 충돌 상황에서 공유 데이터가 훼손되지 않도록 스레드의 실행을 제어하는 기법. -> 한 스레드가 공유 데이터에 대해 배타적이고 독점적으로 접근, 임계구역에 대한 상호배제 구현 공유 데이터에 대한 동시 접근 문제의 해결책 문제점: 여러 스레드가 공유 데이터에 동시 접근할 때 공유 데이터가 훼손될 수 있다. 해결책: 스레드 동기화 - 한 스레드가 공유데이터에 대한 접근을 마칠 때까지 다른 스레드가 접근하지 못하도록 제어 2. 임계 구역과 상호배제 2.1 상호배제 위치 일반 코드 (non-critical code) - 공유 데이터를 액세스하지 않는 코드 상호배제(mut..

OS 2023.08.07

[운영체제(OS)] 5장 CPU 스케줄링

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다. 1. CPU 스케줄링 개요 CPU 스케줄링 - 준비 상태(Ready)에 있는 스레드들 중 하나를 선택하여 CPU를 할당하는 과정이다. - 오늘날 운영체제에서 실행 단위가 스레드이므로 CPU 스케줄링은 스레드를 대상으로 한다. 1.1. 다중프로그래밍과 스케줄링 다중 프로그래밍의 목적 - CPU 이용률을 최대화하기 위해 항상 실행 중인 프로세스를 가지게 하는데 있다. - 다중 프로그래밍 도입 이후 운영체제는 작업 스케줄링, CPU 스케줄링을 시행한다. 작업 스케줄링 -메모리에서 적재된 프로세스가 종료하면 디스크에서 기다리는 작업 중 하나를 선택하여 메모리 적재하는 작업. CPU 스케줄링 -실행 중인 프로세스가 I/O를 실행할 때 메모리에 적재된 다른..

OS 2023.08.07

[운영체제(OS)] 4장 스레드와 멀티스레딩

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다. 1. 프로세스의 문제점 1) 프로세스 생성의 큰 오버헤드 -프로세스 생성에 너무 많은 시간 소비 2) 프로세스 컨텍스트 스위칭의 큰 오버헤드 -시간적 공간적 오버헤드 크다. 3) 프로세스 사이의 통신 어려움 -프로세스들은 각각 독립된 메모리 공간에서 실행되어 다른 프로세스 메모리 접근 어려움 2. 스레드 개념 스레드의 출현 목적 프로세스를 사용하는 문제점 해결하기 위해 -프로세스보다 작은 실행 단위 필요 -프로세스의 생성 및 소멸에 따른 오버헤드 감소 -빠른 컨텍스트 스위칭 -프로세스들 사이의 통신에 대한 어려움 해소 스레드 개념 스레드 1) 스레드는 실행 단위이며 스케줄링 단위이다. -스레드마다 TCB(Thread Contorl Block) 구..

OS 2023.08.07

[운영체제(OS)] 3장 프로세스와 프로세스 관리

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다. 1. 프로세스 개요 프로그램과 프로세스 프로그램: 저장장치에 저장된 실행 가능한 파일 프로세스: 프로그램이 메모리에 적재되어 실행 중일 때 프로세스라 불림 -프로세스들은 서로 독립적인 메모리 공간을 가지므로 다른 프로세스 영역에 접근 X -프로세스마다 고유한 ID 할당 받음 -프로세스에 대한 정보는 운영체제 커널에 의해 관리된다. 프로세스 관리 커널의 역할 -프로세스를 위해 사용자 공간에 메모리 할당 -프로세스 ID 부여 -커널 영역에 프로세스 테이블 생성 및 모든 프로세스 정보 관리 프로그램의 다중 인스턴스 하나의 프로그램을 여러 번 실행시키면, 실행 될 때마다 독립된 프로세스가 생성되며, 이 프로세스를 다중 인스턴스라고 부른다. 프로세스의 구..

OS 2023.08.07

[운영체제(OS)] 2장 컴퓨터 시스템과 운영체제

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다 1. 컴퓨터 시스템과 하드웨어 컴퓨터 시스템의 범위 1) 컴퓨터 시스템의 계층 2) 운영체제 층 3) 컴퓨터 하드웨어 층 컴퓨터 시스템 계층 구조의 특징 -사용자는 응용프로그램/도구프로그램을 통해 컴퓨터 활용 -하드웨어는 모두 운영체제의 배타적 독점적 지배를 받음 -사용자나 응용프로그램의 하드웨어에 대한 직접 접근 불허 반드시 운영체제를 통해서만 접근가능 계층 구조에서 보는 운영체제의 기능 -사용자가 하드웨어에 대해 몰라도 컴퓨터를 사용할 수 있도록 함 - 응용프로그램과 하드웨어 사이의 중계 컴퓨터 하드웨어 설명 (생략) CPU와 메모리의 관계 CPU -능동적 소자, 메모리 액세스 시 주소 발생 -32bit CPU, 32bit 운영체제 -32개의 ..

OS 2023.08.07

[운영체제(OS)] 1장 운영체제의 시작과 발전

시험 준비하면서 정리했습니다. 문제가 되면 삭제하겠습니다. 1장 운영체제의 시작과 발전 1. 운영체제 개념 운영체제의 정의 -사용자와 컴퓨터 하드웨어 사이에서 중계 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 소프트웨어 -컴퓨터의 자원을 독점적으로 관리하는 특별한 소프트웨어 운영체제의 목적 -사용자의 컴퓨터 사용 편리성 -자원의 효율적 사용과 관리 운영체제의 기능 1) 관리 -자원관리 : 하드웨어 자원, 소프트웨어 자원(응용프로그램들), 데이터 자원 -사용자에 대한 관리: 로그인, 우선순위, 통계 -프로그램의 실행에 관한 일체의 자원 관리: 프로그램 적재, 메모리 할당, 스케줄링, 저장공간 관리 -성능 관리: 자원의 활용률을 높여 처리율 높이고, 프로그램 실행에 대한 빠른 응답 -보안 관리: 외부..

OS 2023.08.07

[밑바닥부터 시작하는 딥러닝] 8장 딥러닝

제가 발표했던 자료입니다. 추가자료 cutmix 하는 이유? cutmix - 하나의 의미지 안에 두개의 레이블을 가진 이미지를 “적당한 비율”(ex. 고양이 3 강아지 7)로 배치하여, 두개의 레이블이 하나의 이미지에 비율에 맞게 배치되는 전략이다. - 다양한 레이블 간의 상관 관계를 모델이 학습할 수 있게 되며, 일반화 성능을 향상시키는 효과 기대 - 모델 이미지의 특정 부분만 보고 판단하는 것이 아닌 전체적인 영역을 보고 판단. -두 이미지를 섞은 것이므로 한 이미지에서 여러 개의 물체를 감지할 수 있다. 다음은 훈련시킨 모델에 대해 CAM 시각화한 자료 cutout이나 cutmix 경우 동물 각각의 몸통 부분을 집중해서 본 것으로 볼 수 있다. - mixup경우 자르는 방식보다 넓은 부분을 보고 있..

AI/DeepLearning 2023.08.07