조준화의 오류정정

조준화의 오류정정

  • 분류 전체보기
    • TIL
    • 프로그래밍 언어
      • Java
      • JavaScript
      • C++\C
      • HTML\CSS
      • Markdown
    • 알고리즘
      • 문제풀이
      • 알고리즘 지식
    • CS
      • Computer Architecture
      • Operating System
      • Computer Network
      • 백엔드
      • Information Retrieval
      • Database System
      • ServerProgramming
    • AI
      • YOLO
      • CS231n
    • 프로젝트: Co Laobr
    • 프로젝트: 노인을 위한 나라는 있다.
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

조준화의 오류정정

컨텐츠 검색

태그

알고리즘 백준 C++ 문제풀이 자료구조 java 문자열 dfs 정렬 til 백트래킹 우선순위 큐 OS html BOJ DP 시뮬레이션 재귀 BFS 자바

최근글

댓글

공지사항

아카이브

CS(47)

  • [OS] Memory Management - Fixed Partitions, Variable Partitions, Overlays, Swapping, Virtual Address

    1. 메모리 관리운영체제가 어떤 방식으로 피지컬한 메모리를 관리할까?메모리 관리의 목적은 다음과 같다.프로그래머에게 abstract view를 보여주는게 중요하다.프로그래머는 A.exe가 메모리의 어디에 위치하는지는 전혀 신경쓰지 않고 배열을 선언하는 등 편하게 사용한다. 그 이유는 운영체제가 피지컬한 메모리를 가상의 공간으로 잘 보여주기 때문이다.메모리는 부족한 자원인데, 이를 잘 나눠줘야 한다.여러 프로세스들이 메모리를 두고 경쟁하는 과정에서, 성능은 최대화시키면서 오버헤드는 최대한 줄여 잘 나눠줘야 한다.프로세스간 isolation을 제공해야 한다.프로세스마다 가상의 메모리를 각각 가지고 있고 서로의 메모리는 볼 수 없어야 한다.왜 메모리 관리가 어려울까?싱글 프로세스라면 OS 등의 메모리만 할당하..

    2024.05.14
  • [OS] CPU 스케줄링의 기초적인 방식, FIFO, SJF, SRTF, RR, Priority scheduling

    1. CPU SchedulingCPU에 코어가 하나가 있는데, 그 코어를 어떤 프로세스에 줄 것인가를 결정하는 문제이다.ready 상태에 있는 프로세스 중 다음에 실행할 프로세스 하나를 뽑는 문제이다.컨텍스트 스위치가 많이 일어나므로 CPU 스케줄러가 자주 일어나고, 그만큼 스케줄링이 빠르게 일어나야 한다.그림의 매 포인트마다 CPU 스케줄링이 일어난다.Scheduling algorithm goalsAll systems굶어죽는 프로세스가 있어서는 안된다. CPU를 계속 안받는 일이 일어나면 안되고 골고루 받아야 한다는 말이다.어떤 얘는 1초만 쓰고, 어떤 얘는 10초만 쓰면 공평하지 않다.밸런스도 생각해야 한다. 전체 시스템 파트, CPU 메모리 I/O가 골고루 바쁘게 돌 수 있도록 밸런스 있게 스케줄링..

    2024.05.12
  • [백엔드] 웹 서버 VS WAS(앱 서버)

    Static pagesimage, html, css, javascript 등 컴퓨터에 저장되어 있는 파일을 의미한다.웹 서버에서 요청에 알맞은 파일을 제공한다.같은 요청에 대해 정적으로 항상 같은 페이지를 반환한다.Dynamic pages들어온 요청에 맞게 동적으로 만들어진 콘텐츠를 의미한다.웹 애플리케이션 서버에서 제공하고, DB, 서버 내 로직 등을 활용해 만들어진 콘텐츠를 반환한다.웹 서버웹 서버는 HTTP 요청을 받아 static contents를 제공하는 서버를 말한다.웹 컨테이너를 거치지 않고 바로 요청한 정적 컨텐츠를 제공할 수 있다.동적인 컨텐츠를 요청하는 경우, 웹 컨테이너에 요청을 보낸다.웹 컨테이너동적인 데이터들을 처리하여, 정적인 페이지로 생성해 주는 소프트웨어 모듈이다.티스토리에서..

    2024.05.05
  • [OS] 세마포어와 모니터를 통해 동기화 문제를 해결해보자! - 데드락, Starvation

    spinlock의 문제점 [OS] 동기화 문제를 해결해보자! - Locks, Perterson’s AlgorithmLocks lock은 말 그대로 자물쇠 역할이다. 크리티컬 섹션에는 한 명만 들어가야 하는데, 들어갈 때 lock 하고, 나올 때 unlock 하는 방식으로 동기화 문제를 방지한다. acquire() : lock이 풀릴 때 까지 기다jun-n.tistory.com위의 글에서 동기화 문제 해결 방법으로 Locks을 공부했다. 그런데 사실 위에서 배운 Lock은 해결법 중 하나인 spinlock이다. spinlock 외에도 많은 Locks가 있는데, spinlock에 어떤 문제가 있어서 새로운 Lock이 등장하게 되었을까?spinlock은 CPU를 너무 낭비한다. (wasteful)spinloc..

    2024.04.29
  • [OS] 동기화 문제를 해결해보자! - Locks, Perterson’s Algorithm

    Locks lock은 말 그대로 자물쇠 역할이다. 크리티컬 섹션에는 한 명만 들어가야 하는데, 들어갈 때 lock 하고, 나올 때 unlock 하는 방식으로 동기화 문제를 방지한다. acquire() : lock이 풀릴 때 까지 기다렸다가 풀리면 잡는다. 풀려있다면 그냥 잡는다. 대기하다 보면 여러 쓰레드가 대기할 수 있다. 여러 쓰레드들을 다 고려해서 acquire()하는 메커니즘을 고려해야 한다. release() : unlock Lock은 초기에 열려있다. 크리티컬 섹션에 들어갈 때 acquire을 부르고 나올 때 release 한다. acquire과 release 사이에 쓰레드는 락을 잡고 있어야 한다. 또, 최대 하나의 쓰레드만이 락을 잡고 있어야 한다. 아래의 그림을 잘 이해하자! Lock은 ..

    2024.04.13
  • [OS] Synchronization & Critical sections & Synchronization Problem

    Synchronization 멀티쓰레드로 만들어진 프로그램들이 서로 잘 돌아가게 해야 한다. 여러 자원을 공유하는 멀티 쓰레드 프로그램들이 서로 잘 협력해야 한다. 멀티 쓰레드들이 실행되면서 문제를 일으킬 수 있는데, 그걸 Synchronization 문제라 한다. 이 협력을 통제해야만 문제가 생기지 않는다. 두 개의 쓰레드가 있는 프로세스를 생각해 보자. 쓰레드들의 스케줄링은 OS 내부의 스케줄러가 결정한다. 그런데 가끔, 쓰레드들의 실행 순서에 따라서 문제가 생기거나 결과가 바뀔 수 있다. 운영체제의 스케줄링을 프로그래머가 결정할 수 없다. 그런데 프로그래머는 스케줄링을 컨틀로 해야 할 때가 있다. 여러 쓰레드의 실행 순서, 프로세스들 간의 스케줄링을 컨트롤해야 할 때가 분명히 있다. 예시로 보자. ..

    2024.04.13
이전
1 ··· 3 4 5 6 7 8
다음
티스토리 github notion
© 2018 TISTORY. All rights reserved.

티스토리툴바