기억장치 관리 전략 - 반입 전략 : 보조기억장치에서 주기억장치로 언제 적재할 것인가를 결정 - 배치 전략 : 보조기억장치에서 주기억장치의 어디에 적재할 것인가를 결정 - 교체 전략 : 보조기억장치에서 주기억장치로 배치하려 할 때 이미 사용되고 있다면, 어디를 교체할 것인가를 결정 종류 설명 반입 Fetch 전략 요구 반입 Demand Fetch 요구할 때 적재 예상 반입 Anticipatory Fetch 미리 예상해서 적재 배치 Placement 전략 최초 적합 First Fit 빈 영역 중 첫 번째 영역에 배치 최적 적합 Best Fit 단편화를 가장 적게 남기는 영역에 배치 최악 적합 Worst Fit 단편화를 가장 많이 남기는 영역에 배치 교체 Replacement 전략 FIFO First In ..
Windows Windows는 1990년대 마이크로소프트가 개발한 운영체제로, 주요 특징 6가지는 다음과 같습니다. - 그래픽 사용자 인터페이스 - 선점형 멀티태스킹 : 응용 프로그램 실행중 문제 발생 시 해당 프로그램을 강제 종료 - PnP (자동 감지 기능) : 하드웨어 설치 시 운영체제가 자동으로 환경을 구성해 줌 - OLE (Object Linking and Embedding) : 다른 응용 프로그램에서 작성된 개체를 다른 문서에 자유롭게 연결 가능 - 255자의 긴 파일명 - Single-User 시스템 : 컴퓨터 한 대를 한 사람이 독점해서 사용 UNIX ★ UNIX는 1960년대 벨 연구소, MIT, General Electric이 공동 개발한 운영체제입니다. UNIX의 특징은 다음과 같습니..
운영체제란 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임입니다. 운영체제의 목적은 다음 4가지가 있습니다. - 처리 능력 향상 - 반환 시간 단축 - 사용 가능도 향상 - 신뢰도 향상
예외 처리란 예외가 발생했을 때 미리 작성해놓은 처리 루틴이 수행되도록 하는 것입니다. 예외가 발생했을 때 일반적으로는 프로그램을 종료시키거나 로그를 남깁니다. JAVA의 예외 처리 - JAVA는 예외를 객체로 취급합니다. - 예외와 관련된 클래스를 java.lang 패키지에서 제공합니다. - try ~ catch 문을 이용해 예외를 처리합니다. - try 블록을 수행하다 예외가 발생하면 cathc 블록으로 이동하므로, 예외 발생 이후의 코드는 실행되지 않습니다. - catch 블록에서 선언한 변수는 해당 catch 블록에서만 유효합니다. - try ~ catch 문 안에서는 실행 코드가 한 줄이라도 중괄호({})를 생략할 수 없습니다. 기본 형식 try { 예외가 발생할 가능성이 있는 코드; } cat..
라이브러리란 자주 사용하는 함수나 데이터들을 미리 만들어 놓은 집합체입니다. - 표준 라이브러리 : 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리 - 외부 라이브러리 : 개발자들이 만들어 인터넷 등에 공유해 놓은 라이브러리 C언어의 대표적인 표준 라이브러리 - 라이브러리를 헤더 파일로 제공 - include문을 이용해 헤더 파일 선언 후 사용 헤더 파일 기능 stdio.h 데이터 입출력 math.h 수학 함수 string.h 문자열 처리 stdlib.h 자료형 번환, 난수 발생, 메모리 할당 time.h 시간 처리 JAVA의 대표적인 표준 라이브러리 - 라이브러리를 패키지에 포함하여 제공 - import문을 이용해 패키지 선언 후 사용 - 패키지 안의 클래스의 메소드를 사용하려면 클래스와 메소드를..
절차적 프로그래밍 언어 절차적 프로그래밍 언어는 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어입니다. C ALGOL COBOL FORTRAN - 시스템 프로그래밍 언어로 사용 - 1972년 벨 연구소의 데니스 리치에 의해 개발 - 과학 기술 계산용 언어 - PASCAL과 C의 모체 - 사무 처리용 언어 - 과학 기술 계산용 언어 객체지향 프로그래밍 언어 객체지향 프로그래밍 언어는 현실 세계의 개체를 하나의 객체로 만들어, 객체들을 조립해서 프로그램을 작성하는 기법입니다. JAVA C++ Smalltalk - 분산 네트워크 환경에 적용 가능 - C에 객체지향 개념을 적용 - 1세대 객체지향 프로그래밍 언어 - 최초로 GUI를 제공 스크립트 언어 스크립트 언어는 HTML 문서 안에 직접 프로..
Python은 객체지향 기능을 지원하는 스크립트 언어입니다. C, Java와 비교했을 때 기본 작성법의 차이점은 다음과 같습니다. - 변수의 자료형에 대한 선언이 없음 - 문자와 문자열을 작은따옴표(' '), 큰따옴표(" ")로 구분 없이 사용할 수 있음 - 문장의 끝을 의미하는 세미콜론(;)이 필요 없음 - 코드 블록을 포함하는 명령문을 작성할 때 중괄호({ }) 대신 콜론(:)과 여백으로 구분 주요 문법 - 자료형 : List, Set - 입출력 함수 : input, print - Slice - Range Range는 연속된 숫자를 생성합니다. range(최종값) range(초기값, 최종값) range(초기값, 최종값, 증가값) 0부터 최종값-1까지 초기값부터 최종값-1까지 (+)증가값 : 초기값부터..
- 추상 메소드 : 자식 클래스에서 재정의해야만 사용할 수 있는 메소드 - 추상 클래스 : 추상 메소드를 1개 이상 포함하는 클래스 - 클래스의 형 변환 : 추상 메소드를 부모 클래스의 객체 변수를 통해 사용하기 위해서, 부모 클래스의 객체 변수를 선언할 때 자식 클래스의 생성자를 이용하는 것 (출력 : Chicken is animal Zoo) abstract class Animal { 추상 클래스 Animal을 정의 String a = "is animal"; 문자열 변수 a를 선언하고 "is animal"로 초기화 abstract void look(); 추상 메소드 look()을 정의 void show() { 메소드 show()를 정의 System.out.println("zoo"); 'Zoo'를 출력 ..
클래스는 필드(속성)와 메소드(함수)를 정의하는 설계도로, Java는 아무리 작은 프로그램이라도 클래스를 만들어 사용해야 합니다. 클래스를 만들어 사용하는 순서는 다음과 같습니다. 1) class 명령 : 클래스를 생성합니다. 클래스 이름과 필드, 메소드를 정의합니다. 자동차를 만들기 위한 설계도와 같습니다. 2) new 명령 : 객체를 생성합니다. 만들어 놓은 클래스를 이용하여 생성합니다.자동차 설계도로 자동차를 만드는 것과 같습니다. 예시 1 (출력 : 19) class ClassA { ClassA라는 이름의 클래스를 정의 int a = 10; int funcAdd(int x, int y) { return x + y + a; } } public class Test { Test라는 이름의 클래스를 정의..
Java 제어문 사용 예시 public class Test public static void main (String[] args) { String str = "agile"; 문자열 변수 str을 선언 int x[] = { 1, 2, 3, 4, 5}; char y[] = new char[5]; new char[5]는 5개의 요소를 갖는 문자형 배열을 생성 int i = 0; while (i < str.length()) { length() 메소드는 str의 크기를 반환 y[i] = str.charAt(i); str의 i번째에 있는 문자를 y[i]에 저장 i++; } for (int p : x) { x 배열의 요소 수만큼 반복, p는 x 배열의 각 요소를 일시적으로 저장하기 위해 선언한 변수 i--; Syst..