본문 바로가기

교육, 학습79

JAVA 문법 - ArrayList와 LinkedList(메모리 측면 비교) 강의 소개 현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다. 교재로는 자바의 정석을 사용하고 있습니다. List컬렉션 (컬렉션 프레임워크 내) List컬렉션은 객체를 일렬로 가지고 있는 구조이다. 객체에 인덱스를 자동으로 부여해 인덱스를 사용하여, 객체를 검색하고 삭제할 수 있다. List컬렉션은 객체 자체를 저장하지 않고, 객체의 번지를 저장한다. [힙 영역 내 List컬렉션의 형태] - 특징 저장 순서가 유지된다. 같은 요소(객체)를 중복 저장할 수 있다. List컬렉션 내에는 Vector, ArrayList, LinkedList, stack 등이 있다. 하지만 이 중 Vector는 사용이 권장되지는 않는다. 1. ArrayList Vector.. 2022. 1. 17.
운영체제 - 경쟁조건(Race Condition)의 발생: 동기화의 문제점 강의 소개 현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다. 개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다. 경쟁조건(Race Condition) Race condition 여러 프로세스들이 동시에 공유 데이터를 접근하는 상황에서 발생하는 문제이다. 데이터의 최종 연산 결과는 마지막에 그 데이터를 다룬 프로세스에 따라 달라진다. 이런 문제 때문에 상호 배제(Mutal Exclusion) 개념이 필요하다. 데이터 연산의 과정 컴퓨터 시스템에서 데이터 연산의 순서는 이렇다. 연산할 데이터를 저장공간에서 가져온다. -> 연산한다. -> 연산 결과를 저장공간에 반영한다. 이렇게 실행과 저장 주체가 1 대 1의 .. 2022. 1. 15.
운영체제 - CPU 스케줄링 알고리즘의 평가방법 강의 소개 현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다. 개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다. CPU 스케줄링 알고리즘의 평가 방법 앞서 다양한 알고리즘이 있었다. 이 알고리즘의 성능을 평가할 때 어떻게 평가를 진행하는지 알아본다. 1. 큐잉 모델(Queueing moel) 이론적인 방법으로 CPU스케줄링뿐 아니라 컴퓨터 시스템과 관련하여 예전에 사용하던 방식이다. 확률 분포를 통해 프로세스들의 도착률과 CPU의 처리율을 수식에 대입하여 각종 성능 지표인 CPU의 처리량, 프로세스의 평균 대기 시간 등을 계산한다. 2. 구현(Implementation)과 성능 측정(Measurement) .. 2022. 1. 15.
운영체제 - CPU스케줄링 알고리즘(선점형, 비선점형) 강의 소개 현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다. 개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다. CPU스케줄링을 하는 이유 스케줄링이란 운영체제가 어떤 프로세스를 실행되게 할 것인지 정하는 것이다. ready queue에 들어간 프로세스들이 실행을 하는 순서를 정한다. 시스템 자원을 효율적으로 사용하기 위해 중요하다. CPU스케줄링의 여러 가지 알고리즘 크게 CPU를 빼앗을 수 있는지 여부에 따라 비선점 스케줄링, 선점 스케줄링으로 나눌 수 있다. 선점형이란 특정 프로세스가 1개의 CPU를 사용하고 있을 때 다른 프로세스가 CPU를 빼앗을 수 있는 방법이다. 프로세스의 우선순위가 높은 프로세.. 2022. 1. 15.