
요구 페이징 사용자가 요구할 때 해당 페이지를 메모리로 가져오는 것을 말한다. 요구 페이징을 사용하면 메모리의 절약, 메모리의 효율적 관리, 프로세스의 응답 속도 향상 등의 효과를 볼 수 있다. ➕ 캐시 캐시는 앞으로 필요할 것이라고 예상되는 부분을 고속의 캐시 메모리에 가져다 놓음으로써 시스템의 성능을 향상한다. ➕ 가상 메모리의 크기 물리 메모리 + 스왑 영역 페이지 테이블 엔트리의 구조 가상 메모리 시스템에서 사용자 프로세스는 물리 메모리와 스왑 영역 중 한 곳에 있다. ⭕ 페이지가 스왑 영역에 있는 경우 요구 페이징으로 인해 처음부터 물리 메모리에 올라가지 못한 경우 메모리가 꽉 차서 스왑 영역으로 옮겨 온 경우 ❗ ❗ 두 가지 경우 중 어떠한 경우라도 페이지 테이블에는 페이지가 메모리에 있는지,..

가상 메모리 크기가 다른 물리 메모리에서 일관되게 프로세스를 실행할 수 있는 기술이다. 매번 메모리 크기를 고려하며 프로그래밍하는 것은 어려운 일이다. 가상 메모리를 사용하면 메모리 크기를 신경 쓰지 않고 프로그래밍을 할 수 있게 해 준다. *가상 메모리 시스템 물리 메모리의 크기와 상관없이 커다란 메모리 공간을 제공해준다. ◼ 가상 메모리의 크기와 주소 ✅ 가상 메모리의 크기 이론적으로 가상 메모리는 무한대의 크기이다. 그렇지만 실제로 가상 메모리의 최대 크기는 그 컴퓨터 시스템이 가진 물리 메모리의 최대 크기로 한정되며 CPU의 비트에 따라 결정된다. 💫 가상 메모리에서 메모리 관리자가 사용할 수 있는 메모리의 전체 크기 ☞ 물리 메모리 + 스왑 영역 ✅ 가상 메모리의 주소 가상 메모리 시스템의 모든..

데이터 모델링 현실 세계의 데이터를 데이터베이스에 저장하기 위해서는 데이터 모델을 세워야 하고 그 과정을 데이터 모델링이라 한다. 다시 말해 데이터 모델링이란 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정을 말한다. *추상화 : 현실 세계를 일정한 형식에 맞추어 표현 (일정한 표기법에 의해 표현) 📗 변환 과정은 2단계로 나누어 진행한다. 개념적 데이터 모델링 - 사용자에 초점을 맞추는 데이터 모델 - 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업 논리적 데이터 모델링 - 컴퓨터와 사용자 둘 다 고려하는 데이터 모델 - 개념 세계의 데이터를 데이터 베이스에 저장하는 구조로 표현하는 작업 데이터 모델 데이터 모델이란 데이터 모델링의 결과물을 표현하는 도구이다. ..

프로토타입 프로토타입이란 간단히 말해 상속을 구현하는 방식이다. 모든 객체에는 하나의 프로토타입이 존재하며, 이는 모두 생성자 함수와 연결되어 있다. 프로토타입에 대해 부가설명을 하자면 자바스크립트에서 프로토타입 개념은 프로토타입 객체와 프로토타입 링크를 통틀어 말하고 객체 간 상속을 구현하기 위해 사용된다. ❓ 상속이란 무엇일까? 상속은 객체지향 프로그래밍의 핵심 개념으로, 어떤 객체의 프로퍼티 또는 메서드를 다른 객체가 상속받아 그대로 사용할 수 있는 것을 말한다. 💨 상속을 사용하는 이유 - 상속을 사용하면 기존에 있던 코드를 그대로 사용할 수 있기에 코드의 중복을 피할 수 있다. - 그렇다는 뜻은 상속을 사용하면 코드의 양이 현저히 줄어든다. 자바스크립트는 프로토타입을 기반으로 상속을 구현한다 프..

메모리 관리 운영체제를 포함한 여러 프로그램이 메모리 위에 올라와 실행된다. 따라서 메모리 관리가 복잡한데 이처럼 복잡한 메모리 관리는 메모리 관리 시스템(MMS)이 담당한다. 메모리 관리가 이루어지다 보면 프로세스 입장에서 작업의 편리함과 관리자 입장에서 관리의 편리함이 충돌할 때가 발생한다. 이를 메모리 관리의 이중성이라 한다. 메모리 관리자 역할 메모리 관리는 메모리 관리자가 담당한다. 가져오기 배치 재배치 메모리 주소 메모리에 접근할 때는 주소를 이용한다. 절대 주소 - 실제 물리 주소 - 메모리 관리자 입장에서 바라본 주소 - 메모리 주소 레지스터가 사용하는 주소 상대 주소 - 운영체제가 관리하는 주소 - 사용자 프로세스 입장에서 바라본 주소 - 절대 주소와 상관없이 항상 0번지부터 시작 상대 ..

데이터베이스 시스템 데이터베이스 시스템이란 데이터베이스에 데이터를 저장하고, 저장된 데이터를 관리하여 조직에 필요한 정보를 생성해주는 시스템이다. 데이터베이스의 구조 💥스키마 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것이다. 💥인스턴스 스키마에 따라 데이터베이스에 실제로 저장된 값을 말한다. 외부 단계 개념 단계 내부 단계 ✅외부 단계 - 데이터베이스를 개별 사용자 관점에서 이해하고 표현하는 단계 - 데이터 베이스 하나에 외부 스키마가 여러 개 존재할 수 있다 * 외부 스키마 - 외부 단계에서 사용자에게 필요한 데이터베이스를 정의한 것 - 각 사용자가 사용하는 데이터베이스의 모습 - 서브 스키마라고도 한다 ✅개념 단계 - 데이터베이스를 조직 전체의 관점에서 이해하고 표현하는 단계 - 데이터..

교착 상태 해결 방법 교착 상태를 해결하는 방법은 예방, 회피, 검출, 회복 방법이 있다. 해결 방법 특징 교착 상태 예방 교착 상태를 유발하는 네 가지 조건을 무력화 한다. 교착 상태 회피 교착 상태가 발생하지 않는 수준으로 자원을 할당한다. 교착 상태 검출 자원 할당 그래프를 사용하여 교착 상태를 발견한다. 교착 상태 회복 교착 상태를 검출한 후 해결한다. 교착 상태 예방 상호 배제 예방 비선점 예방 점유와 대기 예방 원형 대기 예방 📗 상호 배제 예방 시스템 내에 있는 상호 배타적인 모든 자원, 즉 독립적으로 사용할 수 있는 자원을 없애버리는 방법이다. 시스템 내의 모든 자원을 공유할 수 있다면 교착 상태가 발생하지 않는다. 📗 비선점 예방 모든 자원을 빼앗을 수 있도록 만드는 방법이다. 하지만 어..

교착 상태 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 교착 상태의 발생 시스템 자원 동시에 같이 사용할 수 없는 시스템 자원을 할당받은 후 양보 안 할 시 발생 ex) 스캐너, 프린터 공유 변수 한 변수를 할당받은 상태에서 다른 변수 대기 시 발생 응용 프로그램 데이터베이스 같은 응용 프로그램에서도 발생 자원 할당 그래프 프로세스가 어떤 자원을 사용 중이고 어떤 자원을 기다리고 있는지를 방향성이 있는 그래프로 표현 *사용하는 이유 : 어떤 프로세스에 어떤 자원이 할당되어 있는지 혹은 어떤 프로세스가 자원을 기다리고 있는지 한눈에 파악 가능하다. *다중 자원 : 여러 프로세스가 하나의 자원을 동시에 사용 *식사하는 철학자 문제 철학자들은 서로 포크..

암묵적 타입 변환 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동으로 변환 var x = 10; // 암묵적 타입 변환 var str = x + ''; console.log(typeof str, str); // string 10 자바스크립트 엔진에 의해 암묵적으로 일어나기 때문에 코드에 타입 변환 의지가 드러나지 않는다. ∴ 타입 변환에 대해 예측 가능해야 한다. 명시적 타입 변환 개발자의 의도에 의해 타입을 바꾸는 방법이다. 표준 빌트인 생성자 함수(String, Number, Boolean)를 new 연산자 없이 호출 빌트인 메서드 사용 암묵적 타입 변환 사용 표준 빌트인 생성자 함수(String, Number, Boolean)를 new 연산자 없이..

1. 프로그래밍이란? 프로그래밍이란 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 따라서 커뮤니케이션을 하기 위해 무엇을 실행하고 싶은지 명확히 이해한 후 문제 해결 방안을 정의해야 한다. 이에 요구되는 것이 문제 해결 능력이다. 커뮤니케이션을 위해 문제 해결 능력이 필요하지만 문제 해결 방안을 고려할 때 또 필요한 능력이 있다. 바로 컴퓨팅 사고다. 컴퓨팅 사고란 문제 해결 방안을 고려할 때, 컴퓨터의 입장에서 문제를 바라보는 사고다. 컴퓨터는 0과 1밖에 알지 못하는 기계다. 그러한 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명해야 한다. 한 문장으로 정리하자면 프로그래밍을 하기 위해서는 0과 1밖에 모르는 기계에게 컴퓨팅 사고를 통해 정확하고 상세한 커뮤니케이션을 함으로써 문..
- Total
- Today
- Yesterday
- C++
- 쉽게 배우는 자바 프로그래밍
- Web
- 자바스크립트
- 프로그래머스
- 정렬
- 연습문제
- 파이썬
- JS
- py
- 쉽게배우는
- 문자열
- 정리
- OS
- 정답
- 우종정
- 쉽게배우는자바프로그래밍
- 해답
- 백준
- 답
- 풀이
- CPP
- Python
- 구현
- BFS
- 자바
- 알고리즘
- java
- 그리디
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |