목록ALL (80)
테키테크 TEKITECH
6주 차 미션! [미션 1] p. 400의 확인 문제 1번 풀고 인증하기 · ( 최초 적합 ) : 최초로 발견한 적재 가능한 빈 공간에 프로세스를 배치하는 방식 · ( 최악 적합 ) : 프로세스가 적재될 수 있는 가장 큰 공간에 프로세스를 배치하는 방식 · ( 최적 적합 ) : 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식 [미션 2] Ch. 14(14-3) 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2414523423'일 때 FIFO, 최적 페이지, LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는지 풀어보기 FIFO 페이지 교체 알고리즘 - 4번 최적 페이지 교체 알고리즘 - 2번 LRU 페이지 교체 알고리즘 - 4번..
운영체제의 가장 핵심적인 역할 두 가지 중 하나인 메모리 관리에 대하여 스와핑 메모리 할당 방식 3가지: 최초 적합, 최적 적합, 최악 적합 연속 메모리 할당과 외부 단편화 문제 외부 단편화 해결 방안: 압축과 페이징 페이지 교체 알고리즘 스래싱과 프레임 할당 1. 스와핑 입출력장치의 요구로 대기 상태가 된 프로세스, 오랫동안 사용되지 않은 프로세스 등이 메모리 공간을 차지하고 있는 경우가 있다. 이렇게 메모리에 적재된 프로세스 중 현재 실행되지 않는 프로세스를 임시로 보조기억장치 일부 영역으로 쫓아내고, 그 공간에 다른 프로세스를 적재하여 실행하는 방식을 스와핑이라고 한다. 스와핑을 하면 동시에 실행하려는 프로세스들이 필요로 하는 메모리 공간의 총량보다 사용가능한 메모리 용량이 적어도 프로세스들을 동시..
교착 상태에 대하여 교착 상태(데드락)란? ft.식사하는 철학자 문제 교착 상태 발생 조건 4가지 교착 상태 해결 방법 - 예방, 회피, 회복 1. 교착 상태(데드락)란? ft. 식사하는 철학자 문제 프로세스 실행 과정에서 발생하는 문제 중 교착 상태 또는 데드락(Dead Lock)이라고 불리는 문제가 있다. ◈ 식사하는 철학자 문제 식사하는 철학자 문제는 교착 상태를 설명하기 위한 고전적인 문제이다. 동그란 원탁에는 다섯 명의 철학자가 앉아있고, 모든 철학자의 앞에는 각각 음식 접시가 놓여있다. 그리고 식사를 하기 위한 포크는 철학자 사이에 하나씩 총 5개의 포크가 놓여있다. 만약 포크 두 개가 있어야 먹을 수 있는 식사이고, 철학자들은 아래와 같이 식사를 한다고 하자. ① 철학자들은 계속 생각을 하다..
프로세스의 동기화 동기화 '생산자와 소비자 문제'와 '임계 구역 문제' 핵심 동기화 도구: 뮤텍스 락, 세마포, 모니터 1. 동기화 서로 데이터를 주고받으며 동시다발적으로 실행되는 많은 프로세스는 동기화를 통해 일사불란하게 실행될 수 있다. 이때, 동기화 즉, 프로세스 동기화란 프로세스 사이의 수행 시간을 맞추는 것을 의미한다. [1] 실행 순서 제어를 위한 동기화 프로세스는 올바른 순서대로 실행돼야 한다. 이를테면 특정 조건이 충족되어야 실행 가능한 프로세스의 경우에 해당 조건을 실행시키는 프로세스가 먼저 실행되어야 한다. [2] 상호 배제를 위한 동기화 서로 다른 두 프로세스가 동시에 접근하면 안 되는 자원에 대해 한 번에 하나의 프로세스만 접근하도록 해야 한다. 2. '생산자와 소비자 문제'와 '임..
CPU 자원을 분배하는 방법 CPU 스케줄링 CPU 스케줄링 알고리즘 1. CPU 스케줄링 운영체제가 프로세스에 공정하고 합리적으로 CPU 자원을 배분하는 것을 CPU 스케줄링이라고 한다. 이때, 프로세스의 우선순위 즉, 빨리 처리해야 하는 프로세스 순서에 따라 배분을 하게 된다. ◈ 프로세스 우선순위 우선순위가 높은 프로세스에 CPU를 먼저 할당한다. 예를 들어 입출력 작업이 많아 대기 상태에 많이 머무르는 입출력 집중 프로세스는 우선순위가 높다. 반면 CPU 작업이 많은 CPU 집중 프로세스는 대기 상태보다는 실행 상태에 더 많이 머무르므로 우선순위가 낮다. CPU 사용 빈도가 낮은 프로세스를 먼저 할당하여 빨리 완료시킨 후 CPU 사용 빈도가 높은 프로세스를 실행하는 게 더 효율적이기 때문이다. 이..
우리가 알아야 할 컴퓨터 구조 지식 두 가지 프로세스 프로세스 상태와 프로세스 계층 구조 스레드 멀티프로세스와 멀티스레드 1. 프로세스 지금까지 '실행 중인 프로그램'이라고 표현하던 것을 프로세스라고 부른다. 프로그램이 실행되기 전까지는 보조기억장치에 있는 데이터 덩어리로 있다가 메모리로 옮겨 적재하고 실행하는 순간부터는 프로세스가 된다. ◈ 포그라운드 프로세스(Foreground Process)와 백그라운드 프로세스(Background Process) 사용자가 볼 수 있는 공간에서 실행되는 프로세스를 포그라운드 프로세스라고 하고, 보이지 않는 공간에서 실행되는 프로세스를 백그라운드 프로세스라고 한다. 이러한 백그라운드 프로세스를 유닉스 체계의 운영체제에서는 데몬(Daemon), 윈도우 운영체제에서는 서..
5주 차 미션! [미션 1] p. 363의 확인 문제 1번 풀고 인증하기 ① 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. (O) ② 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다. (O) ③ 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다. (O) ④ 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다. (X) → 대기(wait) 또는 가도 좋다는 신호(signal)에 따르게 되고, 대기 상태로 만들 수 있습니다. [미션 2] Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기 공유 자원 중에서 두 개 이상의 프로세스를 동시에 실행했을 때 문제가 발생하는 자원이 있는데, 이러한 자원에 접근하는 코드 ..
운영체제 이해하기 커널과 이중 모드 및 시스템 호출 운영체제의 핵심 서비스 1. 커널과 이중 모드 및 시스템 호출 운영체제의 핵심 서비스를 담당하는 부분을 커널이라고 한다. 따라서 운영체제가 설치된 모든 기기에는 커널이 있고, 어떤 커널을 사용하는지에 따라 프로그램이 하드웨어를 이용하는 양상 및 컴퓨터 전체의 성능에 차이가 생길 수 있다. 커널에 포함되지 않는 서비스에는 사용자 인터페이스 등이 있다. 운영체제는 하드웨어 자원 관리와 보호를 위해 오직 자신을 통해서만 자원에 접근하도록 한다. 이러한 문지기 역할은 CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 이중 모드로 구현된다. ◈ 사용자 모드 → 사용자 모드는 운영체제 서비스를 제공받을 수 없는 실행 모드 즉, 커널 영역의..