본문 바로가기

C.E/OS

windows7 원격 데스크탑 멀티 유저 로그인 (멀티세션) //멀티세션 관련된 글을 찾다보니 좋은 글이 있어서 담아왔습니다. 추가로 안될 경우 글을 추가하여 적어두겠습니다. //문제나 요청있을시 글을 삭제하겠습니다. 추가 : Windows7 Service Pack 1 (Build 7601) 은 여기 파일을 받아 사용하세요!! windows xp 에서 원격 데스크탑으로 여러 유저로 멀티 로그인하다.. windows 7으로 업글하니 역쉬 안되더군요... 서버 버젼은 좀 부담스러워서.... 좀 찾아서 결국 성공했습니다. 윈도우 7에서 원 격데스크탑을 멀티 유저 로그인 가능하게 하는 파일입니다. 압축을 푸시고.. 1. install.cmd 파일을 관리자 권한으로 실행 하시고.. (반드시 오른쪽 마우스를 클릭하셔서 관리자 권한으로 실행.) 2. 시작+R -> gpedit.. 더보기
CCL @ KEY * CCL표기를 따로 많이 해두지 않았지만 블로그의 글들은 지금 이 글에 적용 된 CCL과 같은 저작권을 둡니다. (원작자와 같음) * OS관련 검색을 할 때에는 특정한 키워드를 검색을 해서 찾으시는 것을 추천합니다. 더보기
Deadlock 교착상태(Deadlock) ( = 무한대기) 다중 프로그래밍 환경에서 두 개의 프로세스가 서로 다른 프로세스가 가지고 있는 자원을 기다리고 있으며 자신이 차지하고 있는 자원을 내놓지 않는 현상으로 이 두 프로세스에게는 영원히 처리기를 줄 수 없게 된다. 가. 교착상태 필수조건 ① 상호배제(mutual exclusion) : 어느 자원에 대해 한 프로세스가 이미 사용중이면 다른 프로세스는 기다려야 하는 것 ② 점유와 대기(wait for) : 하나 이상의 자원을 할당받은 채로 나머지 자원을 할당 받기 위해 다른 프로세스의 자원이 해제되기를 기다리는 프로세스가 존재하는 경우 ③ 비중단(no Preemption) : 자원을 할당받은 프로세스로부터 자원을 강제로 빼앗지 못하는 것 ④ 환형대기(circular w.. 더보기
Process Synchronization - Synchronization Hardware Synchronization Hardware, 하드웨어 동기화 Critical Section Problem의 경우 단일 처리기 환경에서는 저번 포스팅의 얘기했던 알고리즘과 같이 Interrupt를 방지함으로써 간단하게 해결할 수 있다. 하지만 이는 다중 처리기 환경의 경우에는 적용할 수 없다. 다중 처리기 환경에서는 인터럽트가 안 된다는 메시지를 모든 처리기에 전달해야 하기 때문에 시간이 오래 걸리며 또한 메시지를 확인하기 위해서 Critical Section에 들어가는 것을 지연시키기 때문에 비효율적이다. 그렇기 때문에 많은 Hardware들이 특별한 하드웨어 명령어들을 제공하고 있다. 이번 포스팅에서는 그 중에서 가장 대표적인 Test-and Set 명령어를 알아보도록 하자. Test-and Set을.. 더보기
Process Synchronization - Critical Section Problem Critical Section Problem, 임계 구역 문제 Critical Section이란 Process 또는 Thread들이 공통 변수들을 변경하고, 테이블을 갱신하며, 파일의 쓰기 작업들을 수행하는 구역을 말한다. 이전 포스트에서 말한 Race Condition이 일어 날 수 있는 구역을 말하는 것이다. (이제부터 포스팅의 편의를 위해 Thread를 중점으로 설명하겠다.) 사실 상 이런 Race Condition문제의 경우 한 Thread가 Critical Section에 들어갔을 경우 다른 Thread들은 해당 구역으로의 접근을 배제해야 한다. 하지만 무조건적으로 접근을 배제 할 수는 없기 때문에 해결 방법에는 몇 가지 요구 사항이 존재한다. 1. Mutual Exclusion, 상호배제 : .. 더보기
Process Synchronization - Process Synchronization Process Synchronization, 프로세스 동기화 Cooperation Process, 협력적 프로세스는 시스템내에서 실행중인 다른 프로세스의 실행에 영향을 주거나 영향을 받는 프로세스를 말한다. 간단하게 서로 다른 Process들이 서로 영향을 준다는 얘기다. 이러한 Cooperation Process(이하 ,CP)를 위한 방법으로는 크게 두 가지가 있다. 1. 논리적 데이터 주소를 공유 2. 같은 데이터 파일을 공유 첫 번째 방법이 우리가 흔히 알고 있는 Thread를 말한다. 사실상 두 가지라고 써있지만 실질적으로는 같은 데이터를 사용하는 것을 CP라고 하는 것이다. 하지만 공유된 데이터를 동시에 접근하면 데이터의 불일치가 발생한다. 이러한 데이터 불일치를 설명하기 좋은 경우가 Bound.. 더보기
CPU Scheduling - Scheduling Algorithm_6 Multiple -Processor Scheduling(이하 MPS), 다중 처리기 스케쥴링 이전까지 소개했던 알고리즘들은 Processor 즉, 처리기가 하나일때의 알고리즘들이다. 그렇다면 만일 Processor가 여러개라면 어떻게 스케쥴링을 해야할까? Processor가 여러개라고 해도 Processor를 다루는 방식에도 차이가 있다. 예전 포스트에서도 소개 한적이 있는데 바로 그것이 Symmetric( or Homogeneous) Multi-Processing(이하 SMP)과 Asymmetric( or Heterogeneous) Multi-Processing(이하 AMP)이다. 여러개의 Processor가 있으면 Load Sharing(부하 분담, 많은 처리량을 분담해서 처리)이 가능해 지고 각 P.. 더보기
CPU Scheduling - Scheduling Algorithm_5 Multilevel Queue(이하 MQ) Scheduling Algorithm, 멀티레벨 스케쥴링 알고리즘 MQ 알고리즘은 Process를 종류별로 구분하여 그룹으로 만들고 그 그룹별로 Queue를 제공한다. 그리고 그 그룹별로 별도의 Priority를 주어 Process를 수행하는 방식이다. 즉, 별도의 Priority를 가진 Ready Queue를 여러개로 나눈 알고리즘이다. MQ 알고리즘에서 각각의 Queue들은 별도의 스케쥴링 알고리즘을 가지고 있다. Process들은 영구적으로 한 Queue에 소속되어 수행되는데 각 Qeueu별로 우선순위를 가지고 있기 때문에 각각 다른 수행 시간을 가지게 된다. 하지만 이런 알고리즘의 가장 큰 문제점은 Starvation이다. 때문에 Aging기법이 필요하게.. 더보기