본문 바로가기

728x90
반응형

전체 글

(157)
[운영체제] 1주차 Quiz 보호되어 있는 글입니다.
[운영체제] 컴퓨터 시스템 구조 컴퓨터 구조- device controller외부 디바이스의 데이터에 접근할 때 CPU가 직접 접근하는 것이 아니라 device controller에 instruction을 전달하여간접적으로 접근하게 된다.- mode bitCPU에서 실행되는 프로그램이 운영체제인지 아니면 사용자 프로그램인지 구분해 준다. mode bit이 0이면 커널 모드로 OS 코드를 수행하며 1일 경우에는 사용자 프로그램을 수행한다.- interrupt line외부에서 데이터의 접근 요청이 들어왔을 때 CPU에 전달하는 역할을 한다.- timer특정 프로그램이 CPU를 독점하는 것을 방지하는 역할을 한다.즉, 프로그램은 timer에 설정된 시간만큼만 CPU를 사용할 수 있다.- registersCPU가 메모리보다 빠르게 데이터에 접..
[운영체제] 운영체제(Operating System, OS) 개요 운영체제(Operating System, OS) 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어를 하드웨어와 연결하는 소프트웨어 계층이다. 컴퓨터 시스템의 자원을 효율적으로 관리해 준다.ex) 실행 중인 프로그램들에 메모리 공간을 적절히 분배    운영제체의 의미- 협의의 운영체제 (커널)좁은 의미로 운영체제를 말할 때 운영체제는 커널을 의미한다. 컴퓨터에 전원이 들어온 이후로 항상 메모리에 상주하는 부분을 커널이라고 한다.- 광의의 운영체제넓은 의미로 운영체제를 말할 때 운영체제는 커널뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념을 의미한다.ex) 파일 관리자     운영체제의 분류- 일괄 처리 (batch processing)작업 요청의 일정량을 모아서 한꺼번에 처리한다. ..
[Java] 수정 가능한 문자열 (StringBuffer) String의 불변성 Java의 String 객체는 불변(immuatable)이다. 예를 들어 아래와 같은 코드를 작성했다고 가정하자. String str = "Hello";str = "World!"; 위 코드에서 str은 "Hello"에서 "World!"로 수정되는 것이 아니다. 먼저 첫 번째 줄의 동작을 살펴보면 "Hello"라는 문자열이 String Pool에 객체로 저장되고 str은 해당 문자열을 참조할 뿐이다. 두 번째 줄에서는 "World!" 문자열이 String Pool에 추가되고 str은 해당 문자열을 참조한다. 이제  "Hello" 문자열은 더 이상 참조되지 않으므로 Garbage Collection의 대상이 된다.     수정 가능한 StringBuffer StringBuffer는 수정..
[Java] String 클래스 String 생성자Java에서는 문자열을 빌트인 클래스인 String 클래스로 관리할 수 있다. String 클래스는 생성자가 오버로딩되어 있기 때문에 다음과 같은 형식으로 선언할 수 있다. char[] chars = {'a', 'b', 'c'};String str1 = new String();String str2 = new String(chars);String str3 = new String("abc");String str4 = "abc";     String 클래스 메서드 String 클래스에서는 다음과 같은 유용한 메서드들을 제공하고 있다. - char chatAt(int where)문자열에서 인덱스 where에 위치한 문자를 반환- void getChars(int sourceStart, int s..
[Java] 박싱, 언박싱, 래퍼클래스(Wrapper Class), Integer, Character 박싱 (boxing) Boxing 이란 원시 타입을 클래스로 변환하여 클래스처럼 다룰 수 있게 캡슐화하는 것을 의미한다. 여기서 원시 타입(Primitive type)은 byte, short, char, int, long, float, double 등의 기초 타입을 의미하며 Java에서 제공하는 기초 타입에 대한 클래스를 래퍼 클래스(Wrapper Class)라고 한다.        Wrapper Class - 생성자Character(char ch)Boolean(boolean boolValue)Boolean (String str)Integer(int num)Integer(String str)등의 생성자가 존재하지만 효율 상의 이유로 JDK 9부터 deprecated 됨  - ValueOf(primitiv..
[Java] 열거형 (enum) 열거형 (enum) 열거형은 이름을 가진 상수들을 리스트로 관리할 수 있게 해 준다. 각 상수들은 특정 값을 가질 수 있으며 새로운 데이터 타입으로 사용하는 것도 가능하다. 열거형은 enum 키워드로 정의되며 열거형 내부에 선언된 상수를 열거형 상수라고 한다. public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;}    values() values()는 컴파일러가 자동으로 생성하는 정적 메서드로 열거형의 모든 원소를 배열로 반환한다. values()의 시그니처는 아래 코드와 같다. public static enum_type[] values();  따라서 아래 코드처럼 enu..
[Java] 레이스 컨디션 (Race Condition), 스레드 동기화 (synchronized) 레이스 컨디션 (Race Condition)레이스 컨디션은 두 개 이상의 스레드가 동시에 공유자원에 접근하여 실행 순서에 따라 예상치 않은 결과를 발생함을 의미한다. class Callme { void call(String msg) { System.out.print("[" + msg); try { Thread.sleep(1000); } catch(InterruptedException e) { System.out.println("Interrupted"); } System.out.println("]"); }}class Caller implements Runnable { String msg; Callme target; Thread ..

728x90
반응형