목록그리고/스터디 (21)
테키테크 TEKITECH
≫ '혼자 공부하는 컴퓨터구조+운영체제' 챕터별 공부한 내용 ≪ [컴퓨터구조] Ch01. 컴퓨터 구조 [컴퓨터구조] Ch02. 0과 1, 데이터를 표현하는 방법 [컴퓨터구조] Ch03. 프로그래밍 언어와 컴퓨터 명령어 [컴퓨터구조] Ch04. CPU의 작동 원리 [컴퓨터구조] Ch05. CPU 제대로 쓰기 [컴퓨터구조] Ch06. RAM과 캐시메모리, 그리고 주소공간 [컴퓨터구조] Ch07. [컴퓨터구조] Ch08. [운영체제] Ch09. 운영체제 이해하기 [운영체제] Ch10. 프로세스와 스레드, 멀티프로세스와 멀티스레드 [운영체제] Ch11. CPU 스케줄링 [운영체제] Ch12. 동기화 문제(생산자와 소비자 문제, 임계구역 문제)와 동기화 도구(뮤텍스 락, 세마포, 모니터) [운영체제] Ch13. ..
파일 시스템에 대하여 파일과 디렉터리 FAT 파일 시스템과 유닉스 파일 시스템 1. 파일과 디렉터리 파일은 하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합 즉, 의미 있고 관련 있는 정보를 모은 논리적 단위를 의미한다. 파일을 이루는 정보에는 파일의 이름과 파일을 실행하기 위한 정보, 그리고 속성(attribute) 또는 메타데이터(metadata)라고 부르는 파일 관련 부가 정보도 있다. 속성에는 아래와 같은 것들이 있다. 유형 : 운영체제가 인지하는 파일의 종류(.exe, .com, .bin, .zip, ...) 크기 : 파일의 현재 크기와 허용 가능한 최대 크기 보호 : 파일을 읽고, 쓰고, 실행할 수 있는지에 대한 사용자 권한 정보 날짜 : 생성 날짜, 마지막 접근 날짜, 마지..
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), 윈도우 운영체제에서는 서..