전체 글

전체 글

    [운영체제] 프로세스 관리

    [운영체제] 프로세스 관리

    운영체제 강의(이화여대,반효경 교수님)를 듣고 정리한 내용입니다. 프로세스 관리 #1 프로세스 생성 (Process Creation) 부모 프로세스가 자식 프로세스 생성 프로세스의 트리(계층 구조)형성 프로세스는 자원을 필요로 함 운영체제로 부터 받는다 부모와 공유한다 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 copy on write : 내용이 바뀔 때까진 부모 것을 계속 공유해서 사용하겠다. 일부를 공유하는 모델 전혀 공유하지 않는 모델 (일반적인 모델) 수행(Execution) 부모와 자식은 공존하며 수행되는 모델 자식이 종료(terminate) 될 때 까지 부모가 기다리는(wait) 주소 공간 자식은 부모의 공간을 복사함 (binary and Os data) 프로세스의 문맥을 모두 복사..

    [운영체제] 프로세스

    [운영체제] 프로세스

    운영체제 강의(이화여대,반효경 교수님)를 듣고 정리한 내용입니다. 프로세스 #1 프로세스의 개념 프로세스 : Program in execution , 실행중인 프로그램 프로세스의 문맥(context) CPU 수행 상태를 나타내는 하드웨어 문맥 프로그램 카운터 각종 레지스터 프로세스 주소 공간 code,data,stack 프로세스 관련 커널 자료구조 PCB(Process Control Block) Kernel stack - 프로세스마다 별도로 두고 있음. 프로세스의 현재 상태를 알고 있는것이 프로세스 문맥 , 현재 상태를 규명하기 위해 필요한 것. 실행이 시작 되면 독자적인 주소 공간을 만든다. 프로그램 카운터라는 레지스터가 프로세스의 코드를 가리킨다. 매 순간 프로세스의 코드를 읽어서 레지스터에 값을 넣..

    [운영체제] 운영체제의 개요 및 컴퓨터 시스템의 구조

    [운영체제] 운영체제의 개요 및 컴퓨터 시스템의 구조

    운영체제 강의(이화여대,반효경 교수님)를 듣고 정리한 내용입니다. 1 운영체제 개요 운영 체제란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 좁은 의미의 운영체제 커널 운영체제의 핵심 부분으로 메모리에 상주하는 부분 넓은 의미의 운영체제 메모리에 상주하지 않는 별도의 프로그램들 커널뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념 운영 체체의 목적 컴퓨터 시스템의 자원을 효율적으로 관리 프로세서, 기억장치, 입출력 장치 등을 효율적으로 관리 사용자간의 형평성 있는 자원분배(형평성) 주어진 자원으로 최대한의 성능을 내도록 (효율성) 사용자 및 운영체제 자신의 보호 프로세스,파일,메시지 등 관리 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 ..

    [React] 커스텀 훅 만들기

    [React] 커스텀 훅 만들기

    커스텀 훅을 만들면 반복되는 컴포넌트 로직을 함수로 만들어서 재사용할 수 있다. 채팅 어플리케이션에서 사용자가 접속중이면 접속중인 상태는 검정색 접속중이 아닐때는 검정색으로 상 나타내기로 했을 때, 이 상태 표시창을 여러 컴포넌트 ( 친구 정보, 친구리스트) 에서 해야 한다면 어떻게 해야 할까? 각 컴포넌트 안에 state를 만들고 useEffect를 통해 서버로부터 접속 상태를 얻어올 수 있다. 그러나 이 방식을 사용하면 완벽하게 똑같은 로직 (서버와 통신하는 코드)를 중복하여 두 컴포넌트안에 작성하게 된다. 이렇게 중복되는 로직을 하나의 기능을 담당하는 함수로 분리하여 코드를 작성하는것 처럼 커스텀 훅을 사용하여 재사용할 수 있다. React Custom Hook 두 개의 자바스크립트 함수에서 같은 ..

    [React] 리액트 라이프 사이클과 useEffect Hook

    [React] 리액트 라이프 사이클과 useEffect Hook

    리액트 라이프 사이클과 useEffect Hook 모든 리액트 컴포넌트는 '생명주기 메서드'를 가지며 이를 오버라이딩 하여 특정 시점에 코드를 실행되도록 할 수 있다. 이 글에서 작성하는 것 보다 많은 라이프 사이클 관련 메서드가 존재하지만 위 도표에 나오는 일반적인 라이프사이클 메소드만 기술하였습니다. 마운트 컴포넌트의 인스턴스가 생성되어 DOM 상에 삽입 될 때 아래 메서드들이 순서대로 호출된다. constructor() 해당 컴포넌트가 마운트 되기 전에 호출되는 React 컴포넌트 생성자. 메서드를 바인딩하거나 state를 초기화 하는 작업이 없다면 해당 React컴포넌트에서는 구현하지 않아도 된다. 보통 state를 초기화 하거나 인스턴스에 이벤트 처리 메서드를 바인딩 할 때 주로 사용한다. re..

    [백준 20040/] 사이클게임 java

    [백준 20040/] 사이클게임 java

    문제 Union-find 를 활용하는 기본적인문제이다. 선택한 두 점의 번호를 한 집합으로 합쳐가는데, 이 때 두 번호가 모두 이미 선택된(집합에 이미 속한)번호들이라면 사이클이 생긴다. 사이클이 발생하면 이후의 입력값들은 더이상 볼 필요 없이 바로 종료하면 된다. Java 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N,M; static int[] parent; public static void main(String[] args) throws Exception { BufferedReader br = new Buf..