OS는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 OS의 개념과 역할, 운영체제를 구성하는 각각의 요소 및 그 알고리즘의 핵심적인 부분에 대하여 기초부터 학습한다.os를 사용자 입장이 아닌 설계자 입
운영체제를 한마디로 정의하면 무엇이고, os가 컴퓨터에 내장되어있는 목적이 무언인가?os 혼자서 cpu사용권을 빼앗는 행위를 할 수 없음. 하드웨어의 도움(ex.인터럽트)를 받음디스크란..?CPU 스케줄링디스크 스케줄링인터럽트, 캐싱메모리 관리cpu 스케줄링, 메모리
공개 OS와 비공개 OS 공개 소프트웨어 리눅스 비공개 소프트웨어 윈도우즈 소스 코드 작성 후 컴파일을 하면 binary 파일 .. -> 어떻게 프로그래밍 했는지는 알 수 없음 공개 소스 코드라면 수정 및 버그를 잡을 수 있음 윈도우즈 : 바이너리 파일만을
컴퓨터 전원을 켜면 운영체제가 메모리에 상주프로그램 실행 시 메모리에 로드되어 프로세스가 됨IO장치들에는 각 IO장치를 전담하는 작은 CPU가 있으며, 이를 IO컨트롤러라고 부름. 이들은 각자의 작업 공간을 갖고 있는데 로컬 버퍼라고 불림CPU의 작업공간은 메모리이며,
프로그램은 파일시스템에 실행파일 형태로 저장되어 있음메모리에 올라가면 프로세스가 됨가상메모리각 프로그램만의 독자적인 주소가 존재 (logical memory)당장 필요한 부분은 메모리(physical memory)에 로드되고, 그렇지 않은 부분은 swap area에 내
자신의 코드를 수행할 때는 User mode에서의 running,system call을 통해 커널의 코드를 수행 중일 때에도 해당 프로세스는 여전히 kernel mode에서 running 중이라는 얘기임본인과 상관없는 interrupt에 의해 CPU가 OS에게 뺏겼다고
CPU 작업과 IO 작업이 계속 반복됨IO의 경우 오래걸리기 때문에 CPU 제어권을 빼앗기기도 함load, add, read ... -> 기계어CPU bound job : CPU를 길게 쓰는 프로그램IO bound job : IO가 갖은 프로그램 (유저와 인터렉션을 많
nonpreemptive 방식각 프로세스의 waiting timep1=0, p2=24, p3=27평균 waiting time :17각 프로세스의 waiting timep1=6, p2=0, p3=3평균 waiting time : 3이전 경우보다 훨씬 대기시간이 줄어듦을
S-box(메모리)를 공유하는 E-box(CPU)가 여럿 있는 경우 경쟁 상태의 가능성이 있음사실 multiprocessor system 환경이더라도 각 CPU는 서로 다른 프로세스를 실행 중일 것이기 떄문에 각 프로세스 내 data에 접근하게 된다. 즉, 경쟁 상태는
프로세스 동기화의 해결법 프로그램적 해결법의 충족 조건 Mutual Exclusion(상호 배체) 프로세스 P가 critical section 부분을 수행 중이면 다른 모든 프로세스들은 그들의 critical section에 들어가면 안 된다. Progress(진
프로세스 동기화 공유데이터의 사용이 원자적으로 수행되지 않아 발생하는 문제의 해결을 위해 세마포어(하드웨어적인 방법)를 이용한다. 자원을 세는 이유를 세마포어 변수로 하는 이유? Deadlock and Starvation 둘 이상의 프로세스가 서로 상대방에 의해 충족
Deadlock일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태Resource(자원)하드웨어, 소프트웨어 등을 포함하는 개념ex. IO device, CPU cycle, memory space, semaphore 등프로세스가 자원을 사용하는 절차Requ
logical address=(virtual address)프로세스마다 독립적으로 가지는 주소 공간각 프로세스마다 0번지부터 시작CPU가 보는 주소는 logical address임pysical address메모리에 실제 올라가는 위치주소 바인딩 주소를 결정하는 것sym
의미(code, data, stack) 단위인 여러 개의 segment로 구성작게는 프로그램을 구성하는 함수 하나하나를 세그먼트로 정의크게는 프로그램 전체를 하나의 세그먼트로 정의 가능일반적으로는 code, data, stack 부분이 하나씩의 세그먼트로 정의됨segm
물리적인 메모리의 주소 변환은 OS가 관리하지 않는다 (HW가 관리) . 그러나 virtual memeory 기법은 전적으로 운영체제가 관리한다 ! 🕵🏼♀️💭실제로 필요할 때 page를 메모리에 올리는 것I/O 양의 감소Memory 사용량 감소빠른 응답 시간더
Filea named collection of related information일반적으로 비휘발성의 보조기억장치에 저장운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해 줌Operationcreate, read, write, reposi
Contiguous AllocationLinked AllocationIndexed Allocation단점외부조각 발생 가능성이 있음file grow가 어려움file은 write로 인해 크기가 바뀔 가능성이 있는데, 자유자재로 크기를 변경하기가 어려움file 생성 시 얼
디스크 내부에서는 (정보를 갖고 있는) 디스크 컨트롤러가 sector에 데이터를 읽거나 쓰지만디스크 외부에서는 logical block에게 명령을 내린다 ! 🕵🏼♀️💭logical block디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들주소를 가진 1차원
UNIX 파일 시스템 전체 inode 파일시스템의 변천사 Ext2 파일시스템 블록의 그룹화 메타데이터와 실제 데이터를 안전하게 배치하여 디스크 탐색