전체 글669 운영체제의 병행 프로세스, 병행성 문제, 세마포어, 상호배제와 동기화 해결 세마포어 자바 구현 코드 1. 병행 프로세스 병행성(Concurrency) => 여러 개의 프로세스 또는 쓰레드가 동시 수행되는 시스템의 특성 병행 프로세스: 동시 수행되는 여러 개의 프로세스 또는 쓰레드 1개의 CPU: 인터리빙 형식 => CPU 입장에서는 순차적으로 처리하는 것 여러 개의 CPU: 병렬 처리 형식 멀티 프로세서 시스템에서의 메모리 구조에 따라 - 강결합 시스템 (공유 메모리 구조) - 약결합 시스템 (분산 메모리 구조) 약결합 시스템에서는 CPU 마다 별도 메모리를 갖는 것. 독립 프로세스 - 수행중인 다른 프로세스에 영향을 주지도 받지도 않음 - 데이터 및 상태를 다른 프로세스와 공유하지 않음 - 프로세스의 실행 -> 결정적: 실행 결과는 입력에 의해서만 결정됨 -> 재생가능 : 같은 입력에 대해 항상 동일.. 2023. 6. 15. 프로세스 스케줄링, 운영체제 스케줄링 알고리즘 1. 프로세스 스케줄링 스케줄링 - 여러 가지 작업의 처리순서를 결정하는 것 - 예: 프로세스 스케줄링, 디스크 스케줄링 등 프로세스 스케줄링 - 주어진 프로세스가 여러 개인 경우, 프로세스 처리순서를 결정하는 것 상위단계 스케줄링 : 시스템의 자원을 효율적으로 이용할 수 있게 함 활성화된 작업들 내에서 하위단계 스케줄링 => 준비큐에서 CPU와 조율 중간단계 스케줄링: 시스템에 대한 단기적인 부하를 조절하도록 함 하위 단계 스케줄링 - 준비 큐에 있는 프로세스를 선택하여 사용 가능한 CPU를 할당(디스패치)하는 역할 - 수행 주체: 디스패처(dispatcher) 스케줄링의 기본 목표 - 공정성: 모든 프로세스가 적정 수준에서 CPU 작업을 할 수 있게 함 - 균형: 시스템 자원이 충분히 활용될 수 있게.. 2023. 6. 15. 운영체제 프로세스와 쓰레드 1. 프로세스 프로세스란? - 실행중인 프로그램 - 프로그램: 동작을 하지 않는 정적, 수동적 개체 - 프로세스: 동작을 하는 능동적 개체 운영체제로부터 자원을 할당 받아 동작한다. - 자원: CPU, 메모리, 입출력장치, 파일 등 - 동작: CPU가 프로세스의 명령을 실행 운영체제(프로세스 관리자)가 처리하는 작업 - 프로세스를 생성 및 종료 - 프로세스를 실행시키기 위한 스케줄링 작업 - 프로세스의 상태 관리 프로세스의 구성 - 메모리 구조 - 프로세스 제어 블록 메모리 구조 - 프로그램 실행에 직접 필요한 코드와 데이터 코드 영역: 프로그램 자체 데이터 영역: 프로그램 실행시 필요한 데이터 -> 상수나 변수의 값(static), 서브 프로그램의 호출 상태 등 프로세스 제어블록 (Process Con.. 2023. 6. 14. 운영체제, 구성, 유형 1. 운영체제란 무엇인가? 하드웨어 소프트웨어 운영체제 - 대표적인 시스템 소프트 웨어 - 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모음 역할 - 컴퓨터 시스템의 자원 관리 -> 자원: 하드웨어 자원, 소프트웨어 자원, 데이터 -> 저장장치에서 데이터 읽어오기, 키보드나 마우스 제어, 프로그램 실행시 CPU와 메모리를 효율적으로 관리 - 사용자 지원 -> 사용자가 내린 명령을 해석하여 실행하게함 -> 사용자와 하드웨어 사이의 매개체 역할 -> 사용자에게 편의성 제공 목적 운영체제가 없던 초기의 컴퓨터 시스템 -> 응용 프로그램이 직접 컴퓨터 시스템의 자원 제어 -> 응용 프로그램 개발자는 하드웨어 제어 방법을 잘 알아야 함 => 여러 사용자가 하드웨어.. 2023. 6. 14. 코드 변환기, 패리티 발생기/검사기, BCD-세븐 세그먼트 표시기, 인코더 1. 코드 변환기 디지털 시스템에서 교환할 정보에 대해 다른 코드를 사용한다면 코드 변환이 필요하다. 코드 변환기(code converter) - 하나의 2진 코드를 다른 2진 코드로 바꾸어 주는 조합논리회로 - 다양한 코드 변환이 존재 BCD-3초과 코드 변환기 : BCD 코드를 3초과 코드로 변환해주는 변환회로 - BCD 코드라는 것은 2진수를 이용해서 0 ~ 9 까지 10진수 표현하는 것 - 3초과 코드라는 것은 입력코드에다가 3을 더해줘서 나오는 것 - 4비트를 이용하여 10진수 표현 - 따라서 4개의 입력과 4개의 출력이 필요 - 16가지 조합이 나오지만 총 10개의 조합만 사용하기 때문에 나머지 11 ~ 15는 무관조건으로 처리 설계 과정 1) 진리표 작성 2) 카노우 도표를 이용하여 간소화(.. 2023. 6. 14. 이전 1 ··· 61 62 63 64 65 66 67 ··· 134 다음