운영체제 11

프로세스와 스레드

프로세스 프로세스란 메모리에서 실행 중인 프로그램(program in execution)을 뜻합니다. 여기서 프로그램이란 컴퓨터에서 실행할 수 있는 파일을 통칭합니다. 카카오톡, 크롬, Visual Studio Code 등등이 전부 프로그램입니다. 이러한 HDD에 저장된 프로그램이 메모리에 올라가 실행되면 그것을 프로세스라고 부르는 것입니다. 프로그램과 프로세스의 차이는 메모리에서 실행 중인가 아니면 HDD에서 가만히 있는 중인가의 차이입니다. HDD에 있으면 프로그램이고 그게 메모리에 올라가면 프로세스입니다. 프로세스는 task, job이라고도 불리며 Code + Data + Stack + Heap 등을 갖습니다. ** Code, Data, Stack, Heap? - Code: 프로세스의 실행 코드가 ..

운영체제 2023.07.03

운영체제 기본 마지막 - 파일 시스템

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 파일 시스템(File system) 이전까지 OS의 역할 중 process management(CPU scheduling, process synchronization)와 memory management(paging, virtual memory)에 대해 배웠다. 이번에는 file system에 대해 배워보자. 파일 시스템은 보조기억 장치에 관한 관리를 맡는 부서이다. file system의 전부를 배울 건 아니고, file system..

운영체제 2023.01.26

운영체제 기본 10 - 주기억장치 관리

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 주기억장치 관리 (Main memory management) 이전까지 Process management(CPU scheduling, process synchronization)에 대해 배웠다. 이번 장에서는 OS의 또 다른 역할인 주기억장치 관리에 대해 알아보자. 주기억장치는 메모리를 뜻한다. 메모리는 항상 언제나 부족했었다. 그래서 주기억장치 관리의 역할은 주로 그 부족한 메모리를 어떻게 하면 최대한 효율적으로 사용할 수 있을지에 ..

운영체제 2023.01.26

운영체제 기본 9 - 프로세스 동기화

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 프로세스 동기화(Process Synchronization) 프로세스끼리의 관계는 Independent와 Cooperating로 나눌 수 있는데, Independent는 각각의 process가 서로에게 전혀 영향을 끼치지 않는 것을 의미하며 Cooperating은 process가 서로 영향을 주고받는 관계를 의미한다. 프로세스 간 통신의 예로는 전자우편 및 파일 전송 등이 있고 프로세스 간 자원 공유의 예로는 DB 등이 있다. 이러한..

운영체제 2023.01.23

운영체제 기본 8 - 프로세스 생성과 종료

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 프로세스 생성(Process Creation) 프로세스는 부모 프로세스에 의해 만들어진다. 부모 프로세스가 만든 프로세스를 자식 프로세스라 하며 같은 줄에 있는 프로세스들을 sibling process라 부른다. 이러한 프로세스들의 관계를 트리 형태로 나타낸 것을 프로세스 트리라 부른다. 프로세스들은 모두 Process Identifier(PID)를 갖고 있으며 PID를 통해 프로세스를 식별할 수 있다. (PPID는 Parent의 P..

운영체제 2023.01.23

운영체제 기본 6 - 프로세스 관리

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 프로세스 관리(Process management) 프로세스 관리는 이름 그대로 프로세스에 관한 모든 것을 관리한다. 프로세스 관리가 관리하는 '프로세스', 'PCB', 'queue- scheduling', 'swapping'에 대해 배워보자. 프로세스(Process) 프로세스는 메모리에 올라가 실행 중인 프로그램을 뜻한다. 프로그램과 프로세스의 차이는 메모리에서 실행 중인가 hdd에서 가만히 있는 중인가의 차이다. hdd에 있는 프로..

운영체제 2023.01.19

운영체제 기본 5 - 운영체제 서비스

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 운영체제 서비스 OS는 정부와 비슷하게 각 resource들을 관리할 수 있는 여러 부서로 나누어져 있다. (환경부, 국토부, 보건복지부, 국방부, ......) 예를 들어, 이중 모드와 하드웨어 보호는 보호 관리부(protection management)에 속하는 것이다. 이번 장에서는 이러한 각각의 부서에서 어떤 일을 하는지 간단하게 알아볼 것이다. 프로세스 관리(Process management) 프로세스란 메모리에서 실행 중인..

운영체제 2023.01.19

운영체제 기본 4 - 이중 모드, 하드웨어 보호

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 이중 모드 사람의 고의 혹은 실수로 하나의 프로그램이 컴퓨터 전체에 치명적인 영향을 끼치지 못하도록 모드를 두 가지로 나눈 것을 이중 모드라고 한다. 레지스터에 모드를 나타내는 플래그를 통해 사용자/관리자 모드를 구분하며(monitor bit 0/1), 관리자 모드일 때만 특권 명령(privileged instructions)을 내릴 수 있도록 한다. 운영 체제 서비스 실행 중에는 관리자 모드이며 사용자 프로그램 실행 중에는 사용자 ..

운영체제 2023.01.19

운영체제 기본 3 - 인터럽트 기반 운영체제

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net Interrupt(인터럽트) 인터럽트(끼어들기, 가로막기)는 CPU가 프로그램을 실행하고 있을 때 입출력하드웨어 등의 장치에 의해 예외 상황이 발생하여 처리가 필요할 경우 CPU에게 알려 처리할 수 있도록 하는 것을 말한다. 현재 운영체제는 대부분 인터럽트 기반 시스템이다. 부팅이 끝나면 OS는 메모리에 상주하며 이벤트를 기다리고 이벤트가 발생하면(e.g., 마우스 클릭, 키보드 입력 등등) 인터럽트가 발생하며 CPU는 즉시 OS 안..

운영체제 2023.01.19

운영체제 기본 2 - 컴퓨터의 역사

http://www.kocw.net/home/search/kemView.do?kemId=978503 운영체제 운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다. www.kocw.net 컴퓨터의 역사 하드웨어의 발전에 따른 운영체제의 발전은 아래와 같이 진행되었다. 왜 그렇게 발전했는지를 생각하며 각각의 장점과 단점에 대해 배워보자. 1. no-OS 2. Batch processing system(일괄 처리 시스템) 3. Multi programming system(다중 프로그래밍 시스템) 4. Time sharing system(시공유 시스템) no-OS no-OS는 말 그대로 OS가 없는 것이다. OS가 없으므로..

운영체제 2023.01.19