본문 바로가기

전체 글155

[java-basic] 1. 클래스와 데이터 김영한의 실전 자바 - 기본편 목차 1. 클래스클래스를 사용해서 학생이라는 개념을 만들고, 각각의 학생 별로 본인의 이름, 나이, 성적을 관리한다. Student 클래스package class1;public class Student { String name; int age; int grade;}class 키워드를 사용해서 학생 클래스(`Student`)를 정의한다. 학생 클래스는 내부에 이름(`name`), 나이(`age`), 성적(`grade`) 변수를 가진다. 클래스에 정의한 변수들을 멤버 변수, 또는 필드라고 한다.자바에서 멤버 변수, 필드는 같은 뜻이다. 클래스에 소속된 변수를 뜻한다. 클래스는 관례상 대문자로 시작하고 낙타 표기법을 사용한다. 학생 클래스를 사용하는 코드Class.. 2024. 12. 6.
JSCODE 모의면접 스터디 회고 2024.11.01 ~ 2024.11.29 JSCODE 모의면접 스터디는 팀원들이 돌아가며 지원자, 면접자, 관찰자, 타임키퍼 역할을 맡아 1주일 간 공부한 내용을 바탕으로 모의면접을 진행하는 스터디이다. CS 공부를 효율적으로 할 수 있는 스터디를 찾다가 발견하게 되었고, 모집 공고글을 읽어보니 공부에 대한 동기부여를 얻을 수 있을 것 같아 참여하게 되었다. 활동 자료  배운 점, 느낀 점, 깨달은 점학부생 시절 이후로 운영체제를 제대로 다시 공부하는 것은 이번이 처음이었는데, 생각보다 많은 것을 기억하지 못하고 있는 내 모습에 실망스러웠다. 개념의 단어들은 모두 떠올릴 수 있었지만, 막상 공부를 하면서 다시 되짚어보니 분명히 알고 있었던 내용인데도 이렇게 새로울 수가 있나 싶었다. 그래서 나는 스스로.. 2024. 12. 3.
[운영체제] 가상 메모리 (2) - 성능 최적화와 관리 기법 JSCODE 모의면접 스터디운영체제 6기 5주차목차 1. 요구 페이징요구 페이징은 프로세스가 실행되는 동안 필요한 페이지만 메모리에 적재하고, 필요하지 않은 페이지는 디스크에 저장하여 메모리를 절약하는 기법이다.요구 페이징 시스템이 안정적으로 작동하려면 두 가지를 해결해야 한다. => 페이지 교체와 프레임 할당 작동 원리CPU가 페이지에 접근하면 페이지 테이블의 유효 비트를 확인한다.유효 비트가 1이면(해당 페이지가 메모리에 있음) CPU는 해당 프레임에 직접 접근한다.유효 비트가 0이면(해당 페이지가 메모리에 없음) 페이지 폴트가 발생한다.운영체제의 페이지 폴트 처리 루틴이 동작한다.디스크에서 해당 페이지를 찾는다.메모리의 빈 프레임에 페이지를 적재한다. (빈 프레임이 없다면 페이지 교체가 필요)페이지.. 2024. 12. 2.
[운영체제] 가상 메모리 (1) - 기본 개념과 구현 방식 JSCODE 모의면접 스터디운영체제 6기 5주차목차 1. 메모리 주소 지정 방식데이터를 저장하거나 불러올 때, 데이터가 위치한 메모리의 주소를 지정하는 것이다.주소 지정 방식에는 절대 주소 지정과 상대 주소 지정이 있다. 물리 주소와 논리 주소(가상 주소)현대 운영체제는 메모리 관리를 위해 물리 주소와 논리 주소 개념을 사용한다.물리 주소: 메모리 하드웨어에서 데이터가 실제로 저장된 위치를 가리키는 주소이다.논리 주소(가상 주소): CPU와 실행 중인 프로그램이 사용하는 가상의 메모리 주소로, 각 프로세스마다 독립적인 0번지부터 시작되는 주소이다.MMU(Memory Management Unit): 프로세스의 논리 주소를 물리 주소로 자동 변환하여 실제 메모리에 접근한다. 절대 주소 지정데이터가 위치한 메.. 2024. 11. 24.
[운영체제] 프로세스 동기화 JSCODE 모의면접 스터디운영체제 6기 4주차목차 1. 프로세스의 병행성과 병렬성병행성(Concurrency, 동시성)여러 작업이 동시에 실행되는 것처럼 보이는 것으로, 프로그램(논리적 수준)이 작업을 처리하는 방식입니다. 싱글 코어에서는 시분할(Time-Sharing) 방식으로 CPU를 나누어 사용하여 동시 실행되는 것처럼 처리멀티 코어에서도 실행 가능하며, 이 경우 실제 병렬 처리도 가능작업 전환 시 Context Switching이 발생하여 현재 작업 상태를 저장하고 다음 작업을 불러옴 병렬성(Parallelism) 여러 작업이 실제로 동시에 처리되는 것으로, 실제 CPU의 물리적인 코어(물리적 수준)를 여러 개 사용하여 동시에 처리하는 방식이다. 오직 멀티 코어에서만 동작이 가능하다. 병렬성 종.. 2024. 11. 19.
[운영체제] CPU 스케줄링 JSCODE 모의면접 스터디운영체제 6기 3주차목차 1. CPU 스케줄링CPU 스케줄링은 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것을 말한다.운영체제는 준비큐에 있는 프로세스들 중 어떤 프로세스에 CPU를 할당할지 결정한다. 프로세스의 특성와 우선순위입출력 집중 프로세스 (I/O Bound Process): 입출력 작업이 많은 프로세스로 대기 상태에 더 많이 머무름.CPU 집중 프로세스(CPU Bound Process): 계산 위주의 CPU 작업이 많은 프로세스로 실행 상태에 더 많이 머무름.두 프로세스가 동시에 CPU 자원을 요구한 경우입출력 집중 프로세스를 먼저 실행하여 입출력장치를 지속적으로 활용하고, 그 다음 CPU 집중 프로세스에 CPU를 집중적으로 할당하는 것이 더.. 2024. 11. 12.
반응형