목록CS (22)
-

저번시간 포스팅을 복습해보겠습니다. 운영체제라는것은 컴퓨터 시스템 자원(하드웨어)를 효율적으로 관리해서 사용자와 응용 프로그램에게 서비스를 제공하는 것을 운영체제라고 한다고 했습니다. 그럼 운영체제의 역할이 어떤 것이 있을지 살펴보겠습니다. 과거에는 문자로 입력을 한 것이 대부분 문자로 출력되는 Character User Inteface인 CUI를 사용했습니다. 하지만 요즘은 그래픽을 활용한 그림위주의 인터페이스가 자주 나오고 있고 이를 GUI라고도 부릅니다. 또한 최근엔 특정한 목적만을 가지고 기기를 사용하기도 해서 사용자가 시스템을 편하게 사용하게 하기 위한 용어로서 EUCI라고도 합니다. 예를들면 MP3를 보면, MP3는 음악을 듣기 위해서만 제작되므로 이것도 EUCI라고도 부릅니다. 그리고 중요한..

운영체제란 컴퓨터 시스템 자원(하드웨어)를 효율적으로 관리해서 사용자 또는 응용 프로그램들에게 서비스를 제공하는 역할을 합니다. 즉, 컴퓨팅 자원을 사용자에게 서비스하는 것이 운영체제를 배우는 목표라고 할 수 있습니다. 그럼 컴퓨터 시스템에 대한 구성을 먼저 알아야 할텐데요. 컴퓨터 시스템은 기본적으로 이렇게 네 가지로 이루어져 있습니다. 이 중 하드웨어에 대해 먼저 살펴보겠습니다. 하드웨어는 프로세서, 메모리, 주변장치 총 3가지로 구분할 수 있습니다. 프로세스는 주로 계산하는 데 사용되며 주로 CPU와 최근엔 GPU도 자주 사용됩니다. 그리고 어떤 장치들은 목적을 위해 개발되기도 하는데 이것들을 응용 전용 처리장치라고 합니다. 두번째로 메모리라고 있는데, 이것은 주로 데이터를 기억하는데 사용됩니다. ..

지난번에 했던걸 총 정리해보겠습니다. 자바로 코드를 작성한다고 합시다. 자바의 내용은 컴파일되어서 .class안에 담기게 되고 이것은 JVM으로 실행할 수 있습니다. 이 JVM으로 실행된 .class는 1,2,3번 순서대로 실행이 될텐데요. 1번이 실행되고 2번에서 static을 찾습니다. 이 찾아진 static은 메모리 공간에 항상 띄워지게 됩니다. 그리고 3번의 main메서드를 실행하는데요. 이 main또한 static이기 때문에 메모리 공간에 담깁니다. 그리고 4번이 실행되는데요. 4번은 main 큐를 실행하는 과정으로서 main내부의 코드들을 각각 실행합니다. 그리고 이 main이 종료되면 마지막으로 스택 공간에 main이라는 것이 쌓입니다. 순서는 이렇게 됩니다. 아직까지 스택이 뭔지, 큐가 뭔..

메서드는 자바에서 정말 중요한 파트입니다. 메서드는 뜻이 행위라고 하는데 예를 이 사진으로 보겠습니다. 커피머신과 손님이라는 클래스를 만들었을 때 손님클래스안에는 커피마시기를 구현하고자 하고 커피머신 클래스에는 커피만들기를 구현하려고 한다고 가정합시다. 이렇게 MethodEx01 내부에 메서드를 만들고 void start(){ } 하게 되면 이 중괄호 내부에 들어가는 코딩 내용들이 start라는 메서드를 실행시켰을 때 나옵니다. 이 start() 메서드를 항상 메모리에 띄우는 방법이 있습니다. 바로 static입니다. 메서드도 이전에 배웠던 것처럼 똑같이 static을 통해 메모리 공간에 띄울 수 있습니다. 이렇게 한 번 입력해볼까요? 같은 클래스 내부니까 클래스는 굳이 안써도 되지만 여기서 더 작성해볼..

자바의 변수에는 일반변수와 레퍼런스변수가있습니다. 일반 변수는 크기가 정해져 있는 것으로서 해석할 수 있습니다. 여기서 num은 int타입으로 main안에 선언했기 때문에 일반변수입니다. 그러나, MyData는 우리가 직접 만든 클래스이기 때문에 자바입장에서는 이것을 직접 실행시켜보지 않는 이상 이 MyData에 대해 모릅니다. 그래서 이렇게 MyData에서 이 d라는 변수를 갖고왔을 때를 레퍼런스변수라고 합니다. 크기가 정해져 있지 않다는 것은 컴파일 시점에 이야기하는 것입니다. 그리고 또 알아야할 것이 있습니다. 나중에 타입 변수라는 것이 나오는데 이 타입 변수를 선언한다는 것은 int num;까지만 썼을 때를 의미합니다. 즉, num에 값을 넣지 않고 num만 선언했기 때문에 이것을 변수를 선언했다..

이번 시간에 배울 건 클래스 자료형의 Heap저장에 대해 배울 것입니다. 저번 시간에 배운 이 MyVar의 클래스 자료형은 사실 단점이 있습니다. 만약 나와있는 n1과 c1의 데이터 외에 다른 값을 넣으려면 일일히 값을 바꿔야 한다는 번거스러움이 있습니다. 자 만약 static을 이용했을 때 단점을 정리하겠습니다. 1) 프로그램 시작전 부터 프로그램 종료시까지 존재하기 때문에 메모리 낭비 2) 많은 데이터를 저장하고 싶을 땐 클래스 자료형을 여러 개 만들어야 하는 소모성 이렇게 있을 수 있습니다. 그러므로 우린 Heap을 이용하여 데이터를 정리해보겠습니다. 이 Static이라는 것은 정적인 상태입니다. 항상 메모리에 띄워놓고 미리 정해야하기 때문에 데이터가 많아질수록 과부하가 걸리기 쉬워서 정적인 sta..