
한 번에 하나의 작업만 처리ex) MS-DOS 프롬프트 상에서는 하나의 명령의 수행을 끝내기 전에 다른 명령을 수행시킬 수 없음동시에 두 개 이상의 작업 처리ex) Unix, Windows 등에서는 하나의 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수

메모리 - CPU의 작업 공간 mode bit - CPU를 운영 체제가 가지고 있는지 사용자 프로그램이 가지고 있는지 확인해 주는 것 timer는 특정 프로그램이 CPU를 독점하는 것을 막기 위한 것 정해진 시간이 흐른 뒤 사용자 프로그램으로부터 CPU를 뺏어 운영체

동기식 입출력 / 비동기식 입출력 동기식 입출력(Synchronous I/O) I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감 구현 방법 1 I/O가 끝날 때까지 CPU를 낭비시킴 매시점 하나의 I/O만 일어날 수 있음 구현 방법 2 I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗음 ...

스레드(Thread)란? "A Thread(or lightweight process) is a basic unit of CPU utilization" 프로세스 내부에 CPU 수행 단위 Thread의 구성 program counter register set stack space Thread가 동료 thread와 공유하는 부분(=ta...

프로세스(Process)란? "Process is a program in execution" 프로세스란 실행 중인 프로그램을 의미 프로세스의 문맥(Context) 프로세스의 문맥이란 특정 시점을 놓고 봤을 때 프로세스가 어디까지 수행을 했고를 규명하는 것 현재 프로세스의 상태를 나태내는 모든 것을 모아 놓은게 프로세스 문맥 CPU 수행 상태를 나타내는 ...

📌 프로세스 생성(Process Creation) 부모 프로세스(Parent Process)가 자식 프로세스(Children Process) 생성(복제해서 생성) 프로세스의 트리(계층 구조) 형성 프로세스는 자원을 필요로 함 운영체제로부터 받음 부모와 공유함 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공...

CPU Scheduler는 별도의 하드웨어나 소프트웨어가 아닌 운영체제에 있는 특정 행위(기능)을 뜻함 Dispatcher도 마찬가지

CPU 스케줄링 알고리즘은 선점형(Preemptive)/비선점형(Non-Preemptive)으로 나눌 수 있다. 비선점형 스케줄링은 CPU를 강제로 빼앗지 않는 방식이고 선점형 스케줄링은 CPU를 강제로 빼앗을 수 있는 방식이다. > CPU Scheduling 성능 측정 방법 (Scheduling Criteria, Performance Index(=Pe...

Multi-Processor Scheduling CPU가 여러 개인 경우 스케줄링은 더욱 복잡해짐 Homogeneous Processor인 경우 Queue에 한줄로 세워서 각 프로세서가 알아서 꺼내가게 할 수 있다. 반드시 특정 프로세서에서 수해오디어야 하는 포로세스가 있는 경우에는 문제가 더 복잡해짐 Load Sharing ...

운영체제(OS)에서 race condition은 언제 발생하는가? Kernel 수행 중 interrupt 발생 시 Process가 System call을 하여 kernel mode로 수행 중인데 context switch가 일어나는 경우 Multiprocessor에서 shared memory 내의 kernel data 1) Kernel 수행 중 i...

프로세스 동기화의 프로그램적 해결법의 충족 조건 Mutual Exclusion (상호배제) 프로세스 Pi가 Critical Section부분을 수행 중이면 다른 모든 프로세스들은 그들의 Critical Section에 들어가면 안된다. Progress(진행) 아무도 Critical Section에 있지 않은 상태에서 Critical Section에 들어가...

업로드중..업로드중..업로드중..모니터에서는 락을 걸가나 풀 필요가 없음세마포어와 모니터는 사실 목적부터 다름모니터는 공유 데이터에 동시 접근을 막기위해 사용하는 것이고 세마포어는 자원을 획득하기 위해 사용하지만 세마포어와 모니터의 코드는 비슷함

⚙️ Logical Address / Physical Address Logical Address(=Virtual Address) 프로세스마다 독립적으로 가지는 주소 공각 각 프로세스마다 0번지 부터 시작 CPU가 보는 주소는 logical address CPU는 instruction을 실행해야 되기 때문에 컴파일 된 코드에 ...

virtual Memory는 모든 요청에 운영체제가 관여 ** 메모리 관리 방법 중 페이징 기법을 사용하는 것으로 가정 Demand Paging 실제로 필요할 때 page를 메모리에 올리는 것 I/O 양의 감소 Memory 사용량 감소 빠른 응답 시간 더 많은 사용자 수용 Valid / Invalid bit의 사용 ...

File / File System File "A named collection of related information" 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해 줌 Operation create, read, write, reposition(lseek), delete...

Allocation of File Data in Disk Contiguous Allocation Linked Allocation Indexed Allocation 직접 접근이 가능 매체라 하더라도 데이터를 어떻게 관리하느냐에 따라 순차접근만 가능한 경우도 있다. 디스크에 파일을 저장하는 방식의 위의 3가지가 있다. 📌 Contigous Allocati...

logical block디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들주소를 가진 1차원 배열처럼 취급정보를 전송하는 최소 단위디스크 외부에서 관리하는 최소 단위SectorLogical block이 물리적인 디스크에 매핑된 위치Sector 0은 최외곽 실린더의

Disk를 사용하는 2가지 이유 memory의 volatile한 특성 -> file system(메모리는 휘발성이 있어 컴퓨터를 껏다 키면 사라짐) 프로그램 실행을 위한 memory 공간 부족 -> swap space(swpa area) Swap-Space Virtual memory system에서는 디스크를 memory의 연장 공간으로 사용 파일시스템...

Windows UNIX / LINUX 기능 DIR ls 파일 목록표시 COPY cp 파일 복사 TYPE cat 파일 내용 표시 REN mv / rename 파일 이름 변경 MOVE mv 파일 이동 MD mkdir...