본문 바로가기

전체 글199

Java 기초 프로그래밍 이란? 프로그래밍 : 컴퓨터가 일을 수행 하도록 프로그래밍 언어로 명령어 집합(프로그램)을 만드는 일 컴파일 : 프로그래밍 언어를 컴퓨터가 실행 가능한 기계어로 만드는 일 컴파일러 : 기계어로 바꾸어 주는 프로그램 자바 프로그래밍 특징 객체 지향 언어로 유지 보수가 쉽고 확장성이 좋음 안정적임 (프로그램이 잘 안죽는다.) + 기존에 cpp이 가지고 있었던 모호함, 불안한 요소들이 없어졌다. 풍부한 기능이 제공되는 오픈 소스 (ex. JDK(Java Development Kit) : Java에서 제공되는 개발용 라이브러리) 플랫폼(ex. 운영체제 >>> window, linux...)에 영향을 받지 않기 때문에 다양한 환경에서 사용가능 byte code가 가상머신 위에서 실행되기 때문에 가상머신.. 2023. 4. 22.
Processes Dialogue on Virtualization 여기 하나의 복숭아가 있다고 가정해 보자. 나는 이 복숭아를 3명의 사람에게 공유하려고 한다. 이때, 3명의 사람이 다른 사람과 복숭아를 공유한다는 사실을 알면 불쾌할 수도 있다. 따라서 3명의 사람이 각각 자신만의 복숭아를 지급받았다고 생각하도록 해야 한다. 복숭아 - CPU or memory, 3명의 사람 - process이라고 할 때 >>> CPU 또는 memory를 각각의 프로세스가 혼사 소유하고 사용하고 있다고 여기도록 하는 것이다. 어떻게?? 3명의 사람은 모두 하루종일 복숭아를 먹지 않을 것이기 때문에, 내가 복숭아를 빼앗아 복숭아가 필요한 사람에게 제공하면 된다. CPU Virtualization The Crux of the Problem :.. 2023. 4. 12.
Introduction to Operating Systems What a happens when a program runs? 프로그램은 실행 중일 때 명령들을 실행한다. 1. Fetch : processor가 memory에서 instruction을 가져오면 2. Decode : 해당 명령이 어떤 명령인지 확인하는 decode를 한다. 3. Execute : 실행한다. (ex. 숫자 추가, memoery 접근, condition 확인,...) 4. next instruction : processor가 다음 명령으로 이동 Operating System (OS) OS는 program 실행을 쉽게 하고 program에서 memory 공유를 허용하고 program이 devices들과 interact 하는 것을 허용한다. OS is in charge of making sur.. 2023. 4. 12.