
📌 운영체제의 소개

📌 컴퓨터의 기본 구성 1. 하드웨어의 구성 컴퓨터는 중앙처리장치(CPU), 메인메모리, 입력장치, 출력장치, 저장장치로 구성됩니다. >필수장치 : 중앙처리장치, 메인메모리 주변장치 : 입력장치, 출력장치, 저장장치 중앙처리장치(CPU)는 명령어를 해석하여 실행

📌 컴퓨터 성능 향상 기술 현대 컴퓨터 구조의 가장 큰 문제는 CPU와 메모리, 주변장치의 작업 속도가 다르다는 것입니다. 이 절에서는 이러한 장치 간 속도 차이를 개선하고 시스템의 작업 속도를 올리기 위해 개발된 기술 중 운영체제와 관련된 것을 살펴볼 것입니다.

📌 프로세스의 개요 1. 프로세스의 개념 폰노이만 구조에서 프로그램이 실행된다는 것은 해당 코드가 메모리에 올라와서 작업이 진행된다는 의미입니다. 프로그램은 저장장치에 저장된 정적인 상태이고, 프로세스는 실행을 위해 메모리에 올라온 동적인 상태입니다. 프로세스에

📌 스레드 1. 스레드의 개념 스레드의 정의 > 스레드 : 프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위 CPU가 처리하는 작업의 단위는 프로세스로부터 전달 받은 스레드가 됩니다. 운영체제 입장의 작업 단위는 프로세스이고 CPU 입장의 작업 단위는 스레드입니다. 작업을 상대적인 크기순으로 나열하면 job>task>op...

📌 스케줄링의 개요 1. 레스토랑 관리자의 스케줄링 CPU 스케줄러는 프로세서 스케줄러라고도 합니다. 스케줄링은 여러 프로세스의 상황을 고려하여 CPU와 시스템 자원을 어떻게 배정할지 결정하는 일을 말합니다. 2. CPU 스케줄링 CPU 스케줄링은 규모에 따라 고수준 스케줄링, 중간 수준 스케줄링, 저수준 스케줄링으로 구분됩니다. 고수준 스케줄...

📌 스케줄링 알고리즘 비선점형 알고리즘은 프로세스가 CPU를 할당받으면 작업이 끝날 때까지 CPU를 놓지 않기 때문에 효율이 떨어져서 지금은 거의 사용되지 않습니다. 선점형 알고리즘은 시분할 시스템을 고려하여 만들어진 알고리즘으로, 어떤 프로세스가 CPU를 할당 받아 실행 중이라도 운영체제가 CPU를 강제로 빼앗을 수 있습니다. 1. 스케줄링 알고리즘...

📌 프로세스 간 통신 1. 프로세스 간 통신의 개념 운영체제는 프로세스와 프로세스끼리 쉽게 데이터를 주고받을 수 있는 통신 방법을 제공하는데 이를 프로세스 간 통신(IPC; Inter Process Communication) 이라고 합니다. > 공유 메모리나 공유 파일을 이용한 통신 프로세스 간 통신 중 가장 원시적인 방식입니다. 이 방식에서는 ...

📌 교착 상태의 개요 1. 교착 상태의 정의 교통 체증이 심한 교차로에서 서로 비켜주기를 기다리며 꼼짝 못 하는 경우가 바로 교착 상태입니다. > 교착상태 : 2개 이상의 작업이 동시에 이루어지는 경우, 다른 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 교착 상태는 아사 현상(starvation)과 비슷해 보이지만 차이가 있습니다...

📌 메모리 관리의 개요 프로그램이 실행되어 프로세스가 된다는 것은 저장장치에 있던 프로그램이 메모리로 올라온다는 것입니다. 1. 메모리 이해하기 메모리의 구조는 1바이트(B) 크기로 나뉩니다. 1B로 나뉜 각 영역은 주소(address)로 구분되는데 보통 0번지부터 시작합니다. CPU는 메모리에 있는 데이터를 가져오거나 자업 결과를 메모리에 저장하기...

📌 단일 프로그래밍 환경의 메모리 할당 1. 메모리 오버레이 과거에는 메모리가 값비싼 저장장치였기에 개인용 컴퓨터에 큰 메모리를 사용할 수 없었습니다. 과거에는 작은 메모리로 큰 프로그램을 어떻게 작동할 것인가가 문제였습니다. 1MB 메모리의 컴퓨터에서 10MB의 프로그램을 어떻게 실행할 수 있을까요? 요리사가 도마의 크기보다 더 큰 고깃덩어리를 손...

📌 가상 메모리의 개요 1. 가상 메모리 시스템 가상 메모리의 개념 현대 메모리 관리의 가장 큰 특징은 물리 메모리의 크기와 프로세스가 올라갈 메모리의 위치를 신경 쓰지 않고 프로그래밍하도록 지원한다는 것입니다. 이것을 가능하게 하는 메모리 시스템을 가상 메모리라고 부릅니다. 가상 메모리는 물리 메모리의 크기와 상관없이 프로세스에 커다란 메뢰 공간을...

프로세스가 필요로 하는 데이터를 언제 메모리로 가져올지 결정하는 것이 가져오기 정책입니다. 일반적인 방법은 프로세스가 요청할 때 메모리로 가져오는 것으로 이를 요구 페이징이라고 합니다. 📌 요구 페이징의 개요 1. 요구 페이징의 개요 프로세스의 일부만 메모리로 가져오는 이유는 다음과 같습니다. 메모리를 효율적으로 관리하기 위해서입니다. 메모리가 꽉...

📌 입출력 시스템 1. 입출력장치와 채널 > 저속 주변장치 : 메모리와 주변장치 사이에 오고 가는 데이터양이 적어 데이터 전송률이 낮은 장치 > 고속 주변장치 : 메모리와 주변장치 사이에 대용량의 데이터가 오고 가므로 데이터 전송률이 높은 장치 여러 주변장치는 메인보드 내의 버스로 연결됩니다. 그런데 버스에는 많은 종류의 장치가 연결되기 때문에 버...

📌 파일과 파일 시스템 1. 파일 시스템의 개요 파일 시스템의 개념 운영체제는 사용자가 직접 파일을 보관하거나 접근하지 못하도록 합니다. 대신 파일을 보관하고 관리하는 파일 관리자를 두어 저장장치의 전체 관리를 맡기는데 이를 파일 시스템이라고 합니다. 파일 시스템에서 파일 관리자는 사용자의 요청에 따라 파일을 저장하거나 파일의 내용을 읽어옵니다. ...

📌 네트워크와 인터넷 1. 통신과 네트워크 통신 환경의 발전 프로토콜 사람과 마찬가지로 컴퓨터나 기기들도 데이터를 주고받기 위해서 통신을 사용합니다. 이를 데이터 통신(data communication)이라고 합니다. 여러 대의 컴퓨터끼리 데이터를 주고받는 통신 시스템을 컴퓨터 네트워크(computer network)라고 합니다. > 프로토콜 ...