cs 상식/운영체제(6)
-
데드락
데드락이란? 교착상태 :여러 프로세스가 서로 다른 프로세스의 작업이 끝나기를 기다리다가 아무도 작업을 진행하지 못하는 상황을 교착상태라고 한다. ex) 퇴근길 (꼬리물기를 해서 도로가 마비 되었을 경우 앞에서 길을 터줘야 하는 데 이러지도 저러지도 못하는 상황이다 이럴때는 누군가가 길을 터줘야 한다,) =이게 발생하는 이유는 공유자원입니다. 퇴근 예시에서 공유자원은"도로"이다 공유 되는 도로를 서로 차지하려다가 교착상태가 발생하게 된다. ex)유명한 예시 / 식사하는 철학자 1.원형으로 된 탁자에 맛있는 음식이 있고 의자가세개가 있다 2.각자 앉아서 먹으려고 하는데포크는 3개이다. 3.음식을 먹으려면 2개씩 포크가 필요하다 4.한 철학자가 음식을 먹는 동안 다른 철학자가 기다린다. =이렇게 되면 문제가 ..
2022.11.16 -
프로세스 동기화
프로세스간 통신 : 프로세스는 독립적으로 실행되기도 하지만 다른 프로세스랑 데이터를 주고 받으며 통신 할수도있다 통신은 한컴퓨터 내에서 실행하고 있는 다른 프로세스랑 할수있고 네트워크와 연결된 다른 컴퓨터 프로세스랑도 할수았다 프로세스간 통신의 종류 첫번째 한컴퓨터 내에서는 프로세스간 통신을 하는 방법 파일과 파이플 이용하는 방법 파일: 통신을 하려는 프로세스들이 하나의 파일을가지고 읽고 쓰는 방법이다 파이프: 운영체제가 생성한 파이프를 이용해 데이터를 읽고 쓰는것이다. 두번째 쓰레드를 이용한 방법 쓰레드는 코드 ,데이터, 힙 영역을 공유하고 SKACK만 각각 자신의 것이 있다 DATA있는 전역 변수나 힙을 이용하면 통신이 가능히다. 세번째 네트워크를 이용한 방법이다. 운영체제가 제공하는 소켓통신이나 ,..
2022.11.15 -
CPU스케줄링 (2)
SJF(Shortest Job First) :Burst Time이 짧은 작업 먼저 한다. 이런 알고리즘을 만든다 , SJF(Shortest Job First) 만든다" 짧은 작업 먼저" 문제가 있다, 어떤 프로세스가 얼마나 실행될지 예측하기 힘들다 Burst Time이 긴 프로세스는 실행이 안 될수 있다. RR FIFO: 알고리즘은 시분활처리에는 어렵고 일괄처리에 적합하다 SJF: 프로세스의 종료시간을 예측하기 힘들다. RR(Round Robin) :가장 단순한 FIFO알고리즘에서 단점을 해결해서 나온것 , 먼저 들어온 프로세스가 끝나야 다른 프로세스가 시작이 된다는 문제점을 해결하기 위해서 할당시간을 지정하고 할당 시간이 지나면 강제로 다른 프로세스에게 일정시간 만큼 CPU를 할당한다, 강제로 CPU를..
2022.11.14 -
CPU스케줄링
CPU스케줄링 개요 컴퓨터자원 : 필수장치인 (CPU,메모리) 그리고 주변장치로는 (하드디스크나 , 키보드 , 마우스) 있다. CPU ;프로그램을 실행시키면 메모리에 프로세스가 생성되고 각 프로세스에는 1개 이상의 쓰레드가 있습니다. 프로세스들은 CPU를 차지 하기 위해 운영체제의 명령을 기다리고 있습니다. CPU 스케줄링: 운영체제는 모든 프로세스에게 CPU를 할당/해제 하는데 여기서 스케줄러(운영체제) 가 고려해야 할 사항은 두가지가 있다. 어떤 프로세스에게 CPU리소스를 줘야 하는가?( 메모리에는 수많은 프로세스들이 있는데 어떤 프로세스에게 CPU프로세스를 줘야 하는 가? , 하나만 주면 다른 프로세스 불만이 있다) CPU를 할당 받은 프로세스가 얼마의 시간동앞 CPU를 사용하는가? 오늘날은 시분활..
2022.11.14 -
프로세스와 쓰레드
프로그램과 프로세스 프로그램? 프로그램은 하드디트스 등과 같은 저장장치에 저장된 명령문의 집합체이다. ex)애플리케이션 ,앱 , 윈도우 운영체제(.exe)와 같다 . 프로세스? 실행중인 프로그램 이다. ex) 저장장치(HDD,SSD) 하드디스크에 저장된 프로그램이 메모리에 올라 갔을때 (RAM) 실행중인 프로그래 프로세스라고 한다. 프로그램: 컴퓨터에서 하드디스크 즉 저장장치만 이용하는 수동적인 존재이다. 프로세스: 메모리도 사용하고 운영체제의 CPU스케줄링 알고리즘에 따라서 CPU도 사용하고 입출력 작업도 하는 능동적인 존재이다. 프로세스 구조? 프로세스 구조: 코드영역: 자신이 실행하는 코드가 저장되어 있다. DATA: 전역, static 변수 저장 되어 있다. STACK:지역변수 int a=1; 함..
2022.11.09 -
운영체제 들어가기
운영체제 개요 ex) 개인용 컴퓨터: windows, 맥os 대형컴퓨터, 서버용:유닉스나 리눅스 스마트폰,태블릿: 안드로이드 ,ios 네비게이션 ,스마트워치,냉장고 ,세탁기:임베디드 운영체제 Q컴퓨터는 운영체제가 없이도 동작을 할 수 있다? =컴퓨터는 운영체제가 없이도 동자을 할수 있지만 유연하지 못하다. EX)유선 전화기는 통화 기능밖에 안되지만 스마트폰은 다양하게 사용가능하다. 운영체제가 하는일 1.운영체제가 하는 일중에 첫번째는 프로세스를 관리한다 ex)cpu가를 독차지해 다른 것이 안될수있다. 2. 메모리관리 모든 프로그램은 메모리에 올라와서 동작을 한다. 오늘날 운영체제는 여러프로그램을 동시에 실행시키기에 관리 3. 하드웨어 관리 운영체제는 사용자의 하드웨어 대한 접근을 막는다.하드디스크에 데이..
2022.11.09