전체 글
-
프로세스 스케줄링(Process Scheduling)과 스케줄링 알고리즘Computer Science 2025. 3. 30. 02:00
프로세스 스케줄링프로세스 처리를 효율적으로 하기 위해서는 주어진 프로세스가 하나가 아닐 경우 운영체제는 적절하게 어떤 순서대로 프로세스를 처리해야 할지 결정하는 과정을 거치는데, 이것을 프로세스 스케줄링이라고 합니다. 프로세스 스케줄링의 목표프로세스 스케줄링의 주요 목표는 여러가지가 있습니다. 프로세스 스케줄링의 주요 목표균형성: 시스템 자원을 효율적으로 사용공정성: 여러 프로세스가 공정하게 실행될 수 있도록 함처리량 극대화응답 시간 최소화대기 시간 최소화 위와 같은 목표를 달성하기 위해 운영체제에는 여러 가지 스케줄링 정책과 스케줄링 정책에 따른 다양한 스케줄링 알고리즘이 있습니다. 스케줄링 정책프로세스 스케줄링 정책은 크게 선점형과 비선점형으로 나뉩니다. 프로세스 스케줄링 정책선점(Preemptive..
-
프로세스와 쓰레드Computer Science 2025. 3. 25. 19:36
프로세스(Process)프로세스란 실행중인 프로그램을 의미합니다.프로세스는 운영체제(OS)로 부터 자원을 할당 받아서 동작합니다. 프로그램(Program): 동작을 하지 않는 정적, 수동적인 개체프로세스(Process): 동작하는 능동적인 개체자원(Resource): CPU, Memory, IO, File, Network 등 컴퓨팅 자원동작: 처리장치가 프로세스의 명령을 수행하는 것 프로세스 관리자는 프로세스를 생성 및 종료하고, 프로세스를 실행시키기 위해 CPU를 할당하는 등의 스케줄링 작업, 프로세스의 상태관리 등의 작업을 합니다. 프로세스의 구성메모리 구조프로그램 실행에 직접적으로 필요한 코드와 데이터입니다. 프로세스의 메모리 구조에 있는 영역들은 다음과 같습니다.코드 영역: 어셈블리 형태의 ..
-
내 코드가 그렇게 이상한가요? 독후감독후감 2023. 12. 1. 22:04
11월 초부터 11월 30일까지 거의 한달간 조금씩 읽던 책을 드디어 다 봐서, 다 본 기념으로 독후감 쓰려고 합니다. 그냥 진짜 개인적인 감상문 적어놓은것이니 읽기 힘들어도 너른 마음으로 이해 부탁드립니다 ㅎ 이 책을 읽게된 계기 '내 코드가 그렇게 이상한가요' 라는 책을 접하게 된건 배민에서 진행하는 우아한 스터디입니다. 우연히 배민 기술 블로그를 보다가 우아한 스터디 공지가 올라와있어서 내용을 하나하나 읽어보는데, 중간에 이 책을 발견하고 스터디가 아니라도 혼자서 꾸준히 조금씩 읽어보자는 생각이 들어서 바로 주문해서 읽기 시작했습니다. 저는 개발만 할 줄 알지, 설계는 사실 그렇게 크게 신경쓰며 개발하지 않았기 때문에 더 읽어보고싶었습니다. 감상평 이 책은 다른 소프트웨어 설계를 다룬 책들에 비해 ..
-
Git 브랜치 전략(feat. Git Flow, Github Flow, Gitlab Flow)Git 2023. 7. 4. 23:07
깃 브랜치 전략(Git Branch Strategy) Git에서는 동시에 여러 작업을 할 수 있게 Branch를 사용합니다. 작업 영역을 분리하여 수정하고 관리하고 원래 버전과 합칠 수도 있습니다. 이런 Git의 Branch를 관리하는 전략들을 Git Branch Strategy(깃 브랜치 전략)이라고 합니다! Git Branch 전략의 종류 Git Flow Github Flow Gitlab Flow Git Flow 깃 브랜치 전략이라고 하면 가장 먼저 떠오르는 굉장히 많은 회사와 팀에서 사용하고 있는 전략입니다. 특징 용도에 맞게 브랜치를 분리해서 사용(feature > develop > release > hotfix > master) 병합 순서는 앞에서부터 뒤로 병합 develop과 master 브랜..
-
2023년 상반기 회고. 근데 2022년 하반기를 곁들인..일상 2023. 7. 4. 01:26
해가 바뀐 지 얼마 되지도 않은 것 같은데, 벌써 2023년의 절반이 지나갔습니다. 최근 들어서 한 해가 굉장히 빠르게 지나간다는 생각을 하게 되네요.. 마침 2023년이 절반이나 지났겠다, 지난 반년을 회고해 보며 글을 작성해 볼까 하는 생각이 들었습니다. 그래서 지난날을 다시 되돌아보는데 2022년 연말에도 회고하고 글을 작성하려 했다는 사실이 기억났습니다. 게으름 때문인지 아니면 20살이 되고 들떠서 술을 마시러 다니느라 바쁜 탓이었는지는 모르겠지만 결국 아무것도 하지 못하고 2023년 1월이 지나고, 2월이 지나가더니 쏜살같이 반년이 삭제되었습니다 ㅋㅋ… 그래서 2023년 상반기 회고 하는 김에 많은 일과 변화가 있었던 2022년 하반기도 함께 회고하고 회고록으로 기록하고자 합니다. 학생에서 직장..
-
Spring Boot - SLF4J로 Log남기기Spring Boot 2023. 7. 1. 01:50
SLF4J란? Simple Logging Facade 4 Java(간단한 자바를 위한 로깅 파사드) SLF4J는 다양한 로깅 프레임워크에 대한 인터페이스 모음입니다. SLF4J는 많은 로깅 프레임워크를 하나의 방식으로 사용할 수 있는 방법을 제공해 줍니다. SLF4J는 인터페이스 프레임워크이기 때문에 단독으로 사용하지 않고, 로깅 프레임워크와 함께 사용합니다. 스프링 부트에서는 기본적으로 SLF4J와 Logback을 사용하고 있습니다. SLF4J 공식 docs SLF4J Manual SLF4J user manual The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging fra..
-
도커와 CI환경 - (5) 도커(docker) 이미지 다뤄보기CI-CD 2023. 1. 16. 00:35
도커 이미지 생성하는 순서 1. dockerfile 작성 2. docker 클라이언트 전달 3. docker 서버 전달 4. 이미지 생성 dockerfile이란? docker image를 만들기 위한 설정 파일입니다. 컨테이너가 어떻게 행동할지에 대한 설정들을 정의해줍니다. docker 서버 docker 클라이언트에 전달된 모든 중요한 작업들을 하는 곳입니다. dockerfile 만들기 dockerfile 만드는 순서 1. base image를 명시. 2. 추가적으로 필요한 파일을 다운 받기 위한 명령어들을 명시. 3. 컨테이너 시작시 실행 될 명령어를 명시. base image란? 도커 이미지는 여러개의 레이어로 구성되어있습니다. 그 중에서 베이스 이미지는 이 이미지의 기반이 되는 부분입니다. 실습(h..
-
도커와 CI환경 - (4) 도커(docker) 컨테이너의 생명주기CI-CD 2023. 1. 13. 00:44
도커 컨테이너의 생명주기 도커 컨테이너의 생명주기는 이렇습니다. 1. 생성 2. 시작 3. 실행 4. 중지 5. 삭제 생성 docker create 이미지이름 이미지로 컨테이너를 생성합니다. 이미지의 파일 스냅샷이 컨테이너의 저장공간에 들어가고 명령어가 실행되지 않은 상태입니다. 시작 docker start 컨테이너아이디또는이름 컨테이너를 실행시킵니다. 이미지의 명령어를 실행시킵니다. docker run docker run 이미지이름또는아이디 위에 있는 생성과 시작을 한번에 합니다. 보통 create와 start를 따로 사용하기보다는 docker run을 자주 사용합니다. 중지 docker stop 컨테이너아이디또는이름 하던 작업들을 완료하고 컨테이너를 중지합니다. docker kill 컨테이너아이디또는..