[CS / 운영체제] 가상메모리(Virtual Memory)
·
Computer Science
가상메모리 (Virtual Memory) 실제 메모리 크기와 상관없이 메모리를 이용할 수 있도록 가상의 메모리 주소를 사용하는 방법 프로세스에서 사용하는 부분만 메모리에 올리고, 나머지는 디스크에 보관하는 기법 대표적인 가상 메모리 기법 : 페이징(paging), 세그멘테이션(segmentation) 페이징 (Paging) 고정크기로 분할된 페이지(page)를 통해 가상 메모리를 관리하는 기법 페이지(page) : 가상메모리를 고정 크기로 나눈 블록 프레임(frame) : 실제 메모리를 페이지와 같은 크기로 나눈 블록(= 페이지 프레임) 프레임과 페이지는 메모리를 일정한 크기의 공간으로 나누어 관리하는 단위이며, 프레임과 페이지의 크기는 같다.
[CS / 운영체제] 프로세스(Process)와 쓰레드(Thread)
·
Computer Science
프로세스 실행중인 프로그램 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것 데이터+메모리+쓰레드 쓰레드 프로세스 내에서 실제로 작업을 수행하는 주체 일반적으로 하나의 프로세스는 하나의 쓰레드 하나의 프로세스 내에서 둘 이상의 쓰레드가 동시에 작업을 수행하는 것 => 멀티쓰레드(자바 특징) 멀티프로세스와 멀티쓰레드 멀티프로세스 : 각 프로세스가 독립적인 메모리를 가지고 별도로 실행 멀티쓰레드 : 자신이 속한 프로세스의 메모리를 공유
[백준 / Java]2920번 음계
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 첫번째 풀이(오름차순, 내림차순 배열 사용X) 정답인 배열을 생성하고 맞으면 출력하는 방식 import java.util.Scanner; public class Main { public static void main(String[] args) { int[] ascending = new int[] {1,2,3,4,5,6,7,8}; Boolean Isascen..
[CS / 운영체제] 메모리 구조
·
Computer Science
메모리 구조 코드(Code) - 실행할 프로그램의 코드 데이터(Data) - 전역변수, 정적변수 스택(Stack) - 지역변수, 매개변수 힙(Heap) - 사용자의 동적 할당 코드(Code) 영역 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 부릅니다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 됩니다. 데이터(Data) 영역 프로그램의 전역변수와 정적변수가 저장되는 영역입니다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸합니다. 전역변수(global variable) : 블록 외부에 선언되는 변수로 어느지역에서는 참조해서 사용할 수 있다. 프로그램이 종료되면 메모리에서 사라지는 장점이 있지만, 유지보수등의 관리가 어려워질 수 있다. 정적변..
[CS / 운영체제] 운영체제란?
·
Computer Science
운영체제란?(OS, Operation System) 시스템의 자원과 동작을 효율적으로 관리하는 소프트웨어 프로세스, 저장장치, 네트워킹, 사용자, 하드웨어 등을 관리 종류 윈도우(Windows) 맥 OS(Mac OS) 리눅스(Linux) 기타 등등 운영체제의 위치 사용자 프로그램(Application)은 특정 운영체제에 맞춰서 만든다. 그러므로 한 애플리케이션은 서로 다른 운영체제에서 수행할 수 없다. 하드웨어와 어플리케이션 사이에 운영체제가 위치하고 있다. 운영체제의 목적 처리능력 향상 : 일정 시간 내에 시스템이 처리하는 일의 양을 향상시킨다. 반환시간 단축 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간을 단축시킨다. 사용가능도 향상 : 시스템을 사용할 필요가 있을 때 즉시 사용..
[CS / 자료구조] 트리(Tree)구조
·
Computer Science
1. 트리(Tree) 구조 트리 : Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조 Node : 트리에서 데이터를 저장하는 기본 요소 (데이터와 다른 연결된 노드에 대한 Branch 정보 포함) Root Node : 트리 맨 위에 있는 노드 Level : 최상위 노드를 Level 0 으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node : 어떤 노드의 다음 레벨에 연결된 노드 Child Node : 어떤 노드의 상위 레벨에 연결된 노드 Leaf Node (Terminal Node) : Child Node가 하나도 없는 노드 Sibling (Brother Node) : 동일한 Parent Node를 가진 노드 Depth : 트리에서 Node가..
마볼링
게임을 좋아하는 개발자의 블로그