반응형

Operating System 11

[쉽게 배우는 운영체제] Chapter 11. 파일 시스템

01 파일 시스템 파일 시스템은 파일 테이블을 사용하여 파일과 파일의 집합체인 디렉터리를 관리한다. 저장장치에서는 파일을 일정 크기로 묶어서 관리하는데 이를 블록이라 부른다. 02 파일 이름 대부분의 파일 이름은 '파일이름.확장자'의 형태로 구성된다. 파일 이름에는 영문자, 숫자, 붙임표(-), 밑줄(_), 마침표(.)를 주로 사용한다. 유닉스는 대문자와 소문자를 구분하는 반면에 윈도우는 구분하지 않는다. 03 파티션 저장장치를 2개 이상의 묶음으로 나누는 것을 파티션을 나눈다고 하며, 파티션은 논리적으로 구분된 저장장치 영역을 의미한다. 유닉스에서 여러 개의 파티션을 하나로 통합하는 기능을 마운트라 부른다. 04 파일 구조 순차 파일 구조 : 가장 기본적인 파일구조다. 순차 파일 구조는 파일 내용이 하..

Operating System 2023.06.22

[쉽게 배우는 운영체제] Chapter 10. 입출력 시스템과 저장장치

01 입출력 버스 고속 주변장치가 저속 주변장치와 입출력 버스를 공유하면 입출력 속도가 현저히 저하되므로, 고속 입출력 버스와 저속 입출력 버스로 분리하여 운영한다. 02 하드디스크 구조 섹터는 하드디스크의 가장 작은 저장 단위다. 하나의 섹터에는 한 덩어리의 데이터가 저장된다. 트랙은 플래터에서 회전축을 중심으로 데이터가 기록되는 동일한 동심원상에 있는 섹터의 집합이다. 여러 개의 플래터에 있는 같은 트랙의 집합을 실린더라 부른다. 03 각속도 일정 방식과 선속도 일정 방식 하드디스크의 플래터는 항상 일정한 속도로 회전하기 때문에 일정한 시간 동안 이동한 각도가 같은 각속도 일정 방식이다. CD는 어느 트랙에서나 단위 시간당 디스크의 이동 거리가 같은 선속도 일정 방식이다. 04 하드디스크 입출력 속도..

Operating System 2023.06.21

[쉽게 배우는 운영체제] Chapter 09. 가상 메모리 관리

01 요구 페이징 운영체제는 필요한 모듈만 메모리에 올려 실행하고 나머지 모듈은 필요하다고 판단될 때 메모리로 불러오는데 이를 요구 페이징이라고 한다. 02 페이지 부재 프로세스가 페이지를 요청했을 때 해당 페이지가 메모리에 없는 상황을 페이지 부재라고 한다. 03 페이지 교체 알고리즘 메모리가 꽉 차서 메모리에 있는 페이지를 스왑 영역으로 보내야할 때 보낼 페이지를 결정하는 알고리즘이다. 무작위 페이지 교체 알고리즘 : 스왑 영역으로 보낼 페이지를 특별한 로직 없이 무작위로 선정한다. FIFO 페이지 교체 알고리즘 : 시간상 메모리에 가장 먼저 들어온 페이지를 대상 페이지로 선정하여 스왑 영역으로 쫓아낸다. 성능은 좋지 않다. 최적 페이지 교체 알고리즘 : 앞으로 사용하지 않을 페이지를 스왑 영역으로 ..

Operating System 2023.06.20

[쉽게 배우는 운영체제] Chapter 08. 가상 메모리의 기초

01 가상 메모리 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술이다. 프로세스는 운영체제가 어디에 있는지, 물리 메모리의 크기가 어느 정도인지 신경 쓰지 않고 메모리를 마음대로 사용할 수 있다. 페이징과 세그먼테이션 : 메모리 관리 방식은 고정 분할 방식인 페이징과 가변 분할 방식인 세그먼테이션으로 나뉜다. 페이징은 페이징 테이블을 사용하여 주소를 변환하고, 세그먼테이션은 세그먼테이션 테이블을 사용하여 주소를 변환한다. 지역성 : 기억장치에 접근하는 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되는 성질을 나타낸다. 02 페이징 기법 고정 분할 방식으로 메모리를 관리하는 기법이다. 가상 주소 공간과 물리 주소 공간을 같은 크기로 나누어 사용한다. 가상 주..

Operating System 2023.06.19

[쉽게 배우는 운영체제] Chapter 07. 물리 메모리 관리

01 논리 주소와 물리 주소 프로세스 입장에서 바라본 주소를 논리 주소라 하고, 물리 메모리 주소를 물리 주소, 혹은 실제 주소라고 한다. 논리 주소와 물리 주소의 변환은 메모리 관리 유닛이 담당한다. 02 메모리 오버레이 프로그램의 크기가 물리 메모리보다 클 때 전체 프로그램을 메모리와 가져오는 대신 적당한 크기로 잘라서 가져오는 기법을 메모리 오버레이라고 한다. 메모리 오버레이 방식에서는 프로그램 전체가 아닌 일부만 메모리에 올라와도 실행된다. 03 스왑 메모리가 모자라서 쫓겨난 프로세스를 저장장치의 특별한 공간에 모아두는데 이러한 영역을 스왑 영역이라고 부른다. 스왑 영역은 메모리에서 쫓겨났다가 다시 돌아가는 데이터가 머무는 곳이기 때문에 저장장치는 장소만 빌려주고 메모리 관리자가 관리한다. 04 ..

Operating System 2023.06.18

[쉽게 배우는 운영체제] Chapter 06. 교착 상태

01 교착 상태 다른 작업이 끝나기를 기다리며 작업을 더 이상 진행하지 못하는 상태를 교착 상태라고 한다. 잘못된 정책으로 특정 프로세스 작업이 지연되는 아사 현상과 다르며, 잠금을 사용하는 모든 곳에서 자연 발생하는 현상이다. 02 교착 상태를 유발하는 네 가지 필요조건 다음 네 가지 조건이 모두 충족되어야 교착 상태가 발생한다. ▶ 상호 배제 한 프로세스가 사용하는 자원이 다른 프로세스와 공유할 수 없는 배타적 자원일 때 교착 상태가 발생한다. ▶ 비선점 한 프로세스가 사용 중인 자원이 중간에 다른 프로세스가 빼앗을 수 없는 비선점 자원일 때 교착 상태가 발생한다. ▶ 점유와 대기 프로세스가 어떤 자원을 할당받은 상태에서 다른 자원을 기다릴 때 교착 상태가 발생한다. ▶ 원형 대기 점유와 대기를 하는..

Operating System 2023.04.23

[쉽게 배우는 운영체제] Chapter 05. 프로세스 동기화

01 프로세스 간 통신 ▶ 가장 원시적인 프로세스 간 통신 방법으로 공유 메모리나 공유 파일을 사용하는 방식이 있다. 이 방식은 비동기화 통신이기 때문에 바쁜 대기를 해야 한다. ▶ 파일 입출력 코드는 크게 세 부분으로 구성된다. 파일을 열고(open()), 쓰기(write()) 또는 읽기(read()) 연산을 한 후, 파일을 닫는다(close()). ▶ 하나의 컴퓨터 내에서 프로세스 간 통신에 많이 사용되는 것은 파이프다. 파이프는 부모 - 자식 간 통신에 사용되며 단방향, 동기화 통신이다. ▶ 컴퓨터와 컴퓨터가 네트워크로 연결된 통신에는 소켓이 주로 사용된다. 소켓은 양방향, 동기화 통신이다. 02 임계구역 2개 이상의 작업이 공유 자원을 병행해서 읽거나 쓰는 상황을 경쟁 조건이 발생했다고 한다. 경..

Operating System 2023.04.22

[쉽게 배우는 운영체제] Chapter 04. CPU 스케줄링

01 스케줄링 단계 ▶ 고수준 스케줄링 시스템 내의 전체 작업 수를 조절하는 것으로 시스템 내에서 동시에 실행 가능한 프로세스의 총 개수를 결정한다. ▶ 중간 수준 스케줄링 고수준 스케줄링에 의해 실행이 결정된 프로세스의 수를 조절하여 시스템의 과부하를 막는다. ▶ 저수준 스케줄링 활성화된 프로세스들의 실제 진행을 담당한다. 02 프로세스의 우선순위 우선순위가 높은 프로세스는 커널 프로세스, 전면 프로세스, 대화형 프로세스, 입출력 집중 프로세스이며, 우선순위가 낮은 프로세스는 사용자 프로세스, 후면 프로세스, 일괄 작업 프로세스, CPU 집중 프로세스다. 느린 입출력 프로세스에 CPU의 작업을 양보함으로써 시스템의 효율성이 향상되는데 이를 '사이클 훔치기'라고 한다. 03 비선점형 스케줄링 어떤 프로세..

Operating System 2023.04.21

[쉽게 배우는 운영체제] Chapter 03. 프로세스와 스레드

01 프로세스 프로그램이 실행을 위해 메모리에 올라온 동적인 상태가 프로세스다. 프로세스를 실행하는 데 필요한 정보를 보관하는 자료구조를 프로세스 제어블록(PCB)이라 하는데, 이는 커널 영역에 만들어진다. 두 프로세스의 PCB를 교환하고 작업 환경을 바꾸는 작업을 문맥 교환이라고 한다. 02 프로세스 상태 프로세스는 생성, 준비, 실행, 대기, 완료 상태를 거친다. ▶ 생성 상태 프로그램이 메모리에 올라와 프로세스가 된 상태다. ▶준비 상태 생성된 프로세스가 CPU를 얻을 때까지 기다리는 상태다. ▶ 실행 상태 준비 상태에 있는 프로세스 중 하나가 CPU를 얻어 실제 작업을 수행하는 상태다. 주어진 시간을 다 사용하고도 작업이 끝나지 않았다면 프로세스는 준비 상태로 돌아가 다음 차례를 기다린다. ▶ 대..

Operating System 2023.04.20

[쉽게 배우는 운영체제] Chapter 02. 컴퓨터의 구조와 성능 향상

01 폰노이만 구조 폰노이만 구조의 특징은 모든 프로그램은 메모리에 올라와야 실행할 수 있다는 것이다. 02 버스와 레지스터 메인보드의 시스템을 FSB, CPU 내부 버스를 BSB라고 한다. 시스템 버스는 제어 버스, 주소 버스, 데이터 버스로 구성되며 이 중 단방향 버스는 주소 버스다. 제어 버스는 제어장치, 주소 버스는 MAR, 데이터 버스는 MBR과 연결된다. 03 CPU와 레지스터 CPU의 구성 요소는 산술논리 연산장치, 레지스터, 제어장치다. 다음에 실행할 주소를 가진 레지스터는 PC이며, 현재 실행 중인 명령어를 저장한 레지스터는 IR이다. 데이터를 가져오거나 반대로 메모리로 데이터를 보낼 때 주소를 지정하기 위해 사용하는 레지스터는 MAR이며, 메모리에서 가져온 데이터나 메모리로 옮겨 갈 데..

Operating System 2023.04.19
반응형