About
Book
Github
개발기
About
Book
Github
개발기
Computer Science
북
0
결과가 없습니다
포스트
17
OS
14
Network
3
시스템 구조 & 프로그램 실행 1
컴퓨터 시스템 구조 각각의 디바이스를 통제하는 것은 CPU의 역할이 아니라 각각에 붙어있는 Device Controller의 역할임 / 작은 CPU와 같은 역할을 함 CPU의 작업 공간이 Memory인 것처럼 각각의 디바이스의 작업공간을 Local Buffer라고 함 CPU 안에는 메모리보다 빠르면서 정보를 저장할 수 있는 작은 공간인 Register가 있음 CPU안에 Mode bit이 있는데, CPU에서 실행되고 있는 것이 운영체제인지, 사용자 프로그램인지 구분하는 역할을 함 CPU는 Memory에 있는 다음 명령을 가져와서 처리하는 작업을 반복함. 그 과정 중에 디바이스에서 scanf같은 Input 요청 등이 들어오면 CPU 는 각각의 컨트롤러 에게 작업을 지시함. 그리고 그 결과는 Interrupt
Computer Science
-
OS
#
OS
2024.12.16
· Updated 2024.12.18
Detail
운영체제 개요
운영체제란 무엇인가? 운영체제 (Operating System, OS) 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 커널 운영체제의 핵심 부분으로 메모리에 상주하는 부분 좁 은 의미의 운영체제 : 커널 넓은 의미의 운영체제 : 커널 + 각종 주변 시스템 운영체제의 목적 컴퓨터 시스템의 자원을 효율적으로 관리 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 을 제공 운영체제의 분류 동시 작업 가능 여부 단일 작업(Single Tasking) - 한 번에 하나의 작업만 처리 다중 작업(Multi Tasking) - 동시에 두 개 이상의 작업을 처리 사용자의 수 단일 사용자(Single User) 다중 사용자(Multi User) 처리 방식 일괄 처리(
Computer Science
-
OS
#
OS
2024.12.16
· Updated 2025.01.19
Detail
시스템 구조 & 프로그램 실행 2
동기식 입출력 비동기식 입출력 동기식 입출력 : I/O를 요청한 후에 I/O 장치로부터 작업이 완료된 후에야 사용자 프로그램이 다른 일을 할 수 있는 것 비동기식 입출력 : I/O를 요청한 후에 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어가는 것 작업이 끝났다는 것은 인터럽트를 통해서 알려줌 구현 방법 1 : CPU도 낭비지만 하나의 I/O장치가 하나의 작업 밖에 못함 구현 방법 2 : I/O를 요청한 프로그램은 어차피 일을 못하니까 그 프로그램을 제외하고 다른 프로그램에 CPU를 넘겨줌 DMA (Direct Memory Access) 서로 다른 입출력 명령어 방식1 : Memory Address를 통해 메모리에 접근하고, 별도의 Device Address를 통해 Device에 접근하
Computer Science
-
OS
#
OS
#
PCB
2024.12.18
· Updated 2024.12.22
Detail
프로세스 관리
프로세스는 부모 프로세스에 의해 생성되며, fork()와 exec() 시스템 콜을 통해 관리된다. 종료 시 exit() 시스템 콜로 종료되고, 부모는 wait()를 통해 자식의 데이터를 받는다.
Computer Science
-
OS
#
OS
2024.12.18
· Updated 2024.12.31
Detail
프로세스 1
프로세스는 CPU의 상태에 따라 Running, Ready, Blocked, New, Terminated로 나뉘며, PCB를 통해 관리된다. 문맥 교환은 프로세스 간 CPU를 전환하는 과정으로, 스케줄러는 프로세스의 실행 순서를 결정한다. Blocked 상태는 작업 대기 중이며, Suspended 상태는 외부에서 정지된 상태를 의미한다.
Computer Science
-
OS
#
OS
2024.12.18
· Updated 2024.12.31
Detail
프로세스 2
쓰레드는 프로세스 내에서 CPU 수행 단위를 여러 개로 나누어 자원을 공유하고 오버헤드를 줄이는 방법이다. 스레드를 사용하면 빠른 응답성과 메모리 절약이 가능하며, 멀티프로세서 환경에서 병렬성을 높일 수 있다. 커널 스레드와 사용자 스레드로 구현할 수 있다.
Computer Science
-
OS
#
OS
2024.12.18
· Updated 2024.12.31
Detail
병행 제어 1
데이터 접근 시 경쟁 상태가 발생할 수 있으며, 이를 해결하기 위해 프로세스 간 실행 순서를 정하고 Lock을 사용하는 것이 중요하다. 커널 모드에서의 Context Switch와 인터럽트 처리 시 Race Condition을 방지하기 위한 방법도 설명된다.
Computer Science
-
OS
#
OS
2024.12.25
· Updated 2024.12.31
Detail
CPU 스케줄링
CPU 스케줄링은 CPU와 I/O 버스트의 개념을 다루며, 다양한 스케줄링 알고리즘(FCFS, SJF, Priority Scheduling, Round Robin 등)을 통해 프로세스의 효율적인 실행을 목표로 한다. 각 알고리즘은 대기 시간, 응답 시간, 처리량 등을 최적화하는 방식으로 작동하며, 멀티레벨 큐와 피드백 큐를 통해 프로세스의 우선순위를 조정할 수 있다.
Computer Science
-
OS
#
OS
2024.12.25
· Updated 2024.12.31
Detail
병행 제어 2
공유 데이터에 접근하는 Critical Section 문제를 해결하기 위해 상호 배제, 진행, 유한 대기 조건을 충족해야 하며, 세마포어와 다양한 알고리즘을 통해 동시 접근을 관리할 수 있다. Block/Wakeup 방식이 일반적으로 더 좋지만, Critical Section이 짧을 경우 Busy-wait 방식이 유리할 수 있다.
Computer Science
-
OS
#
OS
2024.12.31
· Updated 2025.01.01
Detail
데드락
교착 상태(Deadlock) 일련의 프로세스가 서로가 이미 가지고 있는 자원을 기다리면서 block되어 있는 상태 데드락 발생의 네 가지 조건 상호배제: 매 순간 하나의 프로세스만 자원을 사용할 수 있음 비선점: 프로세스가 자원을 강제로 빼앗기지 않고 스스로 내어놓음 점유 대기 : 자원을 가진 프로세스가 다른 자원을 기다릴 때 보유한 자원을 내놓지 않고 계속 가짐 순환 대기 : 자원을 기다리는 프로세스 간에 사이클이 형성되어야 함 자원 할당 그래프 사이클이 생기면 Deadlock 근데 자원 안의 instance의 개수가 중요한데, instance의 개수가 여러 개면 데드락이 발생하는지 따져봐야함 데드락의 처리 방법 Deadlock Prevention 데드락을 미연에 방지하는 방법 중 Prevention은 가
Computer Science
-
OS
#
OS
2024.12.31
· Updated 2025.01.01
Detail
1
2
© Churnobyl 성철민
Contact: tjdcjfals@gmail.com