728x90

기타 35

JVM

📌JVMJVM은 Java를 실행하기 위한 가상 컴퓨터이다. Java는 OS에 종속되지 않는다는 특징을 가지고 있기 때문에, OS와 독립적으로 실행될 수 있도록 도와주는 JVM이 필요하다. Java 소스코드(*.java)는 CPU가 인식하지 못하므로 기계어로 컴파일 해주어야 하며, Java Compiler를 통해 .java가 .class라는 Java bytecode로 변환되고 JVM을 통해 최종적으로 운영체제에 맞는 기계어로 변환되어 실행된다. 이때, Java Compiler란 JDK를 설치하면 bin에 존재하는 javac.exe를 말하며 javac 명령어를 통해 .java를 .class로 컴파일 할 수 있다.  특징1. 컴파일된 바이트 코드를 기계가 이해할 수 있는 기계어로 변환2. 스택 기반의 가상 ..

기타/Java 2024.10.30

JAVA(2)

📖Java(2) 🔍에러와 예외 어떤 원인에 의해 오동작하거나 비정상적으로 종료되는 경우 Error 프로그램을 잘못 작성한 경우 Exception Checked Exception: 예외에 대한 대처코드 유무를 확인(예외에 대한 대처코드가 없다면 컴파일을 진행하지 않는다, 대처코드 O) Unchecked Exception: 예외에 대한 대처코드 유무를 확인(예외에 대한 대처코드가 없어도 컴파일을 진행한다. 런타임 오류, 대처코드 X) ✔️try~catch 구문 try{ } catch(XXException c){ //던진 예외를 받음 //예외가 발생했을 때 처리할 코드 } public class SimpleException { public static void main(String[] args) { //jav..

기타/Java 2024.01.28

JAVA(1)

📖Java 🔍변수 변수는 “메모리 공간(그릇)”으로, 메모리 공간에 값(value)을 할당(assign)한 후 사용한다. ✔️Type이란? 기본형(Primitive Type): 값 저장 미리 정해진 크기의 데이터 표현으로 변수 자체에 값을 저장한다. 참조형(Reference Type): 주소 저장 크기가 미리 정해질 수 없는 데이터의 표현으로, 변수에는 실제 값을 참조할 수 있는 주소만 저장한다. 자바는 변수에 대입, 리턴, 함수 인자 값을 전달하는 Pass By Value를 사용한다. *Pass By Value: 대입, 리턴, 함수 인자 값을 전달할 때 메모리의 값을 전달하는 것 기본형(Primitive Type): 메모리에 지정된 실제 값이 전달된다. ⇒ Pass By Value 참조형(Referen..

기타/Java 2024.01.20

Lab3 : [Analyze Ext2 file system internal]

목표: 2번 directory의 89파일과 98파일 찾기 1. Root Directory에서 찾을 File이 속한 Directory의 Inode Number를 찾는다. 1단계에서 이루어진 내용 정리: 찾고자하는 파일이 속한 directory의 위치를 알 수 없다. Root directory에서 찾고자 하는 파일이 속한 directory이 Inode number를 찾는다. Inode number를 찾으면 Inode table에서 Inode의 위치를 찾을 수 있다. Superblock을 분석하여 Inode table의 위치를 찾을 수 있다.(Supberblock은 file system에 대한 Meta-data를 관리한다.) Inode table에서 Root directory의 Inode number를 통해서..

기타/운영체제 2022.06.06

[운영체제]Advanced File System

1. Locality and Fast File System 2. Crash Consistency: FSCK and Journaling 3. Summary. Feature of Various FS: Ext2/3/4, FAT, Flash FS 2. Crash Consistency: FSCK and Journaling 3. Summary. Feature of Various FS: Ext2/3/4, FAT, Flash FS Advanced File System 1. Locality and Fast File System UFS(Unix File System) :Unix가 처음 만들어졌을 때 만들어졌던 Unix File system이다. 구조 Boot sector 시스템에 처음 전원이 들어왔을 때 부팅에 필요한 정..

기타/운영체제 2022.06.04

[운영체제]Paging

1. paging: Introduction 2. TLB 3. Advanced Page Tables 4. Beyond Physical Memory: Mechanisms 5. Beyond Physical Memory: Policies 1. paging: Introduction Paging을 사용하는 이유 *가변 크기 할당, Segmentation 장점 -sharing, protection support(공유, 보호기능을 제공한다.) -Address translation, using segment table(segment들이 physical memory의 어디에 올라가는지 확인하기 위해서 segment table을 사용한다.) 단점 메모리 단편화 현상이 발생해, free space가 조각나서 관리된다. 단편화..

기타/운영체제 2022.06.03

[운영체제]Memory Virtualization

Memory Virtualization, 메모리 가상화 1. Memory Virtualization 2. The Abstraction: Address Space 3. Interlude: Memory API 4. Mechanism: Addess Translation 5. Segmentation 6. Free-Space Management 1. Memory Virtualization 가상화에는 두 개의 중요한 축이 있다. CPU Virtualization과 Memory Virtualization이다. CPU Virtualization은 process와 thread의 개념으로 설명되었다. Memory Virtualization를 이해하기 위해서 가장 중요한 것을 프로그램이 만드는 모든 Address는 Virt..

기타/운영체제 2022.05.23

[운영체제]File System

4. Interlude: Files and Directories 4-1. File and Directories File 정의: 문자열인데 영속적으로 저장된다. 각각의 파일은 자신의 고유한 구조를 가지고 있다. 하지만 OS입장에서는 이런 format을 신경쓰지 않고, 이런 format들은 application 입장에서 고려된다. 파일은 절대경로와 상대경로의 2가지 이름을 가진다. 절대경로(absoulte path): root부터 시작 상대경로(relative path): 현재 디렉토리 위치부터 시작 Directory 파일중에 특별한 목적으로 사용되는 파일로, 계층구조를 만든다. -Root directory: 가장 상위에 존재하는 디렉토리 -Home directory: 로그인 후 처음 들어가는 디렉토리 -W..

기타/운영체제 2022.05.23

[운영체제]Hard Disk Drives

3. Hard Disk Drivers 3-1. The intergace Interface -Basic unit: 하드디스크는 기본적으로 섹터 단위로 구성되어 있다. 섹터의 크기는 512byte이다. -디스크의 Address, LBA(Logical Block Address) LBA를 작성하는 2가지 방법 →Sector Addressing(섹터를 그대로 사용하는 방법): 512B : 한번 읽거나 쓸때 512B단위로 접근한다. →Multi-sector Addressing(최근에는 섹터를 여러개 모아서 접근하는 multi-sector addressing을 사용한다.) : 보통 8개의 sector를 만들어 4KB의 block을 만들고, 이를 disk block이라고 부른다. 3-2. Basic Geometry 기..

기타/운영체제 2022.05.23
728x90