본문 바로가기

CS/운영체제10

5) 프로세스 동기화 1. 프로세스 간 통신의 개념 프로세스가 다른 프로세스와 데이터를 주고받는 것을 말하며 프로세스 내부 데이터 통신, 프로세스 간 데이터 통신, 네트워크를 이용한 데이터 통신이 있습니다. 프로세스 내부 데이터 통신 : 하나의 프로세스 내에 2개 이상의 스레드가 존재하는 경우의 통신 전역 변수나 파일을 이용하여 데이터를 주고받습니다. 프로세스 간 데이터 통신 : 같은 컴퓨터에 있는 여러 프로세스끼리 통신하는 경우 공용 파일 또는 운영체제가 제공하는 파이프를 사용하여 통신합니다. 네트워크를 이용한 데이터 통신 : 여러 컴퓨터가 네트워크로 연결 되어 있을 때 다른 컴퓨터끼리 프로세스는 소켓을 이용하여 데이터를 주고받습니다. 이처럼 소켓을 이용하는 프로세스 간 통신을 네트워킹 이라고 합니다. 프로세스 간 통신 방.. 2020. 9. 10.
4) CPU 스케줄링 1. CPU 스케줄링 CPU 스케줄러는 프로세스가 생선된 후 종료될 때까지 모든 상태 변화를 조정하는 일을 하며, CPU 스케줄링은 CPU 스케줄러가 하는 모든 작업을 말합니다. CPU 스케줄러는 프로세서 스케줄러 라고도 합니다. 2. 스케줄링의 단계 고수준 스케줄링 : 시스템 내의 전체 프로세스 수를 조절하는것입니다. (장기 스케줄링, 작업 스케줄링 이라고도 합니다.) 전체 시스템의 부하를 고려하여 작업을 시작할지 말지를 결정합니다. 이 결정에 따라 결정되는 시스템의 전체 프로세스 수를 멀티프로그래밍 정도 라고 합니다. 중간 수준 스케줄링 : 전체 시스템의 활성화된 프로세스 수를 조절하여 과부하를 막는 것입니다. 시스템의 부하를 조절하려면 고수준 스케줄링 대신 중간 수준 스케줄링을 고려해야합니다. 시스.. 2020. 9. 6.
3) 프로세스와 스레드 1. 프로그램과 프로세스 프로그램 : 저장장치에 저장되어 있는 정적인 상태 프로세스 : 실행을 위해 메모리에 올라온 동적인 상태 2. 프로세스의 상태 운영체제에서는 여러가지 이유로 프로세스의 상태가 있는데 생성 상태, 준비 상태, 실행 상태, 대기 상태, 완료 상태 5가지가 있습니다. 생성 상태 : 프로그램을 메모리에 가져와 실행 준비가 완료된 상태 준비 상태 : 실행을 기다리는 모든 프로세스가 자기 차례를 기다리는 상태입니다.(실행될 프로세스를 CPU 스케줄러가 선택합니다.) 실행 상태 : 선택된 프로세스가 타임 슬라이스를 얻어 CPU를 사용하는 상태입니다. 프로세스 사이의 문맥 교환이 일어납니다. 대기 상태 : 실행 상태에 있는 프로세스가 입출력을 요청하면 입출력이 완료될 때까지 기다리는 상태입니다... 2020. 9. 4.
2) 컴퓨터의 구조와 성능 향상 1. 하드웨어의 구성 컴퓨터는 CPU, 메인메모리, 입력장치, 출력장치, 저장장치로 구성됩니다. 컴퓨터로 하는 작업은 대부분 CPU와 메인메모리의 협업으로 이루어지기 때문에 CPU와 메인메모리는 필수장치로 분류되고 그 외의 부품은 주변장치라고 합니다. 2. 폰노이만 구조 CPU, 메모리, 입출력장치, 저장장치가 버스로 연결되어 있는 폰노이만 구조에서는 모든 프로그램이 메모리에 올라와야 실행이 가능합니다. 3. CPU CPU는 명령어를 해석하여 실행하는 장치로 산술논리 연산장치, 제어장치, 레지스터로 구성됩니다. 산술논리 연산장치 - 요리사가 재료를 삶거나 찌거나 볶듯이 산술논리 연산장치는 데이터의 덧셈, 뺄셈, 곱셈, 나눗셈 같은 산술 연살과 AND, OR 같은 논리 연산을 수행합니다. 제어장치 - CP.. 2020. 9. 1.
1) 운영체제의 개요 1. 운영체제의 정의 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어입니다. 2. 운영체제의 역할과 목표 운영체제의 역할과 목표는 다음과 같이 연결지을 수 있습니다. 운영체제의 역할 운영체제의 목표 자원 관리 효율성 자원 보호 안정성 하드웨어 인터페이스 제공 확장성 사용자 인터페이스 제공 편리성 1) 자원 관리와 효율성 운영체제는 키보드, 네트워크카드, 사운드카드 등의 컴퓨터 자원을 응용 프로그램에 나누어주어 사용자가 원활하게 작업할 수 있도록 돕습니다. 만약 자원을 요청한 프로그램이 여러 개라면 적당한 순서로 자원을 배분하고 적절한 시점에 자원을 회수하여 다른 응용 프로그램에 나눠줍니다. 이러한 자원을 같은 자원이라도 효율적으로 관리하는 것이 운영체제의.. 2020. 9. 1.